Linux Command:chmod

Posted on Wed, 25 Dec 2024 13:57:40 +0800 by LiangMingJian


概述

chmod(change mode)命令是控制用户对文件的权限的命令。

chmod [-cfvR] [--help] [--version] mode file...

使用示例

chmod 755 filename # 给予单个文件 root 权限
chmod -R 755 filedirname # 对文件夹内全部文件添加 root 权限

支持的参数

-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本

mode 的设置

chmod 命令可以使用八进制数来指定权限。

在 Linux 中,文件的读 read,写 write,执行 recute 操作可以使用 r,w,x 表示,也可以使用数字 4,2,1 来表示。

在 Linux 文件或目录的权限控制中,权限内容是由 9 个权限位来控制,这 9 个权限位每 3 位为一组,分别是:

  • 文件所有者(User)的读、写、执行
  • 用户组(Group)的读、写、执行
  • 其它用户(Other)的读、写、执行

比如:drwxr-x--- 2 root root 37 Apr 18 10:50 data.sh

上述的文件信息中 d 表示文件类型,这是一个目录文件(-:普通文件,d:目录文件,l:链接文件,b:设备文件,c:字符设备文件,p:管道文件)。

然后,第一个 rwx 表示文件所有者的对该文件所拥有的权限(可读写执行);接下来的 r-x 表示文件所属组对该文件所拥有的权限(可读可执行),最后的 --- 表示其他用户对该文件所拥有的权限(没有权限)

上述的权限也可以使用数字进行表述,所对应的数字内容如下:

#权限rwx二进制
7读 + 写 + 执行rwx111
6读 + 写rw-110
5读 + 执行r-x101
4只读r–100
3写 + 执行-wx011
2只写-w-010
1只执行–x001
0000

综上,对于权限 rwxr-xr-x 可以用 755 来表示:

  • 文件所有者权限 rwx ,就是 4+2+1,即 7。
  • 文件所属组权限 r-x ,就是 4+0+1 ,即 5。
  • 其他用户权限 r-x ,就是 4+0+1 ,即 5。