系统
文件权限(file permissions)
文件权限(file permissions)决定了谁可以对一个文件做什么:读它、改它,还是运行它。在类 Unix 系统(Linux、macOS)上,每个文件都带着三个小开关——r(读)、w(写)、x(执行)——而且会分别为三类人设置:文件所有者、所有者所在的组,以及其他所有人。
ls -l 里那串看着费解的「rwxr-xr-x」说的就是这件事:所有者可读、可写、可运行,而组和其他人只能读和运行。同样的东西也能写成一个数字,比如 755,每一位数字其实就是 r=4 + w=2 + x=1 相加而来。你用 chmod 来修改它们。
最容易让新手栽跟头的是 x。一个脚本并不会因为它存在就被允许运行——它需要执行位(execute bit)。这就是为什么你常常要先敲 chmod +x deploy.sh,之后 ./deploy.sh 才跑得起来;也是为什么少了那个 x,系统就冷冷地丢给你一句「Permission denied」。
$ ls -l deploy.sh -rw-r--r-- 1 you staff 812 deploy.sh $ chmod +x deploy.sh # add the execute bit $ ./deploy.sh # now it runs
没有 x 就跑不了——chmod +x 把执行开关打开。
数字 755 并不神秘:它就是三位 r=4 + w=2 + x=1——所有者 7(rwx)、组 5(r-x)、其他人 5(r-x)。
又称
另见