我如何才能将目录的权限更改public
为所有用户仅可读取以及仅sudo
用户(组成员sudo
)具有读/写访问权限。
我更喜欢这样做:
chown root:sudo ~/public
答案1
# make the group 'sudo' the owner of the directory 'public'
chgrp sudo public
# give the group read/write access and others just read access
chmod g=rwx,o=rx public
结果:
ls -ld public
drwxrwxr-x 2 pduck sudo 4096 Feb 4 14:08 public
更新
如果您还想阻止当前所有者pduck
访问该目录(无论其成员资格如何),则将所有权授予root
:
sudo chown root:sudo public
sudo chmod 0750 public
# result:
drwxrwxr-x 2 root sudo 4096 Feb 28 11:32 public
现在只有root
组成员才sudo
具有读/写权限。但root
无论如何都可以访问目录,即使他不是所有者,因此这是安全的。
首先的想法可能是保留所有权并仅减少权利:
sudo chown pduck:sudo public
sudo chmod 0050 public
# gives
d---r-x--- 2 pduck sudo 4096 Feb 28 11:32 public
现在,尽管所有者pduck
无法访问该目录。但(作为所有者)他可以通过自己签发证书来重新获得访问权限chmod u+rwx public
,因此这不安全。