一、用戶管理命令
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