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

先複習一下上節內容:vim

  1. 用戶組添加groupadd
  2. 用戶組修改groupmod
  3. 用戶組刪除groupdel
  4. 做業建立一個id爲501的組group1,而後改爲group2, 同時id變爲502,最後刪除這個組,命令分別以下:

groupadd –g 501 group1微信

groupmod –g 502 –n group2 group13d

groupdel group2blog

 

這一節,咱們來講一下用戶切換相關命令it

爲何要進行用戶切換?登錄

在操做過程當中須要使用特定的用戶進行特定的操做,多數狀況下是由於權限,好比要修改一個文件,只有root用戶有權限修改,那麼就要切換到root用戶下進行操做。切換用戶通常有兩個命令:配置

 

1. su命令權限

 

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

 

exit命令可退出root用戶。im

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命令

 

 

已沒有執行權限

 

更多文章關注微信公衆號「挨踢學霸」

相關文章
相關標籤/搜索