# 修改文件所有者和权限 > 两个核心命令:`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)