chmod 管权限,chown 管归属;需先用 ls -l 查看文件权限与所有权,再按三类用户(所有者、所属组、其他人)和三类操作(读、写、执行)使用对应命令修改。

刚接触 Linux 的新手常被 chmod 和 chown 弄得一头雾水——其实它们分工明确:一个管“权限”,一个管“归属”。只要理解三类用户(所有者、所属组、其他人)和三类操作(读、写、执行),再记住基本语法,几分钟就能上手。
先看清楚当前文件的所有权和权限
执行 ls -l 是一切操作的前提。例如输出:-rw-r--r-- 1 alice dev 1024 Jan 1 10:00 notes.txt
前面的 -rw-r--r-- 表示权限(所有者可读写、组用户和其他人只可读),alice 是所有者,dev 是所属组。不看清这行,改错对象或权限就容易出问题。
用 chown 修改文件归属(谁拥有这个文件)
chown 的核心是“改主人”和/或“改组”,格式为:chown [用户]:[组] 文件名。常用场景:
- 只改所有者:
chown bob file.txt - 只改所属组(加冒号但不写用户):
chown :developers file.txt - 同时改用户和组:
chown alice:admin config.conf - 递归修改整个目录(含子文件):
chown -R www-data:www-data /var/www/html
注意:普通用户只能把自己的文件转给同组用户(需管理员授权),修改他人文件必须有 sudo 权限。
用 chmod 设置文件权限(谁能做什么)
chmod 有两种写法:符号法更直观,数字法更高效。新手建议从符号法起步:
- 给所有者增加执行权限:
chmod u+x script.sh - 去掉组用户的写权限:
chmod g-w doc.txt - 让其他人只有读权限(覆盖原有设置):
chmod o=r report.pdf - 常见组合:
chmod u=rwx,g=rx,o= script.sh(所有者全权、组可读可执行、其他人无权限)
数字法本质是三位八进制数,每位对应一类用户(u/g/o),每类权限用 4(读)、2(写)、1(执行)相加。例如 755 = rwxr-xr-x,644 = rw-r--r--。
几个关键提醒避免踩坑
权限管理不是越严越好,也不是越松越方便。实际使用中要注意:
- 不要对脚本或配置文件随意加
777,这是安全隐患; - 修改系统目录(如
/etc、/usr)前务必确认目标,误操作可能导致系统异常; - 网站文件通常要求:所有者是部署用户,组是 Web 服务组(如
www-data),权限设为644(文件)或755(目录); - 用
chmod -R要格外小心,建议先用ls -l确认范围,必要时加--no-preserve-root防误删(部分系统默认启用)。
掌握这两个命令的关键,在于多看、少猜、先试后改。每次操作前用 ls -l 对比,改完立刻验证是否生效,自然就熟了。










