Linux 用户与组管理:useradd、group 与 sudo 一次讲清

举报
yd_283162409 发表于 2026/11/07 08:41:02 2026/11/07
【摘要】 为什么要有用户和组Linux 是多用户系统,一台机器上可以有多个账号同时使用。每个文件、每个进程都归属于某个用户,权限的边界就从这里划开:你能读什么、能改什么、能执行什么,首先取决于你是谁。组则是把一批用户打包成一个集合,方便统一授权——给组一次权限,组里的所有用户都跟着生效,省得一个个去配。看一眼现状:id、whoami、groups动手之前先看清自己是谁。whoami 显示当前用户名,i...

为什么要有用户和组

Linux 是多用户系统,一台机器上可以有多个账号同时使用。每个文件、每个进程都归属于某个用户,权限的边界就从这里划开:你能读什么、能改什么、能执行什么,首先取决于你是谁。组则是把一批用户打包成一个集合,方便统一授权——给组一次权限,组里的所有用户都跟着生效,省得一个个去配。

看一眼现状:id、whoami、groups

动手之前先看清自己是谁。whoami 显示当前用户名,id 会同时打出 uid、gid 和所属组,groups 只列组。刚装好的系统上一般只有一个普通用户加 root,uid 为 0 的永远是 root,普通用户从 1000 开始编号。记住这个对照关系,后面排权限问题时经常要用到。

建用户:useradd 与 passwd

新建用户用 useradd,例如 sudo useradd -m -s /bin/bash dev:-m 是同时创建家目录,-s 指定登录 shell。光建用户还不够,账号默认是没有密码的,登录不了,需要 sudo passwd dev 再设一个密码。想顺手把用户加进某个组,建的时候加上 -G sudo,docker,或者事后用 sudo usermod -aG docker dev 追加——注意 -aG 里的 -a 千万别漏,漏了会把用户原来加入的组全部替换掉。

组管理:groupadd 与 groupdel

组的命令是一套对应的:groupadd testers 建组,groupdel testers 删组,gpasswd -a dev testers 也可以把用户加进组。用户和组的对应关系存在 /etc/group 里,每行一个组,格式是组名、密码占位、gid、成员列表,直接看这个文件是最直观的核对方式。改完组之后,已经登录的会话不会立即生效,需要重新登录一次,新的组成员身份才会挂上。

sudo:普通用户临时提权

日常运维很少直接用 root 登录,靠的是 sudo:普通用户在命令前加 sudo,输入自己的密码后临时拿到 root 权限执行这一条命令。谁能用 sudo 由 /etc/sudoers 决定,最常见的授权就是把用户放进 sudo 组(Debian/Ubuntu)或 wheel 组(RHEL/CentOS)。改这个文件不要直接用编辑器打开,用 visudo,它会在保存前检查语法,写错一行导致 sudo 全军覆没就麻烦了。

删用户与改名字

人走了账号要回收:userdel dev 只删账号、保留家目录,userdel -r dev 连家目录一起删,删之前先确认里面没有要留的东西。改用户名用 usermod -l newname oldname,改家目录位置用 usermod -d /home/newname -m oldname。这类操作最好在该用户没有登录的时候做,否则正在跑的进程和文件归属会乱。

排错思路

权限问题十有八九出在身份上:先 id 用户名 看 uid、gid 和组对不对,再 ls -l 看文件归属和 rwx 位。刚加的组没生效,先问一句有没有重新登录;sudo 提示不在 sudoers 里,先查用户在不在 sudo 或 wheel 组。把用户、组、sudo 这三层理顺,Linux 权限的大半问题都有了头绪。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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