鱼C论坛

 找回密码
 立即注册
查看: 12793|回复: 22

[命令快查] chmod -- 修改文件的访问权限

[复制链接]
发表于 2015-12-23 15:48:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
chmod 命令


概述:

chmod 命令用于修改文件或目录的访问权限。

说明:

Linux 系统中的每个文件和目录都有访问权限,用它来确定谁可以通过何种方式进行访问和操作。

文件或目录的访问权限分为只读(r),可写(w)和可执行(x)三种:以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。

有三种不同类型的用户可对文件或目录进行访问:文件所有者,同一用户组用户和其他用户。所有者一般是文件的创建者,所有者可以允许同一用户组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件。

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件所有者的读、写和执行权限;同一用户组用户的读、写和执行权限;系统中其他用户的读、写和执行权限。



以 homework 为例:
  1. drwxrwxr-x. 2 fishc fishc 4096 Dec 20 20:36 homework
复制代码

第 1 列共有 10 个字符,第 1 个字符指定了文件类型 —— 文件或目录:如果第 1 个字符是横线(-),表示是一个非目录的文件。如果是字符 d,表示这是一个目录。从第 2 个字符开始到第 10 个共 9 个字符,每 3 个字符为一组,分别表示了上述 3 组用户对文件的访问权限。权限字符用横线(-)代表禁止,r 代表只读,w 代表可写,x 代表可执行。


格式:

  • chmod [选项]... 访问权限... 文件...
  • chmod [选项]... 访问权限(八进制)... 文件...
  • chmod [选项]... --reference=RFILE... 文件...


选项:

选项
含义
-c, --changes 类似于 --verbose 选项,但只有在权限改动时显示信息
--no-preserve-root 不对 / 进行特殊处理(默认)
--preserve-root 不允许对 / 递归操作
-f, --silent, --quiet 不输出错误信息
-v, --verbose 显示处理信息
--reference=RFILE设置为与指定文件相同权限
-R, --recursive 递归修改当前目录及其所有子目录的访问权限
--help 显示帮助信息并退出
--help 输出版本信息并退出


用法:

1. chmod... [权限范围]... [+ | - | =]... [访问权限]... 文件

权限范围

  • u:文件所属的用户
  • g:文件所属的用户组
  • o:除了文件所属的用户及群组之外的其他用户或者用户组
  • a:所有的用户及用户组

+ | - | =

  • 权限范围 + 访问权限:追加权限范围内的文件或目录的指定权限
  • 权限范围 - 访问权限:删除权限范围的文件或目录的指定权限
  • 权限范围 = 访问权限:设置权限范围内的文件或目录为指定权限

举个栗子:
  1. [fishc@localhost test]$ ls -l
  2. total 12
  3. -rw-rw-r--. 1 fishc fishc 9900 Dec 23 15:11 fishc_log.txt
  4. [fishc@localhost test]$ chmod u=x fishc_log.txt   # 设置文件所属用户的权限为可执行
  5. [fishc@localhost test]$ ls -l
  6. total 12
  7. ---xrw-r--. 1 fishc fishc 9900 Dec 23 15:11 fishc_log.txt

  8. [fishc@localhost test]$ chmod u+wr fishc_log.txt   # 追加文件所属用户的只读和可写权限
  9. [fishc@localhost test]$ ls -l
  10. total 12
  11. -rwxrw-r--. 1 fishc fishc 9900 Dec 23 15:11 fishc_log.txt

  12. [fishc@localhost test]$ chmod g-rw fishc_log.txt   # 删除文件所属用户组的只读和可写权限
  13. [fishc@localhost test]$ ls -l
  14. total 12
  15. -rwx---r--. 1 fishc fishc 9900 Dec 23 15:11 fishc_log.txt
复制代码


2. 用八进制的数字设置访问权限(小甲鱼个人比较推荐这种方法)

其实 9 位表示权限的字符,可以用 3 个八进制数来表示(同样,依次是设置文件所有者,同一用户组用户和其他用户的权限)

  • r:只读权限,用数字 4 表示
  • w:可写权限,用数字 2 表示
  • x:可执行权限,用数字 1 表示
  • - :木有权限,用数字 0 表示

举个栗子你就明白了:

注:下边说的“三者”,指的是“文件所有者,同一用户组用户和其他用户”。
  1. [fishc@localhost test]$ chmod 444 fishc_log.txt   # 设置三者的权限均为只读
  2. [fishc@localhost test]$ ls -l
  3. total 12
  4. -r--r--r--. 1 fishc fishc 9900 Dec 23 15:11 fishc_log.txt

  5. [fishc@localhost test]$ chmod 744 fishc_log.txt   # 将文件所有者的权限设置为最高等级(只读、可写和可执行,7 = 4 + 2 + 1)
  6. [fishc@localhost test]$ ls -l
  7. total 12
  8. -rwxr--r--. 1 fishc fishc 9900 Dec 23 15:11 fishc_log.txt

  9. [fishc@localhost test]$ chmod 755 fishc_log.txt   # 将文件所有者的权限设置为最高等级,文件所属用户组和其它用户的权限都设置为只读和可执行(5 = 4 + 1)
  10. [fishc@localhost test]$ ls -l
  11. total 12
  12. -rwxr-xr-x. 1 fishc fishc 9900 Dec 23 15:11 fishc_log.txt
复制代码



来源: chmod -- 修改文件的访问权限
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-6-19 13:56:03 | 显示全部楼层
看着迷糊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-9 17:48:19 | 显示全部楼层
等我实习发了工资,一定买小甲鱼老湿的一个U盘,此贴为证!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 3 反对 0

使用道具 举报

发表于 2016-9-7 00:10:23 | 显示全部楼层
已经晕了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-4 21:52:41 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-14 13:11:36 | 显示全部楼层
get it
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-2 11:28:49 | 显示全部楼层

半懂半不懂  。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-9 16:10:03 From FishC Mobile | 显示全部楼层
,,,,,,,,,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-17 00:36:55 | 显示全部楼层
啊。。。。。小甲鱼 我一直遇到这样的问题。
明明文件里有的可是就是执行不了啊
bash: ./S1E2: No such file or directory

---xrw-r--. 1 fishc fishc 3494 Jul 17 00:32 S1E2.c
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-15 11:09:19 | 显示全部楼层
恍恍惚惚……这篇是真的没看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-8 00:37:07 From FishC Mobile | 显示全部楼层
……加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-24 13:44:49 | 显示全部楼层
get 看不懂的直接 su root,啥权限都有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-7-22 17:24:15 | 显示全部楼层
看不懂,云里雾里的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 11:35:45 | 显示全部楼层
谢谢小甲鱼~我总算搞懂一些了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-1 15:00:21 From FishC Mobile | 显示全部楼层
还好不是我一个人看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-12 01:17:43 | 显示全部楼层
chmod 777 vim_test_linux
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-22 16:27:13 | 显示全部楼层
不是很难鸭,还行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-28 10:51:01 | 显示全部楼层
终于搞懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-16 12:45:26 | 显示全部楼层
好好学习才能天天向上!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-7-21 21:48:09 | 显示全部楼层
它是定义在哪的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 03:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表