1. 程式人生 > >linux系統命令學習系列-用戶切換命令su,sudo

linux系統命令學習系列-用戶切換命令su,sudo

upd 兩個 更多 家目錄 ima user 分享圖片 哪些 什麽

先復習一下上節內容:

  1. 用戶組添加groupadd
  2. 用戶組修改groupmod
  3. 用戶組刪除groupdel
  4. 作業創建一個id為501的組group1,然後改成group2, 同時id變為502,最後刪除這個組,命令分別如下:

groupadd –g 501 group1

groupmod –g 502 –n group2 group1

groupdel group2

這一節,我們來說一下用戶切換相關命令

為什麽要進行用戶切換?

在操作過程中需要使用特定的用戶進行特定的操作,多數情況下是因為權限,比如要修改一個文件,只有root用戶有權限修改,那麽就要切換到root用戶下進行操作。切換用戶一般有兩個命令:

1. su命令

su命令不加參數,默認切到root用戶,需要輸入root用戶密碼進行驗證,

技術分享圖片

技術分享圖片

exit命令可退出root用戶。

su命令可以加一個“-”再加上用戶名,此時,不但身份變化了,同時也擁有了此用戶的“用戶環境”,比如用戶家目錄以及此用戶的其它個性化設置。

技術分享圖片

普通用戶切換其它用戶需要知道其它用戶的密碼,root用戶使用su命令切換其它用戶,不需要知道用戶密碼

技術分享圖片

2. sudo命令

sudo的用法是,在sudo後面加上要執行的命令,表示用root身份執行此命令,比如

sudo useradd user1,表示用root身份執行添加用戶的操作。

此命令在系統中的動作流程是

  1. 檢查當前用戶是否有sudo的權限,通過檢查/etc/sudoers文件

比如我們用user1執行sudo useradd命令,會報錯

技術分享圖片

  

  2. 在用戶輸入自己的密碼後,驗證用戶密碼

  3. 密碼正確後,如果當前用戶有權限用sudo執行對就的命令,系統就會以root用戶身份執行相關命令

基於以上流程,我們需要先給用戶sudo的權限,此權限存儲在/etc/sudoers這個文件中,可以用vi或vim進行編輯(這兩個命令以面會講到),或是用sudoers文件的專用命令visudo,這裏我們用visudo進行編輯,可以看到root用戶的sudo權限:

技術分享圖片

這一行表示的意思是,root用戶(第一列),從任何地方登錄(第二列的ALL),可以執行任何人(第三列的ALL)的任何命令(第四列的ALL),根據這個定義,我們把user1的權限也加上

技術分享圖片

保存後退出,再次在user1中執行sudo useradd命令,此時要求輸入user1的密碼,證明權限生效了

技術分享圖片

還可以通過 %組名稱 的方式給用戶組分配權限,比如

%users ALL=(ALL) ALL

表示所有users組中的用戶都可以執行sudo命令。

如何不想每次都輸入密碼,可以使用NOPASSWD進行配置,如下:

技術分享圖片

再次執行sudo useradd命令

技術分享圖片

已不再要求輸入密碼。

再進一步,可以設置用戶有權限執行哪些命令,比如我們讓user1只能執行shutdown命令,可以做如下配置

技術分享圖片

保存退出後,在user1中再次執行sudo useradd命令

技術分享圖片

已沒有執行權限

更多文章關註微信公眾號“挨踢學霸”

技術分享圖片

linux系統命令學習系列-用戶切換命令su,sudo