在Linux系统中,创建用户并指定用户组是常见的系统管理任务。以下是几种实现方法:
useradd
命令创建用户并指定主组sudo useradd -m -G 附加组名 -g 主组名 用户名
参数说明:
- -m
:创建用户主目录(通常在/home/目录下)
- -G
:指定用户所属的附加组(可以指定多个组,用逗号分隔)
- -g
:指定用户的主组(如果不指定,默认会创建一个与用户名相同的组作为主组)
示例:
sudo useradd -m -G developers,testers -g staff john
adduser
命令(交互式,某些发行版更友好)sudo adduser --ingroup 主组名 用户名
示例:
sudo adduser --ingroup staff john
如果用户已存在,可以使用usermod
命令修改其组关系:
sudo usermod -a -G 组名 用户名
参数说明:
- -a
:追加到现有附加组(不使用此选项会覆盖原有附加组)
- -G
:指定附加组
示例:
sudo usermod -a -G developers john
创建后可以验证用户组设置:
id 用户名
或
groups 用户名
如果组不存在,需要先创建组:
sudo groupadd 组名
主组和附加组的区别:
使用-a
选项时一定要配合-G
使用,否则会覆盖原有附加组
某些发行版(如Ubuntu)推荐使用adduser
而非useradd
,因为前者提供了更友好的交互式界面
创建用户后通常需要设置密码:
sudo passwd 用户名
要删除用户及其主目录:
sudo userdel -r 用户名