127 lines
2.6 KiB
Markdown
Executable File
127 lines
2.6 KiB
Markdown
Executable File
# 修改文件所有者和权限
|
||
|
||
> 两个核心命令:`chmod`(改权限)和 `chown`(改所有者)
|
||
|
||
---
|
||
|
||
## chmod - 修改权限
|
||
|
||
### 权限表示法
|
||
|
||
**符号方式**:
|
||
| 符号 | 说明 |
|
||
|------|------|
|
||
| `u` | 所有者(user) |
|
||
| `g` | 用户组(group) |
|
||
| `o` | 其他人(other) |
|
||
| `a` | 所有人(all) |
|
||
|
||
**权限操作**:
|
||
| 符号 | 说明 |
|
||
|------|------|
|
||
| `+` | 添加权限 |
|
||
| `-` | 移除权限 |
|
||
| `=` | 设置权限 |
|
||
|
||
**权限值**:
|
||
| 值 | 说明 | 二进制 |
|
||
|----|------|--------|
|
||
| `r` | 读 | 4 |
|
||
| `w` | 写 | 2 |
|
||
| `x` | 执行 | 1 |
|
||
|
||
### 使用示例
|
||
|
||
```bash
|
||
# 符号方式
|
||
chmod u+x file # 所有者添加执行权限
|
||
chmod g-w file # 组移除写权限
|
||
chmod o+r file # 其他用户添加读权限
|
||
chmod a+x file # 所有用户添加执行权限
|
||
chmod u=rw file # 设置所有者读写权限
|
||
|
||
# 数字方式(推荐)
|
||
chmod 755 file # rwxr-xr-x
|
||
chmod 644 file # rw-r--r--
|
||
chmod 700 file # rwx------
|
||
chmod 600 file # rw-------
|
||
chmod 777 file # rwxrwxrwx(危险!)
|
||
|
||
# 目录权限
|
||
chmod 755 /path/to/dir # 目录权限
|
||
```
|
||
|
||
---
|
||
|
||
## chown - 修改所有者
|
||
|
||
### 使用示例
|
||
|
||
```bash
|
||
# 修改所有者
|
||
chown user file # 文件
|
||
chown -R user /path/to/dir # 目录(递归)
|
||
|
||
# 修改所有者和组
|
||
chown user:group file # 文件
|
||
chown -R user:group /path/to/dir # 目录(递归)
|
||
|
||
# 只修改组
|
||
chown :group file # 文件
|
||
chgrp group file # 等效命令
|
||
```
|
||
|
||
---
|
||
|
||
## 常见场景
|
||
|
||
### 场景1:授权网站目录
|
||
|
||
```bash
|
||
# 将网站目录授权给 www-data 用户
|
||
chown -R www-data:www-data /var/www/html
|
||
chmod -R 755 /var/www/html
|
||
```
|
||
|
||
### 场景2:授权用户目录
|
||
|
||
```bash
|
||
# 将用户目录授权给用户
|
||
chown -R username:username /home/username
|
||
chmod 700 /home/username
|
||
```
|
||
|
||
### 场景3:修复权限(危险!慎用)
|
||
|
||
```bash
|
||
# 修复系统文件权限(不要用 777!)
|
||
chmod 644 /etc/passwd
|
||
chmod 600 /etc/shadow
|
||
chmod 755 /bin /usr/bin /sbin /usr/sbin
|
||
```
|
||
|
||
---
|
||
|
||
## 权限速查
|
||
|
||
| 命令 | 权限 | 说明 |
|
||
|------|------|------|
|
||
| `chmod 755` | rwxr-xr-x | 目录典型权限 |
|
||
| `chmod 644` | rw-r--r-- | 文件典型权限 |
|
||
| `chmod 700` | rwx------ | 私有目录 |
|
||
| `chmod 600` | rw------- | 私有文件 |
|
||
|
||
---
|
||
|
||
## 递归参数
|
||
|
||
```bash
|
||
-R # 递归处理目录下所有文件和子目录
|
||
-v # 显示每个文件的处理信息
|
||
-c # 只显示有变化的内容
|
||
```
|
||
|
||
---
|
||
|
||
> 参考:[Linux chmod/chown](http://blog.csdn.net/songyu0120/article/details/43408499)
|