没有使用适当的组甚至父级创建的子目录具有SGID

时间:2016-05-05 18:16:40

标签: linux file-permissions

我有一个SGID位的文件夹:

lucas@arturito:/home$ ls -l | grep share
drwxrwsr-x 11 share      sambashare  4096 May  5 14:54 share

如果我进入分享,我在其中创建了一个文件夹,该文件夹将包含“sambashare'”组。到目前为止,这么好......

lucas@arturito:/home$ cd share/
lucas@arturito:/home/share$ mkdir test
lucas@arturito:/home/share$ ls -l | grep test
drwxrwsr-x  2 lucas sambashare 4096 May  5 15:07 test

现在,如果我在/ home / share / test下移动并创建一个新文件夹,那么该新文件夹将继承该组:SGID正在运行。

lucas@arturito:/home/share$ cd test
lucas@arturito:/home/share/test$ mkdir test1
lucas@arturito:/home/share/test$ ls -l | grep test1
drwxrwsr-x 2 lucas sambashare 4096 May  5 15:09 test1

但是,在/ home / share下我还有其他文件夹,而不是新创建的' test'。如果我移动其中任何一个,并创建一个新文件夹(例如' test2'),该新文件夹将忽略SGID,该组将成为我的组。

lucas@arturito:/home/share$ ls -l | grep 99
drwxrwxr-x  9 share sambashare 4096 May  5 15:11 99_varios

lucas@arturito:/home/share$ cd 99_varios/
lucas@arturito:/home/share/99_varios$ mkdir test2
lucas@arturito:/home/share/99_varios$ ls -l | grep test2
drwxrwxr-x  2 lucas lucas      4096 May  5 15:11 test2

为什么会这样?是不是/ home / share足以让 下面的任何其他目录(新的或旧的)继承/ home / share的小组?

我输了。任何暗示或想法都将受到高度赞赏!

谢谢!

卢卡斯

1 个答案:

答案 0 :(得分:1)

新文件夹将继承该位,但现有文件夹需要明确设置。您可以运行以下命令一次,以在任何现有子文件夹上递归设置它。

find /home/share -type d -exec chmod g+s '{}' \;