版权信息
:::warning
本文章为博主原创文章。遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
:::
在命令行界面下,输入命令
cd /dev
ls -l
得到输出如下:

每列释义如下:
| 列 |
示例值 |
含义说明 |
| 1 |
crw-rw---- |
文件类型与权限(c 表示字符设备;接下来是用户/组/其他的读写执行权限) |
| 2 |
1 |
硬链接数量(对于设备文件通常是1) |
| 3 |
root |
文件(或设备)的所有者 |
| 4 |
root |
所属用户组 |
| 5 |
188, 0 |
主设备号和次设备号(仅对设备文件存在,表示对应驱动和设备) |
| 6 |
Jun 14 16:45 |
最后修改时间 |
| 7 |
ttyUSB0 |
文件名(这里是设备名) |
主次设备号
主设备号(Major Number)
- 决定了这个文件对应哪个驱动程序。
- 比如所有的
ttyUSBx 设备可能都由主设备号 188 对应的驱动处理。
次设备号(Minor Number)
- 由主设备号指定的驱动程序使用,用于区分同一驱动管理下的不同设备。
- 比如
ttyUSB0 是第一个设备,ttyUSB1 是第二个,以此类推。
文件权限位详解
第一列是文件权限位,每位释义如下:
| 位次 |
含义 |
示例 |
说明 |
| 1 |
文件类型 |
- |
- 普通文件、d 目录、l 软链接、c 字符设备等 |
| 2-4 |
所有者权限(user) |
rwx |
读(r)、写(w)、执行(x) |
| 5-7 |
用户组权限(group) |
r-x |
|
| 8-10 |
其他人权限(other) |
r-- |
|
| 权限字符: |
|
|
|
| 字符 |
含义 |
r |
可读(read):可以读取文件内容或列出目录内容 |
w |
可写(write):可以修改文件内容或添加/删除目录项 |
x |
可执行(execute):可执行程序或进入目录 |
- |
没有该权限 |
文件权限修改
一、chmod 命令概述
用于更改文件或目录的权限,支持 符号法 和 数字法。
二、权限基础
| 权限字符 |
权限含义 |
对文件作用 |
对目录作用 |
r |
读权限 |
可读取内容 |
可列出目录文件 |
w |
写权限 |
可修改内容 |
可创建/删除文件 |
x |
执行权限 |
可执行 |
可进入目录 |
三、符号法(Symbolic Mode)
语法
chmod [对象][操作][权限] 文件名
对象(权限归属)
| 符号 |
含义 |
u |
所有者 |
g |
所属组 |
o |
其他用户 |
a |
所有人(ugo) |
操作符
| 符号 |
含义 |
+ |
添加权限 |
- |
删除权限 |
= |
赋予权限(替换) |
示例
chmod u+x file.sh
chmod g-w file.txt
chmod o=r file.txt
chmod a+x run.sh
四、数字法(Octal Mode)
权限与数字映射
| 权限 |
数值 |
含义 |
--- |
0 |
无权限 |
--x |
1 |
执行 |
-w- |
2 |
写 |
-wx |
3 |
写 + 执行 |
r-- |
4 |
读 |
r-x |
5 |
读 + 执行 |
rw- |
6 |
读 + 写 |
rwx |
7 |
全部权限 |
| 相当于以二进制对应的十进制来表示,这点应该不陌生。 |
|
|
示例
chmod 755 script.sh
chmod 644 note.txt
chmod 700 secret.txt
五、递归权限修改
chmod -R 755 myfolder
六、使用 find 批量设置权限
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
七、常见目录权限推荐
| 目录 |
推荐权限 |
含义说明 |
/home/用户名 |
700 |
仅用户本人访问 |
/tmp |
1777 |
所有人可写,Sticky 位保护 |
| 网站目录 |
755 |
其他人可访问但不可修改 |
八、特殊权限简述(可选)
| 权限 |
作用 |
示例 |
| SUID |
执行程序时使用文件所有者权限 |
chmod u+s |
| SGID |
同上,应用于组 |
chmod g+s |
| Sticky |
只能删除自己文件(多用于/tmp) |
chmod +t |