chmod(1) - Linux 手册页
名称
chmod - 更改文件模式位概要
chmod [选项]... 模式[,模式]... 文件...chmod [选项]... 八进制模式 文件...
chmod [选项]... --reference=参考文件 文件...
描述
符号模式的格式为 [ugoa...][[+-=][权限...]...],其中权限是来自集合 rwxXst 的零个或多个字母,或者来自集合 ugo 的单个字母。可以给出多个符号模式,用逗号分隔。
字母 ugoa 的组合控制将更改哪些用户的访问权限:拥有该文件的用户 (u)、文件组中的其他用户 (g)、不在文件组中的其他用户 (o),或所有用户 (a)。如果未提供这些字母中的任何一个,则效果就像提供了 a 一样,但 umask 中设置的位不受影响。
运算符 + 使所选的文件模式位添加到每个文件的现有文件模式位中;- 使它们被删除;而 = 使它们被添加,并使未提及的位被删除,但目录未提及的用户和组 ID 位不受影响。
字母 rwxXst 为受影响的用户选择文件模式位:读取 (r)、写入 (w)、执行 (或用于目录的搜索) (x)、仅当文件是目录或已经为某些用户具有执行权限时才执行/搜索 (X)、在执行时设置用户或组 ID (s)、限制删除标志或粘滞位 (t)。您可以指定一个或多个这些字母,也可以指定 ugo 字母中的一个:授予文件所有者 (u) 的权限、授予文件组中其他成员的权限 (g) 以及授予既不在前两种类别中的用户的权限 (o)。
数字模式是从一个到四个八进制数字 (0-7),通过加起来具有值 4、2 和 1 的位来获得。省略的数字假定为前导零。第一个数字选择设置用户 ID (4) 和设置组 ID (2) 以及限制删除或 粘滞 (1) 属性。第二个数字选择文件所有者的权限:读取 (4)、写入 (2) 和 执行 (1);第三个选择文件组中其他用户的权限,具有相同的值;第四个选择不在文件组中的其他用户的权限,具有相同的值。
chmod 永远不会更改符号链接的权限;chmod 系统调用无法更改它们的权限。这没有问题,因为符号链接的权限从不使用。但是,对于命令行上列出的每个符号链接,chmod 都会更改指向文件的权限。相反,chmod 忽略在递归目录遍历中遇到的符号链接。
Setuid 和 Setgid 位
如果文件的组 ID 与用户的有效组 ID 或用户的辅助组 ID 中的一个不匹配,除非用户具有适当的权限,chmod 会清除常规文件的设置组 ID 位。额外的限制可能导致 MODE 或 RFILE 的设置用户 ID 和设置组 ID 位被忽略。此行为取决于底层 chmod 系统调用的策略和功能。如有疑问,请检查底层系统的行为。chmod 除非您明确指定,否则会保留目录的设置用户 ID 和设置组 ID 位。您可以使用符号模式(如 u+s 和 g-s)来设置或清除这些位,并且可以使用数字模式来设置(但不清除)这些位。
限制删除标志或粘滞位
限制删除标志或粘滞位是一个位,其解释取决于文件类型。对于目录,它阻止非特权用户删除或重命名目录中的文件,除非他们拥有该文件或该目录;这称为目录的限制删除标志,通常在可供世界写入的目录(如 /tmp)中找到。对于某些旧系统上的常规文件,该位将程序的文本映像保存在交换设备上,以便在运行时更快地加载;这称为粘滞位。选项
将每个 FILE 的模式更改为 MODE。
- -c, --changes
- 类似于 verbose,但仅在发生更改时报告
- --no-preserve-root
- 不特殊对待 '/'(默认)
- --preserve-root
- 禁止递归地操作 '/'
- -f, --silent, --quiet
- 抑制大多数错误消息
- -v, --verbose
- 为处理的每个文件输出诊断信息
- --reference=参考文件
- 使用 RFILE 的模式代替 MODE 值
- -R, --recursive
- 递归更改文件和目录
- --help
- 显示此帮助并退出
- --version
- 输出版本信息并退出
每个 MODE 的形式为 '[ugoa]*([-+=]([rwxXst]*|[ugo]))+'。
作者
作者:David MacKenzie 和 Jim Meyering。报告 Bug
将 chmod 错误报告给 bug-coreutils@gnu.orgGNU coreutils 主页:<https://gnu.net.cn/software/coreutils/>
通用 GNU 软件帮助:<https://gnu.net.cn/gethelp/>
将 chmod 翻译错误报告给 <https://translationproject.org/team/>
版权
版权所有 © 2010 自由软件基金会。 许可 GPLv3+:GNU GPL 第 3 版或更高版本 <https://gnu.org/licenses/gpl.html>。这是自由软件:您可以自由地修改和重新分发它。在法律允许的范围内,不提供任何担保。
参见
chmod(2)chmod 的完整文档作为 Texinfo 手册维护。如果您的站点上正确安装了 info 和 chmod 程序,则命令
- info coreutils chmod 调用
应该可以访问完整的手册。