Linux 权限管理 chmod chown 使用详解

6次阅读

linux 权限管理核心是 chmod 和 chown:chmod 通过数字(如 755)或符号(如 u +x)修改读、写、执行权限,控制“谁能做什么”;chown 修改所有者和所属组,控制“谁拥有什么”,配合 -r、- h 等选项实现精准管理。

Linux 权限管理 chmod chown 使用详解

Linux 权限管理核心就两个命令:chmod 控制“谁能做什么”,chown 控制“谁拥有什么”。搞清文件的三类身份(所有者、所属组、其他人)和三类权限(读、写、执行),再配合数字或符号模式,就能精准控制访问行为。

chmod:修改文件或目录的访问权限

权限分三组,每组用 r(读)、w(写)、x(执行)表示。例如 rw-r–r– 表示:所有者可读写,所属组和其他人只能读。

  • 数字表示法 :r=4,w=2,x=1,相加得单组权限值。如 chmod 755 file = 所有者(4+2+1=7)、组(4+0+1=5)、其他(4+0+1=5)→ rwxr-xr-x
  • 符号表示法 :用 u/g/o/a 表示用户 / 组 / 其他 / 全部,+/-/= 修改权限。如 chmod u+x,g-w file 给所有者加执行权、去掉组的写权
  • 常用场景 :脚本文件通常需执行权 → chmod +x script.sh;配置文件应限制写入 → chmod 644 config.conf;目录要进入必须有 x 权限 → chmod 755 dir/

chown:修改文件或目录的所有者和所属组

语法为 chown [选项] [所有者][:][所属组] 文件 。冒号前后可单独指定,也可同时指定。

  • 只改所有者:chown alice file
  • 只改所属组:chown :developers filechown .developers file
  • 同时改两者:chown alice:developers file
  • 递归修改目录及内容:chown -R www-data:www-data /var/www/html/
  • 保持链接文件不跳转(安全操作):chown -h user:group symlink

权限与目录的特殊关系

对目录来说,“执行(x)”权限实际是“可进入”权限,没有它就无法 cd 进入或列出子项(即使有 r 权限)。常见误区:

  • 只有 r 权限的目录 → 可用 ls 列出文件名,但无法 ls -l 查看详情(因无法访问 inode)
  • 只有 x 权限的目录 → 无法列出内容,但若已知文件名,可访问该文件(前提是文件本身权限允许)
  • 新建文件默认继承父目录的组(如果目录设置了 setgid 位:chmod g+s dir

实用技巧与注意事项

  • 查看权限和归属用 ls -l,第一列十字符含类型与权限,第三、四列分别是所有者和组
  • 普通用户只能修改自己拥有的文件的权限,但不能把权限改得比自己当前权限更宽松(如无 w 权就不能加 w)
  • 修改系统关键文件前务必确认影响,如误改 /etc/passwd 权限可能导致登录失败
  • 临时提权用 sudo,如 sudo chmod 600 ~/.ssh/id_rsa
text=ZqhQzanResources