Linux 用户和用户组
- 操作系统:Manjaro Linux - Xfce
- Shell 解释器:Bash Shell
博客地址:掘金
视频地址:B 站
用户组管理
Tips:
- 对于用户组的管理,一般需要在 root 权限下进行
- 如果是普通用户进行操作,需要有 sudo 权限
切换用户:
su - username
举例:
su - root
su - user-kevin
查看所有用户组
查看所有用户组:
getent group
查看一个用户组或多个用户组:
getent group group-users
getent group group-users [group-developers]
添加用户组
添加用户组:
sudo groupadd [options] group-name
举例:
sudo groupadd group-users
删除用户组
删除用户组的命令:
sudo groupdel group-name
举例:
sudo groupdel group-users
Tips:
- 如果用户组里面有用户存在,是无法删除的该用户组的
- 需要先把该用户组中的所有用户移除后,才可进行删除
修改用户组
修改用户组:
sudo groupmod [options] new-group-name group-name
举例:(更改用户组的名称)
sudo groupmod -n group-users-temp group-users
用户管理
查看用户
查看所有用户:
getent passwd
查看单个用户或多个用户:
getent passwd username
getent passwd username [username]
举例:
getent passwd user-kevin
getent passwd user-kevin user-tom
添加新用户
添加新用户:
sudo useradd -m username
提示:
- 添加新用户时,尽量带上 -m 或 -d 参数
- 如果不加 -m 或 -d 参数,有些系统,是不会给用户添加默认主文件夹的
举例:
sudo useradd -m user-kevin
修改用户
修改用户:
sudo usermod [options] username
举例:
sudo usermod -d /home/user-kevin-temp user-kevin
Tips:
- 上面的例子修改了用户 user-kevin 的主文件夹,但是系统不会自动创建一个新的文件夹,需要在 /home 文件夹下自己创建一个文件夹 user-kevin-temp
删除用户
删除用户:
sudo userdel [options] username
举例:
sudo userdel -r user-kevin
Tips:
- 删除用户时,如果不带 -r 参数的话,系统不会删除该用户的主文件夹,需要自己删除
用户和用户组之间的管理
主组和附加组
- 主组:一个用户只能存在于一个主组中
- 附加组:一个用户可以存在于多个附加组中
查看用户所在的所有组
查看用户所在的所有组 - 两种方法:
id username
groups username
举例:
id user-kevin
groups user-kevin
更改用户的主组
更改用户的主组:(注意:一般不建议这么做)
sudo usermod -g newgroupname username
添加用户到某个附加组
添加用户到某个附加组 - 两种方法:
- 方法 1:
sudo usermod -aG newgroupname username
- 方法 2:
sudo gpasswd -a username groupname
把用户从某个附加组中删除
把用户从某个附加组中删除:
sudo gpasswd -d username groupname
举例:
# user-kevin 添加到 group-developers
sudo usermod -aG group-developers user-kevin
# user-kevin 添加到 group-developers
sudo gpasswd -a user-kevin group-developers
# user-kevin 从 group-developers 中删除
sudo gpasswd -d user-kevin group-developers