Linux 入门:用权限三要素看懂文件为什么打不开
新手在 Linux 上最常遇到的挫败,不是命令记不住,而是明明文件就在眼前,系统却说“权限不够”。这句话听起来像在拒绝你,其实它是在告诉你答案:文件的权限出了问题。只要看懂权限的三要素——归属、读/写/执行、数字表示,你就能自己判断问题出在哪一步。
先说归属。每个文件都有两个归属标签:属于哪个用户、属于哪个组。你可以用 ls -l 看到它们,输出里最前面一串字符后面跟着的,就是所有者和所属组。系统判断权限时先看你是不是所有者,再看你是不是组里的人,最后才按“其他人”处理。同一个文件,对所有者和对路人,待遇可以完全不同,所以“别人能打开、我打不开”往往不是文件坏了,而是你们的身份不同。
再说读、写、执行这三个动作。读(r)是能看内容,写(w)是能改内容,执行(x)是对程序来说能运行、对目录来说能进入。很多人只记得文件要能读,却忘了目录也要能进入:一个目录如果没有执行权限,你就算知道里面文件的名字也进不去。反过来,一个脚本文件光有读权限还不够,没有执行权限就跑不起来,系统会直接拒绝。
然后是数字表示法,这是最实用的速查方式。r 是 4,w 是 2,x 是 1,把三者相加就是一位数字。755 的意思是所有者 7(4+2+1,什么都能做),组和其他人 5(4+1,能读能进、不能改);644 则是所有者能读写、其他人只能读。看到 755、644 这样的数字,你不用再一个个字母去数,直接就能翻译出谁能做什么。
定位问题的办法也可以固定成三步。第一步,用 ls -l 看文件和它所在目录的权限,确认你属于哪一类身份;第二步,对照你要做的事缺的是读、写还是执行;第三步,只改缺的那一项,不要一上来就改成 777。777 是所有人什么都能做,图一时方便,却等于把门拆了,放在多人共用的服务器上尤其危险。正确的做法是改最小的权限,或者把用户加进对应的组。
给新手的三条建议:第一,改权限前先备份原权限,记下原来的数字,改错了还能改回去;第二,不要用 root 身份绕过所有问题,养成普通用户排查的习惯,真正需要提权时再用 sudo;第三,遇到“权限不够”先读报错和 ls -l 的输出,而不是反复重试同一个命令,信息都在输出里。
今天可以练一次:新建一个文本文件,用 ls -l 看它的默认权限,再试着去掉自己的读权限、重新打开看看报错,然后把权限改回去。走完这一圈,“权限不够”就不再是一句吓人的拒绝,而是一张你能读懂的通行证说明。
- 点赞
- 收藏
- 关注作者
评论(0)