Linux 文件权限入门:chmod 与 chown 守护你的文件

举报
vanseny 发表于 2026/11/06 10:34:57 2026/11/06
【摘要】 刚接触 Linux 的新手,常常会被一串 drwxr-xr-x 吓住:这到底是什么?其实它就是 Linux 文件权限的全部秘密。理解了它,你才能知道为什么有的脚本双击就能跑,有的却提示 Permission denied,为什么私钥文件必须设成 600。 一、ls -l 读懂权限在终端执行 ls -l,每一行开头都有一串 10 个字符,例如:-rw-r--r-- 1 vanseny vans...

刚接触 Linux 的新手,常常会被一串 drwxr-xr-x 吓住:这到底是什么?其实它就是 Linux 文件权限的全部秘密。理解了它,你才能知道为什么有的脚本双击就能跑,有的却提示 Permission denied,为什么私钥文件必须设成 600。

一、ls -l 读懂权限

在终端执行 ls -l,每一行开头都有一串 10 个字符,例如:

-rw-r--r-- 1 vanseny vanseny  512 11月  6 06:00 notes.txt
drwxr-xr-x 2 vanseny vanseny 4096 11月  6 06:00 scripts

第 1 位表示类型:- 是普通文件,d 是目录,l 是软链接。后面 9 位分成三组,每组 3 位,依次代表文件属主(user)、属组(group)、其他人(others)的权限。每组里的 r 是可读,w 是可写,x 是可执行,- 是没有该权限。

所以 -rw-r--r-- 的意思是:属主可读写,属组和其他人只可读。drwxr-xr-x 则是目录,属主可读写执行,其他人可读可执行。注意目录的 x 权限代表“可以进入目录、访问里面的文件”,没有它,就算有 r 也看不到目录内容。

二、chmod:改权限有两种写法

最常用的是数字法:r=4,w=2,x=1,三组相加。chmod 755 script.sh 就是属主 7(4+2+1,可读写执行),属组和其他人 5(4+1,可读可执行)。常见的组合要记住:644 是普通文件默认,755 是脚本和目录默认,600 是私钥、密码类敏感文件的标准。

另一种是符号法,更直观:chmod u+x script.sh 给属主加执行权限;chmod g-w notes.txt 收回属组的写权限;chmod o=r notes.txt 把其他人的权限直接设为只读。u/g/o 分别对应三组,a 代表全部。两种写法效果一样,新手建议先练数字法,熟练后再用符号法做微调。

三、chown:改属主和属组

权限管“能干什么”,属主属组管“归谁管”。把文件交给别人负责时用 chown:

sudo chown vanseny:developers report.txt

冒号前是新属主,后是新属组;只写用户名则只改属主。加 -R 可以递归处理整个目录,例如部署网站时把整个站点目录交给 www-data。改属主通常需要 root 权限,所以前面要加 sudo。

四、三个日常场景

第一,让脚本可执行。刚写好的 deploy.sh 直接运行会报 Permission denied,因为新建文件默认没有 x 权限,一条 chmod +x deploy.sh 就够了。

第二,保护私钥。SSH 私钥如果权限太开放,SSH 客户端会直接拒绝使用,并提示权限过松。chmod 600 ~/.ssh/id_ed25519 是标准做法,只让自己可读写。

第三,网站目录。Web 服务需要读取目录和文件,但绝不能让它有写权限,否则一个漏洞就能改掉你的网页。一般目录设 755、文件设 644,上传目录再单独放开。

五、一个忠告:别动不动就 777

遇到权限问题,新手最容易 chmod -R 777 一把梭。777 意味着任何人都能读写执行,等于把家门钥匙贴在门口,服务器一旦被入侵,损失会成倍放大。正确的做法是先用 ls -l 看清现状,缺什么补什么,精确到最小权限。

权限管理没有捷径,但也不神秘:ls -l 看现状,chmod 改权限,chown 改归属,600/644/755 三组数字覆盖九成场景。把这套流程练熟,下次再遇到 Permission denied,你就知道该查哪里、该改什么了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。