chmod

✍ dations ◷ 2025-10-13 00:05:19 #标准Unix程序,Unix文件系统相关软件,Unix SUS2008实用工具

chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数。只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

chmod使用语法举例:

$ chmod    

使用ls命令的查看文件或目录的属性

$ ls -l 

八进制语法

chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。

例如, 765 将这样解释:

例如,修改文件myfile的权限

$ chmod 664 myfile$ ls -l myfile-rw-rw-r--  1   57 Jul  3 10:13  myfile

符号模式

使用符号模式可以设置多个项目:who(用户类型),operator(操作符)和permission(权限),每个项目的设置可以用逗号隔开。命令chmod将修改who指定的用户类型对文件的访问权限,用户类型由一个或者多个字母在who的位置来说明,如who的符号模式表所示:

operator的符号模式表:

permission的符号模式表:

例子:

chmod u+x filename在这里,u的意思是user指用户本人;+的意思是增加权限;x是指可执行文件

对目录的所有者u和关联组g增加读r和写w权限:

$ chmod ug+rw mydir$ ls -ld mydirdrw-rw----   2 unixguy  uguys  96 Dec 8 12:53 mydir

对文件的所有用户ugo删除写w权限:

$ chmod a-w myfile$ ls -l myfile-r-xr-xr-x   2 unixguy  uguys 96 Dec 8 12:53 myfile

mydir的所有者u和关联组g设置成读r和可执行x权限:

$ chmod ug=rx mydir$ ls -ld mydirdr-xr-x---   2 unixguy  uguys 96 Dec 8 12:53 mydir

特殊模式

命令使用实例

命令说明
chmod a+r 给file的所有用户增加读权限
chmod a-x 删除file的所有用户的执行权限
chmod a+rw 给file的所有用户增加读写权限
chmod +rwx 给file的所有用户增加读写执行权限
chmod u=rw,go= 对file的所有者设置读写权限,清空该用户组和其他用户对file的所有权限(空格代表无权限)
chmod -R u+r,go-r 对目录docs和其子目录层次结构中的所有文件给用户增加读权限,而对用户组和其他用户删除读权限
chmod 664 对file的所有者和用户组设置读写权限, 为其其他用户设置读权限
chmod 0755 相当于u=rwx (4+2+1),go=rx (4+1 & 4+1)0 没有特殊模式。
chmod 4755 4设置了设置用户ID位,剩下的相当于 u=rwx (4+2+1),go=rx (4+1 & 4+1)。
find path/ -type d -exec chmod a-x {} \;删除可执行权限对path/以及其所有的目录(不包括文件)的所有用户,使用‘-type f'匹配文件
find path/ -type d -exec chmod a+x {} \;允许所有用户浏览或通过目录path/

函数说明

chmod函数C语言的定义:

int chmod(const char *path, mode_t mode);

函数使用mode_t类型的参数,使用其比特位组成各种模式:

模式进行按位或运算对应期望的权限。

函数检验的错误以及相应的错误码在man page有定义。

相关

  • 福楼拜古斯塔夫·福楼拜(法语:Gustave Flaubert,1821年12月12日-1880年5月8日),生于法国鲁昂,法国文学家,世界文学名著《包法利夫人》的作者。福楼拜出生于法国西北部诺曼底地区的鲁昂,父亲
  • 辅肌动蛋白辅肌动蛋白(英语:Actinin)是一种微丝蛋白。α-辅肌动蛋白1(英语:ACTN1)是骨骼肌细胞中肌动蛋白附着于Z线所必须的,也是其在平滑肌中附于电子致密部分所需。起功能的辅肌动蛋白是反
  • 安得拉邦安得拉邦(泰卢固语:ఆంధ్ర ప్రదెౕశ్;乌尔都语:آندھرا پردیش‎;印地语:आंध्र प्रदेश;拉丁字母转写为:Andhra Pradesh),印度东南部的一个邦,位于孟加
  • 指令在计算机技术中,指令是由指令集架构定义的单个的CPU操作。在更广泛的意义上,“指令”可以是任何可执行程序的元素的表述,例如字节码。在传统的构架上,指令包括一个操作码(opcode)
  • font style=text-decoration: overlines/font奇夸克(Strange quark)是基本粒子的一种,裸质量为7001950000000000000♠95+5−5 MeV/c2,是第三轻的夸克,只有上夸克与下夸克比其还轻。在很多种强子里,都可以找到奇夸克,例如,K介子
  • 己亥东征应永外寇指的是1419年(己亥年,日本应永26年)朝鲜王朝进攻日本对马岛的事件。“应永外寇”日本方面对此战事的称呼,朝鲜则称之为己亥东征、己亥征倭役或者第三次对马岛征伐(제3차
  • 质量摩尔浓度在化学中,溶液的重量摩尔浓度(也可称质量摩尔浓度或重量克分子浓度,英语:molality,用b或m表示)是指溶质物质的量 n s
  • 伊斯兰国西奈省伊斯兰国西奈省(阿拉伯语:الدولة الإسلامية في العراق والشام – ولاية سيناء‎ ad-Dawlah al-Islāmiyah fī 'l-ʿIrāq wa-sh-Sh
  • 柳市柳市镇是中华人民共和国浙江省温州市乐清市下辖的一个镇,被誉为中国“低压电器之都”,“电器城”。温州模式发源地之一,拥有200多家年产值500万元以上企业,温州市经济十大强镇之
  • 西滕卡河西滕卡河(乌克兰语:Ситенька),是乌克兰的河流,位于该国西部,流经罗夫诺州和利沃夫州,属于斯洛尼夫卡河的支流,河道全长26公里,流域面积162平方公里,发源自盖基-西滕西基北部。