How to set file permission for multiple users in linux

Dev*_*val 4 linux filesystems file-permissions

format.sh我在linux 操作系统中有一个文件。

有五个用户a, b, c& de

如何为不同用户设置文件权限:

  • a-> 读、写和执行
  • b-> 读取并执行
  • c-> 阅读
  • d-> 执行
  • e-> 没有权限

我熟悉使用chmod, chown&进行基本文件权限修改,chgrp但我不确定如何为不同用户授予单个文件的权限?

use*_*709 7

正如 Romeo Ninov 所建议的,如果您的文件系统支持,您可以使用 ACL(访问控制列表)为文件定义复杂的权限。

\n

例如,您可以使用以下方式定义问题中的权限:

\n
setfacl -m u:a:rwx,u:b:r-x,u:c:r--,u:d:--x,u:e:--- format.sh\n
Run Code Online (Sandbox Code Playgroud)\n

您还可以使用以下命令检查文件的权限:

\n
getfacl format.sh\n
Run Code Online (Sandbox Code Playgroud)\n

如果用户a也是文件的所有者format.sh,您可以为该用户设置使用标准权限,而不是在 ACL 中列出她。

\n

您应该注意,正如 Kamil Maciorowski\xe2\x80\x99s 评论所解释的那样,在不授予用户读取脚本的权限的情况下授予用户执行脚本的权限是没有用的。您还可以考虑,可以读取程序但不能执行该程序的用户可能会复制该程序并授予自己执行其副本的权限。

\n

  • 关于只读文件:您可以执行“bash format.sh”之类的操作,而不是复制文件,然后您将执行脚本:) (3认同)