Linux用户管理命令和用户组管理命令
一、用户管理命令
1.1、adduser 添加新用户
1、基本语法
adduser 用户名 (功能描述:添加新用户)
应用场景1:企业开发,多人协同(也会有多人使用相同的一个低权限用户)。
应用场景2:框架协同 gitlab mysql redis
2、案例实操(添加一个用户)
sudo adduser tangseng
按提示输入密码、用户信息即可。
1.2、passwd设置或更改用户密码
1、基本语法
passwd 用户名 (功能描述:设置用户密码)
2、案例实操 (更改用户的密码)
sudo passwd tangseng
1.3、 id 查看用户是否存在
1、基本语法
id 用户名
2、案例实操 (查看用户是否存在)
id tangseng
1.4、cat /etc/passwd 查看创建了哪些用户
1、基本语法
cat /etc/passwd
su 切换用户
1.5、su: swith user 切换用户
1、基本语法
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
2、案例实操 (切换用户)
su tangseng
echo $PATH
exit
su - tangseng
echo $PATH
1.6、userdel 删除用户
1、基本语法
(1)userdel 用户名 (功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
2、选项说明
功能 | 选项 |
-r | 删除用户的同时,删除与用户相关的所有文件 |
3、案例实操
(1)删除用户但保存用户主目录
sudo userdel tangseng
(2)删除用户和用户主目录,都删除
sudo adduser zhubajie
ll /home/
sudo userdel -r zhubajie
ll /home/
1.7、 usermod 修改用户
1、基本语法
usermod -l 新用户名 老用户名
usermod -d /home/新用户名 -m新用户名
2、选项说明
选项 功能 -l 改变用户名 -d 修改家目录
3、案例实操
(1)改变用户名
sudo usermod -l meihouwang sunwukong
(2)更改家目录
sudo usermod -d /home/meihouwang -m meihouwang
二、用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同。
如Linux 下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group 文件的更新。
“本用户”:即创建Ubuntu的用户名
2.1、 groupadd 新增组
1、基本语法
groupadd 组名
2、案例实操(添加一个xitianqujing 组)
sudo groupadd xitianqujing
2.2、groupdel 删除组
1、基本语法
groupdel 组名
2、案例实操 (删除xitianqujing 组 )
sudo groupdel xitianqujing
2.3、groupmod 修改组
1、基本语法
groupmod -n 新组名 老组名
2、选项说明
选项 | 功能描述 |
-n<新组名> | 指定工作组的新组名 |
2.4、usermod 修改用户主组
在Linux 和Unix 系统中,每个用户都有一个主组(primary group)和可能的多个附加组(secondary groups 或 additional groups).
用户的主组在用户创建时被指定,默认与用户名称相同,当用户创建一个新文件或目录时,默认情况下,这些文件或目录会被分配给用户的主组。
1、基本语法
usermod -g 组名 用户名
2、选项说明
选项 | 功能描述 |
-g | 指定用户的新主组 |
3、案例实操
(1)查看用户主组
默认情况下用户的家目录会被分配给主组。
sudo adduser zhubajie
ll /home
(2)切换用户主组
sudo usermod -g xitian zhubajie
ll /home
2.5、cat /etc/group查看附加组和用户的映射关系
/etc/group 文件存储了用户和附加组的映射关系,每一行对应一个用户组,第三个冒号后面是以该组作为附加组的用户列表,列表为空表示没有用户将其作为附加组。
基本操作
cat /etc/group
2.6、将用户添加到附加组
1、基本语法
usermod -aG 组名 用户名
2、选项说明
选项 | 功能描述 |
-aG | 指定用户需要加入的附加组 |
3、案例实操
(1)查看“本用户” 组的用户列表
sudo cat /etc/group
(2)将“本用户” 作为zhubajie 的附加组
sudo usermod -aG 本用户 zhubajie
sudo cat /etc/group
2.7、将用户从组中移除
1、基本语法
deluser 用户名 组名
2、案例实操
sudo deluser zhubajie 本用户
正在将用户"zhubajie"从组"本用户"中删除...
完成。
2.8、sudo 设置普通用户具有root权限
sudo 是将对应的命令给到root用户去执行。
1、将meihouwang更名为sunwukong
sudo usermod -l sunwukong meihouwang
sudo usermod -d /home/sunwukong -m sunwukong
2、修改配置文件
sudo vim /etc/sudoers
找到下面一行(50行),如下所示:
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
这行的作用是允许sudo组的所有成员执行任何命令,换言之,该组成员都拥有了root权限。但是通过sudo命令操作时需要输入密码。在最后一个ALL前添加NOPASSWD:,则该组的成员通过sudo命令操作时不必输入密码。
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
保存退出。注意:sudoers文件没有写权限,保存退出要用wq!。
3、查看sudo组的成员
sudo cat /etc/group
4、将sunwukong添加到sudo组中
sudo usermod -aG sudo sunwukong
5、重新查看sudo组的成员
sudo cat /etc/group
可以看到,“本用户” 已经在sudo组中,因此之前我们并没有做sudo相关的配置,但是“本用户” 却可以获得root权限。
6、案例实操
(1)切换到sunwukong
su - sunwukong
(2)用普通用户sunwukong查看/etc下的sudoers文件
sudo cat /etc/sudoers
(3)切换回“本用户”
exit