chmod 权限模式 125 种
755 和 644 到底放开了什么、umask 该设成多少,全部由这三位数字算出。
真正常用的模式
125 种里,真正会去敲的大约只有十种。
全部 125 种
实际会用到的五个值(0·4·5·6·7)的全部组合。只能写不能读那类值没有收。
所有者 0 — 0xx---
所有者 4 — 4xxr--
所有者 5 — 5xxr-x
所有者 6 — 6xxrw-
所有者 7 — 7xxrwx
怎么看这一页
- 读 4、写 2、执行 1,加起来成为一位。7 是 4+2+1,5 是 4+1。
- 三位从左到右是所有者、组、其他人。
- umask 是要减掉的值:目录从 777 减,文件从 666 减。
- 特殊位(setuid 4000、setgid 2000、粘滞位 1000)会在前面多一位——/tmp 就是 1777。
常见问题
Q. 755 和 644 差在哪里?
差一个执行位。755 让任何人都能运行文件或进入目录,644 对别人只是可读。目录用 755,普通文件用 644。
Q. 为什么不要用 777?
因为凡是能碰到这台机器的人都能改内容。为了绕过权限报错而设 777,等于把门直接拆了。
Q. umask 022 是什么意思?
它是要减掉的值。目录从 777 减成 755,文件从 666 减成 644。
Q. 四位的 1777 是什么?
最前面一位是特殊位。1 是粘滞位:/tmp 那样大家都能写,但谁也删不了别人的文件。
Q. 目录上的执行权限是什么意思?
是“能进去”的权限。只有读权限时,能列出名字却打不开里面的文件。