linux setfacl权限给不同的用户,并且能够recursion写入

我在同一组中拖拽用户1.用户1:datauser 2.用户2:webuser 3.组:apache

什么设置权限使用setfact的任何一个用户可以创build目录/文件recursion。

例如:directory / web / foo /什么权限/掩码设置(使用setfact),以便datauser / webuser可以在foo目录(recursion)下创build目录。

#datauser : mkdir -p /web/foo/datadir/ #webuser : mkdir -p /web/foo/datadir/webdir #datauser : touch /web/foo/datadir/webdir/datafile.txt #webuser : touch /web/foo/datadir/webfile.txt etc... I try with below command, but when any directory created using webuser:apache, then datauser:apache not able to write under that. setfacl -Rm u:webuser:rwX,d:u:webuser:rwX foo setfacl -Rm u:datauser:rwX,d:u:datauser:rwX foo setfacl -Rm m:rwX,d:m:rwX foo 

该umask和chmod不起作用。
[datauser] $ mkdir foo
[数据库] $ chmod g + ws foo
[datauser] $ umask 002 foo

[datauser] $ getfacl foo
file:foo
所有者:datauser组:apache
标志:-s-
用户:: RWX
组:: RWX
其他:: RX

现在使用webuser创build目录:apache user [PHP:mkdir(/ web / foo / browser,0755,ture); ]目录权限是:[datauser] $ getfacl foo / browser / file:foo / browser /
所有者:apache
组:apache
标志:-s-
用户:: RWX
组:: RX
其他:: RX

现在在浏览器目录下创build文件。 获得许可被拒绝。

[touchau] $ touch foo / browser / command.txt
触摸:不能触摸'foo / browser / command.txt':权限被拒绝

如何使用chmod g+ws /web/foo ? 这将在目录上设置setgidwrite位,这使得所有创build的文件组在该目录中成为apache ,并允许所有apache组用户写入该目录并在其中创build更多目录。

另一件你需要做的就是更新你的umask这样这个组默认有写权限。 所以,你应该在你的启动文件的某个地方添加umask 002 ,以便这个组默认获得写权限。