文件权限对照表
数字与符号互转、特殊位、umask 与常用命令,附换算器
共 65 条
0基础权限位---
三位全无:不能读、不能写、不能执行
1基础权限位--x
仅执行:能运行脚本,但读不到内容
2基础权限位-w-
仅写:几乎没用,写入还要能读到元数据才行
3基础权限位-wx
写加执行:只能写入和执行
4基础权限位r--
仅读:只读文件与私钥最常见
5基础权限位r-x
读加执行:脚本与可执行文件的典型值
6基础权限位rw-
读加写:普通数据文件的典型值
7基础权限位rwx
读写执行全开:目录要进入必须有它
rwx基础权限位7
符号转数字:r=4、w=2、x=1,三位相加
-基础权限位0
位置占位符:某位没有权限时显示短横
d基础权限位-
文件类型位:d 是目录、- 是普通文件、l 是软链接
-rw-r--r--基础权限位第 2 位 = 同组
读权限时按「所有者 / 同组 / 其他」三段看,每段三位
400常用组合r--------
仅所有者可读,证书与私钥必须用它
440常用组合r--r-----
所有者与同组可读
444常用组合r--r--r--
所有人可读,定时清理任务常见
600常用组合rw-------
仅所有者可读写,配置里含密码时用
640常用组合rw-r-----
所有者读写、同组只读
644常用组合rw-r--r--
普通文件的默认值,绝大多数文件都用它
660常用组合rw-rw----
所有者与同组读写
664常用组合rw-rw-r--
同组可写,共享目录里的文件常用
666常用组合rw-rw-rw-
所有人可读写,一般不该出现
700常用组合rwx------
仅所有者可进入,私有目录
750常用组合rwxr-x---
所有者全开、同组可读可进
755常用组合rwxr-xr-x
目录与脚本的默认值,Web 根目录常用
775常用组合rwxrwxr-x
同组可写目录,团队共享目录用
777常用组合rwxrwxrwx
所有人全开,生产环境不该出现;Web 目录写成它是常见事故
555常用组合r-xr-xr-x
只读目录,防误删但连自己也写不进
500常用组合r-x------
仅所有者可执行
111常用组合--x--x--x
所有人可执行但不可读,罕见且难调试
drwxr-xr-x常用组合chmod 755 dir
目录的 x 位决定能否 cd 进去,只有 r 位只能列名字
644 / 755常用组合644 文件 / 755 目录
文件用 644、目录与可执行脚本用 755,是最通用的默认
chown -R www-data:www-data常用组合chown -R www-data:www-data dir
改成把目录所有者给服务账号,而不是放开权限给所有人
4特殊权限位setuid
setuid:执行时以文件所有者身份运行,危险位
2特殊权限位setgid
setgid:执行时以文件所属组运行;用在目录上则新建文件继承该组
1特殊权限位sticky
sticky:目录里的文件只有属主才能删除,/tmp 靠它
4755特殊权限位-rwsr-xr-x
setuid 加 755,常见于需要提权的可执行文件
2755特殊权限位-rwxr-sr-x
setgid 加 755
2775特殊权限位rwxrwsr-x
setgid 目录,团队共享目录的标准做法
1777特殊权限位rwxrwxrwt
sticky 加 777,/tmp 就是这个值
chmod u+s file特殊权限位4755
给文件加 setuid
chmod g+s dir特殊权限位2775
给目录加 setgid,让新文件继承目录的组
chmod +t dir特殊权限位1777
加 sticky 位
rwSr--r--特殊权限位rwSr--r--
有 x 位显示小写 s,没有则显示大写 S —— 大写意味着该位其实不生效
022umask 掩码文件 644 / 目录 755
默认掩码:从 666 与 777 里扣掉组写与其他写
002umask 掩码文件 664 / 目录 775
允许同组写,团队共享机器常用
027umask 掩码文件 640 / 目录 750
禁止其他用户任何权限,偏严格的服务器
077umask 掩码文件 600 / 目录 700
最严格:新建文件与目录只有自己能碰
umaskumask 掩码当前掩码
查看当前掩码,同一台机器不同 shell 可能不同
umask -Sumask 掩码u=rwx,g=rx,o=rx
用符号形式显示,比数字直观
666 - umaskumask 掩码666 与 022 得到 644
新建文件的权限由 666 减掉掩码得到;目录则用 777
umask 022umask 掩码仅当前 shell 生效
改掩码只影响当前会话,要持久需写进 shell 配置或 /etc/profile
chmod 755 file常用命令数字改权限
最常用的改权限写法
chmod u+x file常用命令给所有者加执行位
符号写法,只改一位而不动其他
chmod -R 755 dir常用命令递归改目录内全部
递归改权限,会把文件也改成 755,通常不是本意
chmod --reference=a b常用命令b 复制 a 的权限
参照另一个文件设置权限,避免手算数字
chown user:group file常用命令同时改所有者与组
改归属,冒号后是组
chown -R www-data:www-data /var/www常用命令递归改归属
Web 目录交给服务账号,比放开 777 正确得多
chgrp group file常用命令只改所属组
单独改组,不改所有者
ls -l常用命令-rw-r--r-- 1 ada dev
看第一列读权限:类型位 + 三段九位
stat -c "%a %n" file常用命令644 file
直接输出数字权限,写脚本比 ls 解析靠谱
find . -type f -exec chmod 644 {} \;常用命令只改文件
按类型分别设权限,是修正 777 事故的标准做法
find . -type d -exec chmod 755 {} \;常用命令只改目录
与上一条配对使用
getfacl file常用命令查看 ACL
查看 ACL,标准权限位之外的细化授权
setfacl -m u:user:rw file常用命令给指定用户授权
ACL 授权,不用改所属组
sudo -u user cmd常用命令以指定用户身份执行
以他人身份执行命令,排查权限问题常用
这个工具不好用,或者遇到 bug?
去反馈