在 Linux 文件系统中,每个文件都附加了一些元数据,这些元数据控制着谁可以访问它,以及他们可以做什么。. 人类用户和系统用户受这些规则的约束。. 为文件的所有者和组所有者以及所有其他人分别设置权限。. 唯一能够获得并授予对任何文件执行任何操作权限的用户(无论所有权如何)是 root。. 普通用户可以使用 sudo
访问 root 的权限。.
读取、写入和执行属性对于文件和目录具有不同的含义 :
还有特殊权限位。. 一种是 setuid,它允许执行程序的用户以文件所有者的身份执行此操作。. 其主要用途是 sudo
程序。. 另一个是 setgid,它使用户的有效组 ID 成为拥有该文件的组的 ID。. 这样做的主要用途是创建需要由多个用户共享的目录,以便组成员可以访问在其中创建的文件。. 另一个是“粘性位”,仅适用于目录,它限制重命名和删除其中文件的权限。.
文件权限设置也称为文件的模式,由 chmod
(修改 更改模式 )命令。. chmod
识别 符号 符号,使用字母 u
(业主 )克
(集团 )(其他 )和
一个
全部到 +
(添加 )或 -
删除权限。. chmod
还可以识别 八进制 符号,例如 644
对应于 -rw -r --r --
使用 chown
命令更改文件所有权。.
系统中创建的文件或目录的默认模式由 umask
定义 除了传统的权限系统之外,提供更精细 -粒度控制的扩展是 ACL (访问控制列表 )系统,它允许为单个用户指定权限。.