Linux:讓普通用戶臨時性得到root用戶權限

這兩天遇到一個問題,如何讓普通用戶得到root用戶的權限執行操做而不須要知道root用戶的密碼或向root用戶進行切換呢?通過查資料,有一個命令sudo能夠實現這個功能。
Sudo的工做流程:
(1)首先root用戶編輯/etc/sudoers文件,添加要分配的普通用戶記錄,其中有這麼一行記錄:root ALL=(ALL)  ALL,在這行後面添加:Sam ALL=(ALL)  ALL
(2) 那麼sam用戶在執行操做時,若是所執行的操做本身沒有權限,則首先會去/etc/sudoers文件中查找是否有對應的記錄,若是有的話則臨時得到root權限,執行只有root才能執行的操做。

注意:這裏會提示輸入密碼,可是輸入的是sam用戶的密碼,而不是root用戶的密碼。例如:
  Shell> sudo mkdir –p a/b/c/d
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

Password:           #這裏的密碼是sam用戶本身的密碼,而不是root的密碼

幾個操做:
1) 編輯/etc/sudoers文件,最後使用visudo命令,
   Shell> visudo
其實visudo命令也是調用vi去編輯sudoer文件的,可是在保存時會去檢查你修改後文件的語法,若是錯誤是不能保存的,可是若是直接用vi來編輯該文件,強制保存雖然成功,可是若是有語

法錯誤這裏並不能給出提示,也就致使了後面sudo命令的不可用。
2) 記錄解析:
  Sam   ALL=(ALL)  ALL
  使用者賬戶 登入的主機=(能夠變換的身份) 能夠下達的命令
上述語句的意思是 sam用戶能夠在任何地方登陸,並可切換成任何用戶進行任何操做。這裏若是(ALL)不寫,只寫爲 sam ALL=ALL,他默認只能切換爲root用戶。
3)對羣組的設定
  除了對單個用戶進行設定外,還能夠對某一羣組的全部用戶進行批量設定,這裏設置很好操做,只須要在名稱前添加%便可。例如:
  %sam  ALL=(ALL) ALL
Sam用戶組的全部用戶均可以進行切換,便可以得到root權限。
另外若是用戶執行操做時不想再次輸入密碼,能夠這麼設置:
  sam   ALL=(ALL) NOPASSWD: ALL
  %sam  ALL=(ALL) NOPASSWD: ALL

本文出自 「samyu的空間」 博客,請務必保留此出處http://samyubw.blog.51cto.com/978243/331314blog

相關文章
相關標籤/搜索