文章列表
1 分钟阅读

Linux 权限命令教程:chmod、chown、umask

Linux 入门 教程 #linux#权限#终端

系列:Linux 命令基础

第 6 / 16 篇

  1. Tmux 入门教程:让 SSH 断线和多任务终端不再中断
  2. Tree 命令教程:快速查看和导出目录结构
  3. Linux 搜索命令教程:find、grep、locate、rg 应该怎么选
  4. Linux 压缩与解压命令教程:tar、zip、gzip、xz、zstd 一次讲清
  5. Linux 文本处理命令教程:cat、less、head、tail、wc、sort、uniq
  6. Linux 权限命令教程:chmod、chown、umask
  7. Linux 进程查看与管理:ps、top、htop、kill、jobs
  8. Linux 网络排查命令:ss、curl、dig、ping、traceroute
  9. systemctl 与 journalctl 入门:管理服务和查看日志
  10. rsync 使用指南:服务器文件同步与备份
  11. Linux 服务器安全基础:SSH、用户权限、防火墙和 fail2ban
  12. 线上问题排查流程:日志、端口、进程、磁盘、网络怎么一步步看
  13. 深入浅出:Linux 树状目录神器 tree 命令的安装与使用指南
  14. Linux 系统 Vim 编辑器终极指南:从入门到精通
  15. SSH 隧道实战:本地转发、远程转发和动态转发
  16. SSH Config 使用指南:别名、跳板机与多服务器管理

Linux 权限问题很常见:脚本不能执行、Nginx 读不到静态文件、服务写不了日志。先理解 chmodchownumask,很多问题就能自己判断。

看权限

Terminal window
ls -l app.sh

输出类似:

-rw-r--r-- 1 app app 120 Jun 28 app.sh

前三组分别是属主、属组、其他人的权限。r 读,w 写,x 执行。

chmod

给脚本加执行权限:

Terminal window
chmod +x app.sh

常见数字权限:

644 普通文件
755 可执行文件或目录
600 私钥文件
700 只有自己能访问的目录

目录要有 x 才能进入。

chown

修改属主属组:

Terminal window
sudo chown app:app /srv/app
sudo chown -R app:app /srv/app/uploads

不要习惯性 chmod 777。这通常是在掩盖属主配置错误。

umask

umask 决定新文件默认权限:

Terminal window
umask
umask 022

022 表示新文件通常是 644,新目录通常是 755。服务器上如果默认权限太松,先看 umask。

常见问题

SSH 私钥权限太宽会被拒绝:

Terminal window
chmod 600 ~/.ssh/id_ed25519

Web 服务写不了目录时,先看服务进程用户,再改属主。可以配合 Linux 进程查看与管理:ps、top、htop、kill、jobs 查进程用户。

总结

权限问题不要靠 777 解决。先看 ls -l,判断谁需要读、写、执行,再用 chmodchown 精确调整。更多细节参考 GNU chmod 文档