<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Chmod</id>
	<title>Chmod - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Chmod"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Chmod&amp;action=history"/>
	<updated>2026-07-03T23:10:34Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Chmod&amp;diff=705362&amp;oldid=prev</id>
		<title>imported&gt;Cheuye：​/* 参考文献 */</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Chmod&amp;diff=705362&amp;oldid=prev"/>
		<updated>2025-08-14T10:39:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;参考文献&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{lowercase}}&lt;br /&gt;
{{NoteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;是一条在[[Unix|Unix系统]]中用于控制用户对文件的权限的命令（&amp;#039;&amp;#039;&amp;#039;ch&amp;#039;&amp;#039;&amp;#039;ange &amp;#039;&amp;#039;&amp;#039;mod&amp;#039;&amp;#039;&amp;#039;e单词前缀的组合）和函数。只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式（八进制数字模式），符号模式指定文件的权限。&lt;br /&gt;
&lt;br /&gt;
== 用法 ==&lt;br /&gt;
&amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt;使用语法舉例：&lt;br /&gt;
 $ chmod [&amp;#039;&amp;#039;options&amp;#039;&amp;#039;] &amp;#039;&amp;#039;mode&amp;#039;&amp;#039;[,&amp;#039;&amp;#039;mode&amp;#039;&amp;#039;] &amp;#039;&amp;#039;file1&amp;#039;&amp;#039; [&amp;#039;&amp;#039;file2&amp;#039;&amp;#039; ...]&lt;br /&gt;
使用ls命令的查看文件或目录的属性&lt;br /&gt;
 $ ls -l &amp;#039;&amp;#039;file&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== 八进制语法 ===&lt;br /&gt;
&amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt;命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制，每三位为一组，它们分别是文件所有者（User）的读、写、执行，用户组（Group）的读、写、执行以及其它用户（Other）的读、写、执行。历史上，文件权限被放在一个比特掩码中，掩码中指定的比特位设为1，用来说明一个类具有相应的优先级。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! # !! 权限 !! rwx&lt;br /&gt;
!二进制&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 读 + 写 + 执行 || rwx&lt;br /&gt;
|111&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 读 + 写 || rw-&lt;br /&gt;
|110&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 读 + 执行 || r-x&lt;br /&gt;
|101&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 只读 || r--&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 写 + 执行 || -wx&lt;br /&gt;
|011&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 只写 || -w-&lt;br /&gt;
|010&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 只执行 || --x&lt;br /&gt;
|001&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 无 || ---&lt;br /&gt;
|000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
例如， &amp;lt;code&amp;gt;765&amp;lt;/code&amp;gt; 将这样解释：&lt;br /&gt;
&lt;br /&gt;
* 所有者的权限用数字表达：属主的那三个权限位的数字加起来的总和。如rwx ，也就是4+2+1 ，应该是7。&lt;br /&gt;
* 用户组的权限用数字表达：属组的那个权限位数字的相加的总和。如rw- ，也就是4+2+0 ，应该是6。&lt;br /&gt;
* 其它用户的权限数字表达：其它用户权限位的数字相加的总和。如r-x ，也就是4+0+1 ，应该是5。&lt;br /&gt;
&lt;br /&gt;
例如，修改文件myfile的权限 &lt;br /&gt;
 $ chmod 664 myfile&lt;br /&gt;
 $ ls -l myfile&lt;br /&gt;
 -rw-rw-r--  1   57 Jul  3 10:13  myfile&amp;lt;br /&amp;gt;&lt;br /&gt;
=== 符号模式 ===&lt;br /&gt;
使用符号模式可以设置多个项目：who（用户类型），operator（操作符）和permission（权限）,每个项目的设置可以用逗号隔开。&lt;br /&gt;
命令chmod将修改who指定的用户类型对文件的访问权限，用户类型由一个或者多个字母在who的位置来说明,如who的符号模式表所示:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! who !! 用户类型  !! 说明&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;u&amp;lt;/tt&amp;gt; || user   || 文件所有者&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;g&amp;lt;/tt&amp;gt; || group  || 文件所有者所在组&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;o&amp;lt;/tt&amp;gt; || others || 所有其他用户&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; || all    || 所用用户, 相当于 &amp;#039;&amp;#039;ugo&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
operator的符号模式表:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operator !! 说明&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;+&amp;lt;/tt&amp;gt; ||为指定的用户类型增加权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;-&amp;lt;/tt&amp;gt; ||去除指定用户类型的权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;=&amp;lt;/tt&amp;gt; ||设置指定用户权限的设置，即将用户类型的所有权限重新设置&lt;br /&gt;
|}&lt;br /&gt;
permission的符号模式表:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 模式!! 名字 !! 说明&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; || 读  ||设置为可读权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt; || 写 ||设置为可写权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;x&amp;lt;/tt&amp;gt; || 执行权限 ||设置为可执行权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;TT&amp;gt;X&amp;lt;/TT&amp;gt; ||特殊执行权限 ||只有当文件为目录文件，或者其他类型的用户有可执行权限时，才将文件权限设置可执行&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;s&amp;lt;/tt&amp;gt; || setuid/gid || 当文件被执行时，根据who参数指定的用户类型设置文件的setuid或者setgid权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;t&amp;lt;/tt&amp;gt; ||  粘贴位|| 设置粘贴位，只有超级用户可以设置该位，只有文件所有者u可以使用该位&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
例子：&lt;br /&gt;
&lt;br /&gt;
chmod u+x filename&lt;br /&gt;
在这里，u的意思是user指用户本人；+的意思是增加权限；x是指文件执行权限&lt;br /&gt;
&lt;br /&gt;
=== 符号模式实例 ===&lt;br /&gt;
对目录的所有者&amp;#039;&amp;#039;&amp;#039;u&amp;#039;&amp;#039;&amp;#039;和关联组&amp;#039;&amp;#039;&amp;#039;g&amp;#039;&amp;#039;&amp;#039;增加读&amp;#039;&amp;#039;&amp;#039;r&amp;#039;&amp;#039;&amp;#039;和写&amp;#039;&amp;#039;&amp;#039;w&amp;#039;&amp;#039;&amp;#039;权限:&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;chmod ug+rw mydir&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ ls -ld mydir&lt;br /&gt;
 drw-rw----   2 unixguy  uguys  96 Dec 8 12:53 mydir&lt;br /&gt;
对文件的所有用户&amp;#039;&amp;#039;&amp;#039;ugo&amp;#039;&amp;#039;&amp;#039;删除写&amp;#039;&amp;#039;&amp;#039;w&amp;#039;&amp;#039;&amp;#039;权限:&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;chmod a-w myfile&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ ls -l myfile&lt;br /&gt;
 -r-xr-xr-x   2 unixguy  uguys 96 Dec 8 12:53 myfile&lt;br /&gt;
对&amp;lt;tt&amp;gt;mydir&amp;lt;/tt&amp;gt;的所有者&amp;#039;&amp;#039;&amp;#039;u&amp;#039;&amp;#039;&amp;#039;和关联组&amp;#039;&amp;#039;&amp;#039;g&amp;#039;&amp;#039;&amp;#039;设置成读&amp;#039;&amp;#039;&amp;#039;r&amp;#039;&amp;#039;&amp;#039;和可执行&amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039;权限:&lt;br /&gt;
 $ &amp;#039;&amp;#039;&amp;#039;chmod ug=rx mydir&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 $ ls -ld mydir&lt;br /&gt;
 d&amp;#039;&amp;#039;&amp;#039;r-xr-x---&amp;#039;&amp;#039;&amp;#039;   2 unixguy  uguys 96 Dec 8 12:53 mydir&lt;br /&gt;
=== 特殊模式 ===&lt;br /&gt;
:&amp;#039;&amp;#039;参看: [[文件系统权限]]&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== 命令使用实例 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;命令&amp;lt;/tt&amp;gt; !! 说明&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chmod a+r &amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;|| 给file的所有用户增加读权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chmod a-x &amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;||删除file的所有用户的执行权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chmod a+rw &amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;|| 给file的所有用户增加读写权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chmod +rwx &amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;||给file的所有用户增加读写执行权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chmod u=rw,go=  &amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;||对file的所有者设置读写权限，清空该用户组和其他用户对file的所有权限（空格代表无权限）&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chmod -R u+r,go-r &amp;#039;&amp;#039;docs&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;||对目录docs和其子目录层次结构中的所有文件给用户增加读权限，而对用户组和其他用户删除读权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chmod 664 &amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;||对file的所有者和用户组设置读写权限, 为其其他用户设置读权限&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chmod 0755 &amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;||相当于&amp;lt;tt&amp;gt;u=rwx (4+2+1),go=rx (4+1 &amp;amp; 4+1)&amp;lt;/tt&amp;gt;。&amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; 没有特殊模式。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chmod 4755 &amp;#039;&amp;#039;file&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;||&amp;lt;tt&amp;gt;4&amp;lt;/tt&amp;gt;设置了设置[[用户ID]]位，剩下的相当于 u=rwx (4+2+1),go=rx (4+1 &amp;amp; 4+1)。&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;find path/ -type d -exec chmod a-x {} \;&amp;lt;/tt&amp;gt;||删除可执行权限对path/以及其所有的目录（不包括文件）的所有用户，使用‘-type f&amp;#039;匹配文件&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;find path/ -type d -exec chmod a+x {} \;&amp;lt;/tt&amp;gt;||允许所有用户浏览或通过目录path/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 函数说明 ==&lt;br /&gt;
chmod函数C语言的定义:&lt;br /&gt;
&lt;br /&gt;
 int chmod(const char *path, mode_t mode);&lt;br /&gt;
&lt;br /&gt;
函数使用&amp;lt;tt&amp;gt;mode_t&amp;lt;/tt&amp;gt;类型的参数，使用其比特位组成各种模式:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 模式 !! 八进制 !! 含义&lt;br /&gt;
|-&lt;br /&gt;
| S_ISUID || 04000 || 执行时设置用户ID,setuid权限&lt;br /&gt;
|-&lt;br /&gt;
| S_ISGID || 02000 || 执行时设置组ID，setgid权限&lt;br /&gt;
|-&lt;br /&gt;
| S_ISVTX || 01000 || 粘贴位&lt;br /&gt;
|-&lt;br /&gt;
| S_IRUSR, S_IREAD || 00400 || 所有者读&lt;br /&gt;
|-&lt;br /&gt;
| S_IWUSR, S_IWRITE || 00200 || 所有者写&lt;br /&gt;
|-&lt;br /&gt;
| S_IXUSR, S_IEXEC || 00100 || 所有者执行&lt;br /&gt;
|-&lt;br /&gt;
| S_IRGRP || 00040 || 由组读&lt;br /&gt;
|- &lt;br /&gt;
| S_IWGRP || 00020 || 由组写&lt;br /&gt;
|- &lt;br /&gt;
| S_IXGRP || 00010 || 由组执行&lt;br /&gt;
|- &lt;br /&gt;
| S_IROTH || 00004 || 其他人读&lt;br /&gt;
|- &lt;br /&gt;
| S_IWOTH || 00002 || 其他人写&lt;br /&gt;
|- &lt;br /&gt;
| S_IXOTH || 00001 || 其他人执行&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
模式进行按位或运算对应期望的权限。&lt;br /&gt;
&lt;br /&gt;
函数检验的错误以及相应的错误码在[[man page]]有定义。&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
* Linux命令，编辑器与Shell编程，清华大学出版社，ISBN 978-7-302-13944-7&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
* [https://web.archive.org/web/20160711022056/http://www.linuxsir.org/main/?q=node%2F196#4 Linux 文件和目录的属性]&lt;br /&gt;
* [http://www.gnu.org/software/coreutils/manual/html_node/chmod-invocation.html &amp;lt;code&amp;gt;chmod&amp;lt;/code&amp;gt;]{{Wayback|url=http://www.gnu.org/software/coreutils/manual/html_node/chmod-invocation.html |date=20170922063750 }} — manual page from [[GNU]] [[coreutils]].&lt;br /&gt;
* [http://www.gnu.org/software/coreutils/manual/html_node/Setting-Permissions.html GNU &amp;quot;Setting Permissions&amp;quot; manual]{{Wayback|url=http://www.gnu.org/software/coreutils/manual/html_node/Setting-Permissions.html |date=20170107224339 }}&lt;br /&gt;
* [https://web.archive.org/web/20100926051106/http://docs.sun.com/app/docs/doc/817-0689/6mgfkpckn?q=chmod&amp;amp;a=view Solaris 9 chmod man page]&lt;br /&gt;
* [http://www.hmug.org/man/1/chmod.php Mac OS X chmod man page]{{Wayback|url=http://www.hmug.org/man/1/chmod.php |date=20080405161432 }}, which also supports [[access control list]]s.&lt;br /&gt;
* [http://neosmart.net/dl.php?id=4 CHMOD-Win 3.0]{{Wayback|url=http://neosmart.net/dl.php?id=4 |date=20100615223741 }} — Freeware Windows&amp;#039; ACL ←→ CHMOD converter.&lt;br /&gt;
* [https://web.archive.org/web/20051201140107/http://www.classical-webdesigns.co.uk/resources/whatchmod.html What CHMOD? File Permissions Calculator], web-based CHMOD calculator.&lt;br /&gt;
* [http://catcode.com/teachmod/index.html Beginners tutorial with on-line &amp;quot;live&amp;quot; example]{{Wayback|url=http://catcode.com/teachmod/index.html |date=20100813233419 }}&lt;br /&gt;
* [https://web.archive.org/web/20101030024941/http://www.examplenow.com/chmod chmod examples] Searchable examples &lt;br /&gt;
&lt;br /&gt;
{{Unix命令}}&lt;br /&gt;
&lt;br /&gt;
[[Category:标准Unix程序]]&lt;br /&gt;
[[Category:Unix文件系统相关软件]]&lt;br /&gt;
[[Category:Unix SUS2008实用工具]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Cheuye</name></author>
	</entry>
</feed>