Linux 入门:先把文件权限想成房间的门锁
很多新手第一次在 Linux 里被 Permission denied 拦住,第一反应是加 sudo,第二次是改成 777。其实可以先换一个比喻:把每个文件想成一个房间,权限就是装在门上的三把锁。读(r)是允许进门看看,写(w)是允许搬动里面的东西,执行(x)是允许按房间的用途真正使用它。先建立这个画面,再去看那串 rwx 就不再是天书了。
一、先读懂 ls -l 的那串字符
在终端里执行 ls -l,会看到类似 -rw-r--r-- 的开头。第一个字符表示类型:- 是普通文件,d 是目录,l 是链接。后面九个字符每三个一组,依次是文件属主、属组、其他人的权限。比如 rwx r-x r-- 意思是属主可读可写可执行,同组的人可读可执行,其他人只能读。目录的 x 权限比较特殊:没有它,你连 cd 进这个目录都做不到,哪怕里面的文件你明明有读权限。
二、权限是三位数字的加法
r、w、x 分别对应数字 4、2、1,三组权限加起来就是我们常说的 755、644。755 拆开是 7(4+2+1)、5(4+1)、5(4+1),也就是属主全开,其他人可读可执行,这是可执行文件和目录的常见配置;644 是属主可读写,其他人只读,这是普通文本和配置文件的常见配置。记住这两个数,日常够用八成场景。
三、改权限用 chmod,改归属用 chown
改权限最常用的是数字法:chmod 755 deploy.sh 把脚本改成可执行;chmod 644 config.yaml 把配置文件收紧。也可以用符号法:chmod +x run.sh 只给执行权限,chmod go-w notes.txt 收掉组和其他人的写权限。文件归谁管用 chown:sudo chown app:app /data/app 把目录交给 app 用户和组。注意一个边界:改别人的文件需要管理员身份,但日常操作尽量别全程用 root,root 没有门锁,删错东西也没有二次确认。
四、新手最容易踩的三个坑
第一是图省事 chmod 777,等于把房间的门锁全拆了,谁都能进出改东西,出了问题连谁动的手都查不到。第二是脚本写好了却忘了加执行权限,直接 ./run.sh 会报 Permission denied,这时不是文件坏了,是缺 x 这把锁,chmod +x 就好。第三是把系统文件的所有者改成普通用户,升级和备份都会跟着出问题。遇到权限报错,先 ls -l 看清属主和权限,再决定是加权限、换属主,还是真的需要 sudo,不要一上来就 777。
把门锁这个比喻记牢,Linux 的权限体系就通了:每扇门都有三把锁,每把锁对应一类人,数字 4、2、1 是配钥匙的方法。下次再看到 Permission denied,先看锁、再看人,最后才考虑 sudo,慢慢就会形成手感。
- 点赞
- 收藏
- 关注作者
评论(0)