Linux 用户与权限管理入门:从 useradd 到 sudo 的日常实践
多用户是 Linux 与生俱来的设计。一台服务器上可能同时住着开发、运维、自动化脚本,每个身份能看什么、能改什么,都由用户与权限体系说了算。理解这套规则,是安全使用 Linux 的第一步。
用户、组与 UID
每个用户都有唯一的数字身份 UID:root 是 0,普通用户从 1000 开始编号;组用 GID 标识。id 命令能立刻看到自己是谁、属于哪些组;/etc/passwd 记录了每个用户的登录名、UID、默认 Shell 与家目录,而密码哈希则单独放在只有 root 能读的 /etc/shadow 里。
新建用户用 useradd:sudo useradd -m -s /bin/bash xiaoming 会同时创建家目录并指定 Shell。-m 很关键,漏了它用户登录后连自己的家目录都没有。建好后用 passwd xiaoming 设密码;userdel -r xiaoming 删除用户并连同家目录一起清理,-r 不加会留下孤儿目录。
用户分组用 groupadd 与 usermod -aG:sudo usermod -aG docker xiaoming 把用户加进 docker 组。注意 -aG 里的 -a 是追加,漏了它会把用户原有的组全部替换掉,这个坑很多人踩过。改完组要重新登录才生效。
读、写、执行:九个字符的规则
ls -l 输出开头的 -rw-r--r-- 就是权限位:第一位是文件类型,接下来每三位一组,分别属于文件所有者、所属组、其他人,r 是读、w 是写、x 是执行。目录的 x 含义略有不同——它代表"能否进入这个目录",没有 x 的目录即使能列出名字也进不去。
改权限用 chmod,两种写法各有场景:数字法 chmod 755 script.sh 简洁直观,7 是 rwx、5 是 r-x;符号法 chmod u+x script.sh 只给所有者加执行权限,改动更精细。改归属用 chown:sudo chown xiaoming:devs file.txt 同时改所有者和组,-R 递归处理整个目录。
sudo:把 root 的钥匙分开发
日常运维很少直接用 root 登录,正确姿势是普通用户加 sudo。sudo 让你以 root 身份执行单条命令,用完即还,比长期挂着 root 会话安全得多。把用户加进 sudo 组(Debian/Ubuntu)或 wheel 组(RHEL 系),再用 visudo 检查 /etc/sudoers,就能按需放行。
一个好习惯是"最小权限":只给账号完成工作必需的权限,临时任务做完就收回。sudo -l 可以查看自己当前被允许执行哪些命令,交接服务器前先跑一遍,心里有数。
日常排查三板斧
遇到"Permission denied"别急着 chmod 777——那等于把门拆了。先看三点:ls -l 看权限位,id 看自己属于哪个组,namei -l /path/to/file 从根目录逐层看每一级目录的权限,问题常常出在父目录少了 x。日志里搜 “permission” 也能快速定位是哪个用户在哪个文件上被拦。
权限管理没有捷径,就是"谁、能对什么、做什么"三件事反复确认。把 useradd、chmod、chown、sudo 这四个命令练熟,再遇到多用户协作的场景,就能既不挡路、也不留门。
- 点赞
- 收藏
- 关注作者
评论(0)