Linux 的权限模型简洁但严谨,是系统安全的基石。理解它,才能避免"权限不够"和"权限过大"两类问题。

一、基本权限

每个文件对三类用户分别设置权限:所有者(u)、所属组(g)、其他人(o)。权限有三种:读(r=4)、写(w=2)、执行(x=1)。

$ ls -l
-rw-r--r--  1 nginx nginx  index.html
 ↑↑↑↑↑↑↑↑↑↑
 所有者:rw  组:r  其他人:r

二、数字表示法

把 rwx 对应的 4/2/1 相加:

所以 chmod 755 dir = 所有者 rwx,组和其他人 r-x。目录通常需要 x 权限才能进入。

三、字母表示法

chmod u+x file        # 所有者加执行权限
chmod g-w file        # 组去掉写权限
chmod o=r file        # 其他人只读
chmod a+r file        # 所有人加读权限(a=all)

四、递归修改

chmod -R 755 /var/www    # 目录及子内容都改
chown -R nginx:nginx /var/www   # 改所有者和组

五、特殊权限位

安全原则:权限最小化。能用 644/755 就别用 777,777 是常见的安全漏洞来源。

六、小结

Linux 权限看似简单,细节很多。记住数字表示法的算法(4/2/1 相加)和最小权限原则,日常运维就够用了。