刚学 Linux 的朋友是不是经常遇到这种情况:想打开个文件、运行个程序,终端突然蹦出 “Permission denied”?明明文件就在那儿,却死活操作不了,急得抓头发?其实这都是文件权限在 “搞鬼”。今天兔子哥就手把手教新手们,怎么用命令行查看和修改文件权限,看完这篇,再也不怕权限错误啦!
先搞懂:文件权限是啥玩意儿?
简单说,文件权限就是 Linux 系统规定 “谁能对文件做啥操作” 的规则。就像你家房门,有的钥匙能开门,有的只能敲门,权限没弄对,自然进不去。在 Linux 里,每个文件都有三组权限,分别对应文件所有者、同组用户和其他用户,每组权限又分三种:读(r)、写(w)、执行(x)。
有人会问:这些权限具体管啥用?读权限(r)就是能看文件内容;写权限(w)是能修改文件;执行权限(x)比较特殊,对程序文件来说,有了它才能运行,对文件夹来说,有了它才能进入这个文件夹。这仨权限组合起来,就决定了你能不能操作这个文件。
第一步:用 ls -l 查看权限,一眼看透
想知道文件当前的权限,最常用的命令就是ls -l。打开终端,cd 到文件所在的目录,输 “ls -l 文件名”,就能看到一串字符,比如 “-rw-r--r-- 1 user user 1234 8 月 17 10:00 笔记.txt”。
前面这串 “-rw-r--r--” 就是权限标识,咱们拆开来看看:
- 第一个字符 “-” 代表这是普通文件(如果是 “d” 就是文件夹);
- 接下来 3 个 “rw-”:代表文件所有者的权限,这里是 “可读可写不可执行”;
- 中间 3 个 “r--”:代表同组用户的权限,这里是 “只读不可写不可执行”;
- 最后 3 个 “r--”:代表其他用户的权限,同样是 “只读”。
兔子哥刚开始学的时候,总记不住这串字符的顺序,后来自己编了个口诀:“所有者、同组人、陌生人,每组读读写执行”,念叨几遍就记住了,新手朋友们也可以试试这招。
第二步:看懂权限数字,操作更方便
除了字母 “rwx”,Linux 还能用数字表示权限,记数字有时候比记字母更方便。规则特简单:读(r)=4,写(w)=2,执行(x)=1,把每组的权限数字加起来就是这组的权限值。
比如:
- 只读(r--)就是 4;
- 只写(-w-)就是 2;
- 只执行(--x)就是 1;
- 可读可写(rw-)就是 4+2=6;
- 可读可执行(r-x)就是 4+1=5;
- 读写执行(rwx)就是 4+2+1=7。
前面那个 “rw-r--r--” 换成数字就是 644,是不是好记多了?新手刚开始可以列个表贴在屏幕旁,对照着看:
| 权限字母 | 数字 | 含义 |
|---|---|---|
| r-- | 4 | 只读 |
| -w- | 2 | 只写 |
| --x | 1 | 只执行 |
| rw- | 6 | 读写 |
| r-x | 5 | 读和执行 |
| rwx | 7 | 读写执行 |
第三步:用 chmod 修改权限,想咋改就咋改
知道了当前权限,想修改就得用chmod命令。这命令有两种用法:字母法和数字法,新手建议先学数字法,简单直接。
数字法格式是:chmod 权限值 文件名。比如想让 “笔记.txt” 的所有者能读写执行,同组用户能读执行,其他用户只能读,权限值就是 754,输 “chmod 754 笔记.txt” 就行。
字母法更灵活,格式是:chmod 用户组 ± 权限 文件名。用户组用 u(所有者)、g(同组)、o(其他)、a(所有人)表示,± 就是添加或去掉权限。比如:
- 给所有者加执行权限:chmod u+x 程序.sh
- 去掉其他用户的写权限:chmod o-w 共享文档.txt
- 给所有人加读权限:chmod a+r 公开资料.pdf
兔子哥提醒:修改权限时要小心,别随便给文件加执行权限,尤其是从网上下载的文件,万一有病毒,执行了就麻烦了。还有别把系统文件的权限乱改,改坏了可能连系统都进不去。
常见问题:遇到权限错误该咋办?
新手最常碰到的就是 “Permission denied”,遇到这情况先别急,按这步骤排查:
- 先用 “ls -l 文件名” 看看当前权限,是不是自己没有操作权限;
- 如果是自己的文件,用 chmod 加权限就行,比如 “chmod u+w 文件名”;
- 如果是系统文件或别人的文件,得用 sudo 获取管理员权限,比如 “sudo chmod 644 系统配置.conf”;
- 要是改完还不行,可能是文件所在的文件夹权限有问题,文件夹至少得有执行权限(x)才能进入操作里面的文件。
之前有个朋友,下载了个程序想运行,总提示权限不够,他以为是文件坏了,后来我让他输 “chmod u+x 程序名”,立马就能运行了,原来就是缺了执行权限。
最后提醒:权限别乱开,安全第一
虽然改权限很方便,但千万别图省事就把文件权限设成 777(所有人都能读写执行)。尤其是在公共电脑或服务器上,777 权限等于把文件敞开了让别人改,很容易出安全问题。家庭自用电脑也尽量遵循 “最小权限原则”,够用就行,别给多余的权限。
兔子哥自己的习惯是,普通文档设 644,自己写的脚本设 755,重要文件设 600(只有自己能读写),这样既安全又够用。刚开始可能记不住这么多,多练几次,遇到问题多查权限,慢慢就熟练了。
其实文件权限看着复杂,实际用起来很简单,核心就是搞懂 “谁能做啥”。新手不用怕命令记错,输错了终端会提示,照着提示改就行。多动手试试修改不同的权限,感受一下权限变化带来的影响,用不了几天就能熟练掌握啦!希望这篇教程能帮到刚学 Linux 的朋友,别再被权限问题拦住路~
标签: Permission -rw-r--r--
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
评论列表
新手学Linux权限 命令行操作教程实用易懂