Linux:让普通用户临时性获得root用户权限
生活随笔
收集整理的這篇文章主要介紹了
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
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
本文轉自 yubowei 51CTO博客,原文鏈接:http://blog.51cto.com/samyubw/331314
總結
以上是生活随笔為你收集整理的Linux:让普通用户临时性获得root用户权限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 跨域问题之ajax
- 下一篇: linux+tomcat+apache