如何在linux文件夹中设置默认组权限

我有网站文件夹调用

/home/john/public_html 

现在我想要什么文件被复制到该文件夹​​中创build的public_html或新文件,那么这些文件应该有约翰,默认的读/写权限,无论谁是该文件的所有者。

此外,我将通过FTP复制/创build文件/目录,将该系统在那里工作,或者用ftp文件将不具有组读/写权限

我的意思是将umask工作只有文件创build/复制内壳甚至shell以及

你可以使用ACL来实现。 有关详细信息,请查看setfacl / getfacl的手册页。

不幸的是,语法有点复杂。 尝试像这样:

 setfacl -su::rwx,g::rx,o::rx,m:rwx,u:john:rwx,d:u:john:rwx /home/john/public_html 

那么,umask仍然适用于新创build的文件,但是你也可以使用ACL“覆盖”umask:

 setfacl -su::rwx,g::rx,o::rx,m:rwx,u:john:rwx,d:u:john:rwx,d:u::rwx,d:g::rx,d:o::rx,d:m:rwx /home/john/public_html 

我不完全确定你要完成什么,但看起来可以通过组权限和目录上的setgid位来解决。

 chown john.john-contrib / home / john / public_html
 chmod 2775 / home / john / public_html

然后,当人们创build文件时,他们将归属于组“john-contrib”。 尽pipe每个人都需要成为john-contrib的成员才能将文件放在John的目录中。

如果你真的希望每个人都在没有任何安全控制的情况下写入John的目录中,那么chmod 2777就可以工作,但是这对于/ home文件系统是一个有点疯狂的应用。

如果您是服务器的根目录,则无疑可以configurationFTP服务器以对上载的文件设置特定的权限。 为了使任何文件移动到public_html获得R / W的约翰是另一个交易。 也许你可以创build一个脚本来改变public_html中所有文件的组。 然后确保脚本每1秒钟循环一次。 我不会说这是一个好方法,但我想不出另一个…