Skip to content

用户管理

1 用户管理

1.1 用户创建

要创建一个新用户,可以使用 useradd 命令。以下是一个示例:

sudo useradd -m -s /bin/bash username

其中, -m 参数表示创建用户的家目录, -s 参数表示指定用户的默认 shell, username 是新用户的用户名。

1.2 用户修改

要修改用户的属性,可以使用 usermod 命令。以下是一些常见的示例:

  • 修改用户的密码:
sudo passwd username

其中, username 是要修改密码的用户的用户名。 - 修改用户的默认 shell:

sudo usermod -s /bin/zsh username

其中, /bin/zsh 是要设置的新 shell, username 是要修改的用户的用户名。 - 修改用户的家目录:

sudo usermod -d /home/newhome username

其中, /home/newhome 是要设置的新家目录, username 是要修改的用户的用户名。

1.3 用户删除

要删除一个用户,可以使用 userdel 命令。以下是一个示例:

sudo userdel -r username

其中, -r 参数表示删除用户的家目录和邮件目录。 username 是要删除的用户的用户名。

1.4 用户切换

在 root 身份下创建普通用户后,可 su 切换到新用户:

su username

必要时,切换回 root用户:

su -

1.5 密码管理

要管理用户的密码,可以使用 passwd 命令。以下是一些常见的示例: - 修改当前用户的密码:

passwd
- 修改其他用户的密码:

sudo passwd username
其中, username 是要修改密码的用户的用户名。 - 禁用用户的密码:

sudo passwd -l username
其中, -l 参数表示锁定用户的密码, username 是要禁用密码的用户的用户名。 - 解锁用户的密码:

sudo passwd -u username
其中, -u 参数表示解锁用户的密码, username 是要解锁密码的用户的用户名。

2 用户组管理

2.1 用户组创建

创建新用户组,可使用 groupadd 命令:

sudo groupadd newgroup

2.2 用户组修改

使用 groupmod 命令,可修改现有用户组信息:

sudo groupmod -n newgroupname oldgroupname

2.3 用户组成员管理

  • 添加成员

用户组创建完毕后,可通过 usermod 命令向组内添加用户成员:

sudo usermod -aG groupname username

也可使用 gpasswd 命令添加:

sudo gpasswd -a username groupname
  • 查看成员

添加后,使用 groups 命令验证该用户是否已被正确添加到对应组:

groups username

也可 cat /etc/group 查看该组的所有成员,格式解析如下:

组名 : 密码存储 : 组ID : 用户名单
  • 删除成员

使用 usermod 命令,可修改用户所属组:

# 查看 test_user所属组
groups test_user
test_user1 : test_user test_group root

# 修改其组,使test_user仅属于 test_group 组
sudo usermod -G test_group test_user

也可使用 gpasswd 命令,从指定用户组中,删除指定成员:

sudo gpasswd -d test_user test_group

2.4 用户组删除

使用 groupdel ,删除现有用户组:

sudo groupdel groupname

3 账户授权

3.1 禁止普通用户直接使用 su 命令

禁止普通用户直接使用 su 命令,只允许 wheel 组的用户切换到 root 用户。编辑 /etc/pam.d/su 文件,找到如下行:

#auth       required     pam_wheel.so use_uid

取消注释并保存:

auth       required     pam_wheel.so use_uid

3.2 添加用户到 wheel 组

普通用户在部分应用场景会需要 root 权限,此时可将其添加到 wheel 组。 wheel 组可用于授予特定用户 sudo 权限的。将用户添加到 wheel 组可以避免授予 root 权限。

首先,编辑 /etc/sudoers 文件,取消注释以下行,允许 wheel 组成员具备 sudo 权限:

%wheel ALL=(ALL) ALL

然后将对应用户添加后 wheel 组:

usermod -aG wheel username

退出当前会话,并验证 sudo 提权:

sudo ls /root/