我只想知道如何使文件仅对某些组可执行。
我有一个具有此权限的文件/bin/ping
rwxr-xr-x root root 34248 oct 14 2010 /bin/ping
例如,如何使其仅对名为"朋友"的组的用户可执行?
如果群组"朋友"已存在,您可以更改群组依据
chown root:friends /bin/ping
然后通过以下方式使其对该组
可解释
chmod g+x /bin/ping
我会为此使用 ACL。首先撤消具有标准 unix 权限的其他所有人的权限
chmod 754 /bin/ping
然后为您的群组设置规则
setfacl -m "g:friends:r-x" /bin/ping
原始权限为:
rwxr-xr-x root root 34248 oct 14 2010 /bin/ping
这意味着:
- 根可以读取+写入+执行 (RWX)
- 根组中的每个人都可以读取+执行 (R-X)
- 其他人都可以读取+执行(最后一个"R-X"三元组)
因此,要只允许"朋友"组执行它,您必须做两件事:
- 将群组更改为好友 (
chgrp friends /bin/ping
) - 防止"其他人"执行(
chmod o-x
- "o"代表"其他")
这样列表就会看起来像这样
rwxr-xr-- root friends 34248 oct 14 2010 /bin/ping
最好始终测试这样的事情,以确保(通过切换到另一个用户并确保出现错误)。