Skip to Content
文档参考命令速查文件权限速查

权限位说明

-rwxr-xr-- 1 user group 文件名 ├─┤├─┤├─┤ │ │ └── 其他用户 (other) │ └───── 所属组 (group) └───────── 所有者 (user/owner)
字符数字含义
r4读取
w2写入
x1执行(目录为进入)
-0无权限

常见权限数字

数字权限说明
777rwxrwxrwx所有人完全权限(慎用)
755rwxr-xr-x所有者完全,其他人读+执行
750rwxr-x---所有者完全,组读+执行
700rwx------仅所有者完全权限
644rw-r—r—所有者读写,其他人只读
640rw-r-----所有者读写,组只读
600rw-------仅所有者读写
555r-xr-xr-x所有人读+执行
444r—r—r—所有人只读

chmod 命令

数字模式

chmod 755 文件名 chmod 644 文件名 chmod -R 755 目录名 # 递归修改

符号模式

# 添加权限 chmod u+x file # 所有者添加执行权限 chmod g+w file # 组添加写权限 chmod o-r file # 其他人移除读权限 chmod a+r file # 所有人添加读权限 # 设置精确权限 chmod u=rwx,g=rx,o=r file # 常用组合 chmod +x script.sh # 添加执行权限 chmod -w file.txt # 移除写权限

对象:u=所有者,g=组,o=其他,a=所有人

操作:+=添加,-=移除,==设置

chown 命令

# 修改所有者 sudo chown 用户名 文件名 # 修改所有者和组 sudo chown 用户名:组名 文件名 # 仅修改组 sudo chown :组名 文件名 # 或使用 chgrp chgrp 组名 文件名 # 递归修改 sudo chown -R 用户名:组名 目录名

特殊权限位

SUID (Set User ID) - 4xxx

文件以所有者身份执行,而非运行者身份。

chmod u+s file chmod 4755 file # 示例:passwd 命令使用 SUID ls -la /usr/bin/passwd # -rwsr-xr-x 1 root root ...

SGID (Set Group ID) - 2xxx

目录中新建的文件继承目录的组。

chmod g+s directory chmod 2755 directory

Sticky Bit - 1xxx

目录中的文件只有所有者可以删除(如 /tmp)。

chmod +t directory chmod 1777 directory ls -la /tmp # drwxrwxrwt ... # 注意末尾的 t

默认权限 (umask)

# 查看当前 umask umask # 常见值:0022 # umask 计算: # 文件默认权限 = 666 - umask = 644 # 目录默认权限 = 777 - umask = 755 # 临时修改 umask 027 # 文件 640,目录 750 # 永久修改:写入 ~/.bashrc echo "umask 027" >> ~/.bashrc

ACL 扩展权限

当基本权限不够灵活时:

# 安装 ACL 工具 sudo apt install acl # 为特定用户设置权限 setfacl -m u:用户名:rwx 文件名 # 为特定组设置权限 setfacl -m g:组名:rx 文件名 # 设置默认 ACL(新建文件自动继承) setfacl -d -m u:用户名:rwx 目录名 # 查看 ACL getfacl 文件名 # 移除所有 ACL setfacl -b 文件名

用户与组管理

# 查看当前用户信息 id # 查看用户所属的组 groups 用户名 # 添加用户到组 sudo usermod -aG 组名 用户名 # 新建组 sudo groupadd 组名 # 常用系统组 # sudo - 管理员权限 # docker - Docker 操作 # video - 摄像头/GPU 访问 # audio - 音频设备 # dialout - 串口设备 # plugdev - 可插拔设备

常见场景权限设置

# Web 目录 sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html # SSH 密钥 chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub # 共享目录(组内可读写) sudo mkdir /shared sudo chown :共享组 /shared sudo chmod 2775 /shared # 脚本文件 chmod 755 script.sh # 所有人可执行 chmod 700 script.sh # 仅自己可执行
Last updated on