type
Post
status
Published
date
Dec 10, 2023
slug
linux-chmod-chown-detail
summary
介绍 chmod、chown 这两个 Linux 命令详情以及他们的使用场景。
tags
Linux
category
程序人生
icon
password
介绍 chmod、chown 这两个 Linux 命令详情以及他们的使用场景。
查看文件权限
通过
ll 命令(还有 ls -lls -ld等)可以查看 linux 文件(夹)的权限。例如:

每条记录代表一个文件(夹)
第一列就是这个文件(夹)的权限。权限由 10 个字母表示。
第一个字母表示的是文件类型:
普通文件
d目录,即文件夹,是 directory 的简写
l链接文件
- 'p' 管理文件(很少见到)
b块设备文件(很少见到)
c字符设备文件(很少见到)
s套接字文件(很少见到)
紧接着的
3 * 3 个字符,分别表示文件 owner、group及others的读、写、执行权限。对应位置如果出现 r 表示对应用户具有读权限, w 表示对应用户具有写权限, x 表示对应用户具有执行权限。如果没有对应的权限,则用 - 表示。例如上面截图中的
test.py 文件,它的权限表示是 -rw-r--r--第一位
- 表示它是普通文件,第二到第四位 rw- 表示文件的 owner 对该文件具有 读写权限,但是没有执行权限,第五到第七为 r-- 表示group用户对该文件具有读权限,没有写和执行权限,第八到第十为 r-- 表示others用户对该文件具有读权限,没有写和执行权限。第二列,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三列,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四列,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五列,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
第六列,表示最后一次修改时间。以“月,日,时间”的格式表示。
第七列,表示文件名。我们可以用ls –a显示隐藏的文件名。
修改文件权限
修改文件权限使用
chmod 命令。chmod
用来变更文件或目录的权限
概要
主要用途
- 通过符号组合的方式更改目标文件或目录的权限。
- 通过八进制数的方式更改目标文件或目录的权限。
- 通过参考文件的权限来更改目标文件或目录的权限。
参数
mode:八进制数或符号组合。
file:指定要更改权限的一到多个文件。
选项
chmod 参数
u符号代表当前用户。
g符号代表和当前用户在同一个组的用户,以下简称组用户。
o符号代表其他用户。
a符号代表所有用户。
r符号代表读权限以及八进制数4。
w符号代表写权限以及八进制数2。
x符号代表执行权限以及八进制数1。
X符号代表如果目标文件是可执行文件或目录,可给其设置可执行权限。
s符号代表设置权限suid和sgid,使用权限组合u+s设定文件的用户的ID位,g+s设置组用户ID位。
t符号代表只有目录或文件的所有者才可以删除目录下的文件。
+符号代表添加目标用户相应的权限。
符号代表删除目标用户相应的权限。
=符号代表添加目标用户相应的权限,删除未提到的权限。
数字权限使用格式
在这种使用方式中,首先我们需要了解数字如何表示权限。 首先,我们规定 数字 4 、2 和 1表示读、写、执行权限(具体原因可见下节权限详解内容),即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,
如:
rwx = 4 + 2 + 1 = 7
rw = 4 + 2 = 6
rx = 4 +1 = 5
即
若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7
若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6
若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5
上面我们提到,每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。语法格式为 :
其中a,b,c各为一个数字,分别代表User、Group、及Others的权限。相当于简化版的chmod u=权限,g=权限,o=权限 file...而此处的权限将用8进制的数字来表示User、Group、及Others的读、写、执行权限
修改文件拥有者
修改文件权限使用
chown 命令。linux/Unix 是多人多工作业系统,每个的文件都有拥有者(所有者),如果我们想变更文件的拥有者(利用 chown 将文件拥有者加以改变),一般只有系统管理员(root)拥有此操作权限,而普通用户则没有权限将自己或者别人的文件的拥有者设置为别人。
语法格式:
使用权限:root说明:[可选项] : 同上文chmod 选项user : 新的文件拥有者的使用者group : 新的文件拥有者的使用者群体(group)
- 作者:ruofei.wang
- 链接:https://blog.ruofei.wang/article/linux-chmod-chown-detail
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。




