Linux中SGID的子文件夹中的文件权限

时间:2015-04-27 13:06:47

标签: linux permissions file-permissions

我有一个基于Ubuntu 14.04的文件服务器。许多用户确实存在于其中每个用户属于其自己的组(例如lucas:lucas),但也存在于称为“sambashared”的公共组中。

lucas@arturito:~$ cat /etc/group | grep lucas
adm:x:4:lucas,syslog
lp:x:7:saned,lucas
cdrom:x:24:lucas
sudo:x:27:lucas
dip:x:30:lucas
plugdev:x:46:lucas
lucas:x:1000:
lpadmin:x:111:lucas
sambashare:x:112:lucas

/ home:/ home / share下还有一个共享文件夹。这样的文件夹启用了SGID位,因此在其下创建的文件将属于“sambashare”组:

lucas@arturito:/home$ ls -l | grep samba
drwxrwsr-x 10 share      sambashare  4096 Apr 24 13:44 share
lucas@arturito:/home/share$ touch test.text
lucas@arturito:/home/share$ ls -l test.text
-rw-rw-r-- 1 lucas sambashare 0 Apr 24 14:02 test.text

因此,如前所述,在/ home / share下创建的文件创建得很好(lucas:sambashare)。我遇到的问题是在/ home / share的更深层子文件夹上创建文件:

lucas@arturito:/home/share/99_varios$ touch file.txt
lucas@arturito:/home/share/99_varios$ ls -l | grep file.txt
-rw-rw-r--  1 lucas lucas         0 Apr 24 14:19 file.txt

如果你之前看到,文件file.txt属于lucas:lucas,但我希望它是lucas:sambashare。

关于如何解决这个问题的任何想法?或者,它可以解决吗?

提前致谢,

卢卡斯

1 个答案:

答案 0 :(得分:0)

可能的解决方法是使用facl(文件访问控制列表)。

setfacl -m default:group:sambashare:rw /home/samba

/ home / samba 及其子文件夹中的所有新文件将归 lucas:lucas 所有,但 sambashare 组将已阅读和写权限。

getfact (1)setfact (1)中的更多内容。