我希望所有文件和目录都继承 tvshow 文件夹的权限。
我正在尝试设置 GID 位,但我不知道为什么它不起作用。我正在使用这个来源为我的命令。
david@server:~/media$ ls -l
drwxrwx--- 11 root media_users 11 Jul 23 18:58 tvshows
david@server:~/media$ sudo chmod 2770 tvshows/
david@server:~/media$ ls -l
drwxrwx--- 11 root media_users 11 Jul 23 18:58 tvshows
执行命令后权限没有改变。
我也尝试过使用chmod g+s
编辑:
david@server:~/media$ sudo -g media_users chmod 2770 tvshows/
chmod: changing permissions of ‘tvshows/’: Operation not permitted
安装选项:
david@server:~/media$ sudo zfs get mountpoint storagedata
NAME PROPERTY VALUE SOURCE
storagedata mountpoint /mnt/storagedata local
david@server:/proc$ cat mounts
storagedata /mnt/storagedata zfs rw,relatime,xattr,noacl 0 0
答案1
从man chmod
:
SETUID AND SETGID BITS
chmod clears the set-group-ID bit of a regular file if the file's group
ID does not match the user's effective group ID or one of the user's
supplementary group IDs, unless the user has appropriate privileges.
Additional restrictions may cause the set-user-ID and set-group-ID bits
of MODE or RFILE to be ignored.
在我看来,这意味着media_users
不是发出命令的 root 用户的有效组。要以 media_users 作为有效组执行命令,请尝试:sudo -g media_users chmod 2770 tvshows/
。
答案2
我认为你必须将其更改umask
为0002
:
umask 0002