755 和 777 是 Linux 中常见的八进制表示的文件权限,核心区别在于“谁有写权限”:755 允许所有者修改,组用户和其他人只能读和执行;777 则让所有人(所有者、组、其他人)都拥有读、写、执行全部权限,存在明显安全风险。
权限数字怎么来的?
Linux 权限用三位八进制数表示(如 755),每位对应一类用户:第一位是所有者(user),第二位是所属组(group),第三位是其他用户(others)。每位的数字是三类操作权限(读 r=4、写 w=2、执行 x=1)的数值之和:
rwx = 4+2+1 = 7(读 + 写 + 执行)
rx = 4+1 = 5(读 + 执行,无写)
rw- = 4+2+0 = 6(读 + 写,无执行)
--- = 0(无任何权限)
所以 755 表示:所有者 rwx(7),组用户 rx(5),其他人 rx(5);777 表示:三类用户全是 rwx(7)。
755 适合什么场景?
这是最常用的目录权限,兼顾可用性与安全性:
网站根目录或脚本目录(如 /var/www/html),允许 Web 服务器读取和执行文件,但不给它写入权限,防止被篡改
可执行程序所在目录(如 /usr/bin),用户能运行命令,但不能随意修改二进制文件
普通用户自己的脚本或工具目录,自己可改,别人只能用
777 为什么危险?
它等于“对所有人开放写入”,在多用户或网络服务环境中极易引发问题:
Web 应用若将上传目录设为 777,攻击者可能上传恶意 PHP 文件并直接执行
多个用户共用一个目录时,任何人删改他人文件,无法追溯责任
某些系统服务(如 cron、systemd)会拒绝读取 777 的配置文件,因判定为“过于宽松”而报错
真正需要共享写入时,应优先用 组权限 + sgid(如 2775)配合合理分组,而非盲目设 777。
怎么看和改权限?
用 ls -l 查看当前权限,例如:
-rwxr-xr-x 1 user group 1234 Jan 1 file.sh → 对应权限是 755
修改用 chmod:
chmod 755 script.sh —— 设为所有者可读写执行,组和其他人仅读执行
chmod 777 uploads/ —— 赋予目录完全权限(慎用)
chmod u+x file.sh —— 用符号法,只给所有者加执行权限(更精准)
注意:对文件设执行权限(x)需谨慎;对目录设 x 才能进入(cd)和访问其内容,这是常被忽略的关键点。