一、Linux 权限到底在控制什么?
每个文件都有 3 类人:
| 身份 | 含义 |
|---|---|
| u | 文件拥有者(user) |
| g | 所属组(group) |
| o | 其他人(others) |
每类人有 3 种权限:
| 权限 | 含义 | 文件 | 目录 |
|---|---|---|---|
| r | 读 | 看内容 | 查看目录列表 |
| w | 写 | 修改内容 | 在目录里增删文件 |
| x | 执行 | 运行程序 | 进入目录 |
二、怎么看权限?
ls -l
示例:
-rwxr-xr--
拆解:
- rwx r-x r--
u g o
意思是:
- 拥有者:rwx(可读可写可执行)
- 组用户:r-x(可读可执行)
- 其他人:r--(只读)
三、chmod 是干嘛的?
👉 修改权限(读写执行)
方法 1:数字方式(最常用)
权限数字规则:
| 权限 | 数字 |
|---|---|
| r | 4 |
| w | 2 |
| x | 1 |
相加就是权限值。
例如:
rwx = 4+2+1 = 7
rw- = 4+2 = 6
r-- = 4 = 4
常见例子
chmod 755 file
= rwxr-xr-x = 拥有者全权限,其他人只读+执行
chmod 644 file
= rw-r--r-- = 常见普通文件权限
方法 2:字母方式
chmod u+x file # 给拥有者加执行权限
chmod g-w file # 去掉组写权限
chmod o+r file # 给其他人读权限
四、chown 是干嘛的?
👉 修改文件的拥有者和所属组
语法:
chown 用户 文件
例子:
chown tom file
改拥有者为 tom
改拥有者和组:
chown tom:dev file
拥有者 tom 组 dev
递归修改(常见):
chown -R tom:dev folder/
五、一个实际例子(非常常见)
你用 nginx 访问网站,结果 403。
原因:nginx 用户没权限读文件。
解决思路:
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
六、最重要的一句话
👉 chmod 改“能干什么” 👉 chown 改“谁能干”
