chmod

改变文件和目录的权限。

简介

chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...

说明

CHMOD改变的每一个给定的文件的文件权限,它可以是要做出权限变化的特定符号,或是一个八进制数代表的新权限的位模式。

一个特定符号模式的格式是[ ugoa ...][[ +-= ][ perms ...]...],权限设置要么是零个或多个字母 rwxXst,或单个字母。可以给出多个符号模式,以逗号分隔。

一个字母的组合[ ugoa ...]控制改变哪些用户访问该文件:拥有它(u)的用户,同组用户(g),其他不同组用户(o),或所有用户(a)。如果这些都不是,其效果同(a)一样,但是在umask中设置的位将不会受影响。

操作符'+'使得用户选择的权限被追加到每个指定文件,(操作给指定文件添加所选权限);操作符'-'使得这些权限被撤消;'='使得指定文件只具有这些权限。

字符串'rwxXstugo' 给用户选择新的属性:(r)读权限、(w)写权限、(x)执行权(或对目录的访问权),(X)只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性,(s)同时设定用户或组ID,(t)粘滞位(保存程序的文本到交换设备上),(u)目标文件属主,(g)目标文件属主所在的组,(o)其他用户。(因此,'chmod g-s file'撤消sgid位,'chmod ug+s file'同时设置了suid和sgid位,'chmod o+s file' 则没有进行任何设置)

数字模式是一到4个八进制数,每个数由位权为4,2,1的3位叠加而得。被省略掉的数字缺省设置为零。 第一位为4时为suid,2时为sgid,1时为粘滞位,第二位设置文件所有者的权限:可读(4),可写(2),可执行(1);第三位设置了文件所在组其他用户的权限,值如上;第四位设置了其他组的用户的权限,值同上。

由于chmod的系统调用不支持,chomd命令不能改变符号链接的权限。由于符号链接的权限从不使用,所以这也不成问题。无论如何,由于每个符号连接都可在命令行中列出,chmod改变了所指文件的属性。相反,chmod在递归目录遍历时忽略所碰到的符号连接。

setuid和setgid

如果该文件的组ID不匹配用户的有效组ID或用户的补充组ID之一,chmod将清除文件设置组ID,除非用户有适当的权限 。额外的限制可能导致的用户ID和设置组ID位模式或RFILE被忽略。此行为取决于基础的政策和功能CHMOD系统调用。当有疑问时,请检查底层系统的行为。

CHMOD保留目录的用户ID和组ID设置,除非你明确指定。您可以设置或清除位,使用符号模式,如u+s和gs,并可以使用数字模式设置(但不明确)。

限制删除标志或粘滞位

限制删除标志或粘滞位是一个单位,其解释取决于文件类型。目录,它可以防止未经授权的用户删除或重命名目录中的文件,除非他们自己的文件或目录,这就是所谓的限制删除标志的目录,常见的如可写的目录/tmp中。经常在一些旧系统文件,位保存程序的交换设备上的文字图像,所以在运行时,它会加载更快;这就是所谓的粘滞位。

选项

更改每个文件的模式。

-c, --changes 当有一个变化时显示冗长报告。

--no-preserve-root 不专门处理'/'(默认)。

--preserve-root “/”出现递归则操作失败。

-f, --silent, --quiet 抑制大多数错误信息。

-v, --verbose 详细说明权限的变化。

--reference=RFILE 使用RFILE的模式,而不是模式值。

-R, --recursive 递归改变目录及其所有子目录的文件的权限。

--help 显示帮助并退出。

--version 输出版本信息并退出。

每种模式都来自形式'[ugoa]*([-+=]([rwxXst]*|[ugo]))+'。

AUTHOR

Written by David MacKenzie and Jim Meyering. Report bugs to bug-coreutils@gnu.org.

COPYRIGHT

Copyright © 2006 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License. There is NO WARRANTY, to the extent permitted by law.

Categories: