我在我的Mac OS X服务器上有两个用户,都在“轮子”组中。 如果用户A通过SFTP / FTP创build文件,则用户B可以读取文件,但不能写入文件,因为默认文件权限是644,允许所有者读/写,但只允许组读取。
如何在Mac OS X 10.8上将默认FTP&SFTP文件权限更改为664?
默认的新文件权限由umask设置控制。 您将需要002的umask将权限设置为664。
对于FTP服务器,我通常在ftp服务器configuration文件中看到了umask设置。 对于SFTP来说,因为这与你通常的命令行相关,所以我想你需要为这些用户改变默认的系统umask。 (或者更好,如果你只能为sftp子系统更改umask,那会更好)
也就是说,在我更熟悉的Linux系统上,共享写入function是由一个称为用户专用组(UPG)的scheme处理的。 该scheme为每个新用户创build一个新组,并将其作为主组。 在这些系统中,umask被设置为002,这意味着权限将会出现664(从666 umask减去文件的结果权限,使用777作为dirs)。 在这些系统中,为了在用户之间获得给定目录中的文件的共享写入,通常将目录的组设置为一个共同的组,这两个都是成员,然后执行“chmod g + s directory_name /”。
我对MacOS并不是很有经验,但是发现了一篇很好的文章,谈到在OSX 10.3或更高版本中设置UPG: http : //hints.macworld.com/article.php?story=2006010714524168
我个人会试图找出如何为sftp子系统做到这一点,而不是把它作为一个整体应用到系统中。 我并不完全理解在umask 022附带的系统上将umask更改为全局002的影响。我担心的事情是 – 根由root创build的文件以什么forms存在? 这有什么影响? 什么系统帐户? 等等