先復(fù)習(xí)一下上節(jié)內(nèi)容:
1.用戶組添加groupadd
2.用戶組修改groupmod
3.用戶組刪除groupdel
4.作業(yè)創(chuàng)建一個id為501的組group1,然后改成group2, 同時id變?yōu)?02,最后刪除這個組,命令分別如下:
groupadd –g 501 group1
groupmod –g 502 –n group2 group1
groupdel group2
這一節(jié),我們來說一下用戶切換相關(guān)命令
為什么要進(jìn)行用戶切換?
在操作過程中需要使用特定的用戶進(jìn)行特定的操作,多數(shù)情況下是因?yàn)闄?quán)限,比如要修改一個文件,只有root用戶有權(quán)限修改,那么就要切換到root用戶下進(jìn)行操作。切換用戶一般有兩個命令:
1.su命令
su命令不加參數(shù),默認(rèn)切到root用戶,需要輸入root用戶密碼進(jìn)行驗(yàn)證,
exit命令可退出root用戶。
su命令可以加一個“-”再加上用戶名,此時,不但身份變化了,同時也擁有了此用戶的“用戶環(huán)境”,比如用戶家目錄以及此用戶的其它個性化設(shè)置。
普通用戶切換其它用戶需要知道其它用戶的密碼,root用戶使用su命令切換其它用戶,不需要知道用戶密碼
2.sudo命令
sudo的用法是,在sudo后面加上要執(zhí)行的命令,表示用root身份執(zhí)行此命令,比如
sudo useradd user1,表示用root身份執(zhí)行添加用戶的操作。
此命令在系統(tǒng)中的動作流程是
1.檢查當(dāng)前用戶是否有sudo的權(quán)限,通過檢查/etc/sudoers文件
比如我們用user1執(zhí)行sudo useradd命令,會報(bào)錯
2.在用戶輸入自己的密碼后,驗(yàn)證用戶密碼
3.密碼正確后,如果當(dāng)前用戶有權(quán)限用sudo執(zhí)行對就的命令,系統(tǒng)就會以root用戶身份執(zhí)行相關(guān)命令
基于以上流程,我們需要先給用戶sudo的權(quán)限,此權(quán)限存儲在/etc/sudoers這個文件中,可以用vi或vim進(jìn)行編輯(這兩個命令以面會講到),或是用sudoers文件的專用命令visudo,這里我們用visudo進(jìn)行編輯,可以看到root用戶的sudo權(quán)限:
這一行表示的意思是,root用戶(第一列),從任何地方登錄(第二列的ALL),可以執(zhí)行任何人(第三列的ALL)的任何命令(第四列的ALL),根據(jù)這個定義,我們把user1的權(quán)限也加上
保存后退出,再次在user1中執(zhí)行sudo useradd命令,此時要求輸入user1的密碼,證明權(quán)限生效了
還可以通過 %組名稱 的方式給用戶組分配權(quán)限,比如
%users ALL=(ALL) ALL
表示所有users組中的用戶都可以執(zhí)行sudo命令。
如何不想每次都輸入密碼,可以使用NOPASSWD進(jìn)行配置,如下:
再次執(zhí)行sudo useradd命令
已不再要求輸入密碼。
再進(jìn)一步,可以設(shè)置用戶有權(quán)限執(zhí)行哪些命令,比如我們讓user1只能執(zhí)行shutdown命令,可以做如下配置
保存退出后,在user1中再次執(zhí)行sudo useradd命令
已沒有執(zhí)行權(quán)限
聯(lián)系客服