這篇文章主要介紹了詳解Linux下的sudo及其設定檔/etc/sudoers的詳細配置的相關資料,需要的朋友可以參考下
詳解Linux下的sudo及其設定檔/etc/sudoers的詳細設定
1.sudo介紹
sudo是linux下常用的允許普通用戶使用超級用戶權限的工具,允許系統管理員讓普通用戶執行一些或全部的root命令,如halt,reboot,su等等。這樣不僅減少了root使用者的登陸 和管理時間,同樣也提高了安全性。 Sudo不是對shell的一個代替,它是面向每個指令的。
它的特性主要有這樣幾點:
§ sudo能夠限制使用者只在某台主機上執行某些指令。
§ sudo提供了豐富的日誌,詳細地記錄了每個使用者做了什麼。它能夠將日誌傳到中心主機或日誌伺服器。
§ sudo使用時間戳檔案來執行類似的「檢票」系統。當使用者呼叫sudo並且輸入它的密碼時,使用者獲得了一張存活期為5分鐘的票(這個值可以在編譯的時候改變)。
§ sudo的設定檔是sudoers文件,它允許系統管理員集中的管理使用者的使用權限和使用的主機。它所存放的位置預設是在/etc/sudoers,屬性必須為0411。
2.設定檔/etc/sudoers
它的主要設定檔是sudoers,linux下通常在/etc目錄下,如果是solaris,缺省不裝sudo的,編譯安裝後通常在安裝目錄的etc目錄下,不過不管sudoers檔在哪兒,sudo都提供了一個編輯該檔的指令:visudo來對該檔案進行修改。強烈建議使用該指令修改 sudoers,因為它會幫你校驗檔案設定是否正確,如果不正確,在儲存退出時就會提示你哪段設定出錯的。
言歸正傳,以下介紹如何配置sudoers
先寫sudoers的缺省配置:
############################################################# # sudoers file. # # This file MUST be edited with the 'visudo' command as root. # # See the sudoers man page for the details on how to write a sudoers file. # # Host alias specification # User alias specification # Cmnd alias specification # Defaults specification # User privilege specification root ALL=(ALL) ALL # Uncomment to allow people in group wheel to run all commands # %wheel ALL=(ALL) ALL # Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL # Samples # %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom # %users localhost=/sbin/shutdown -h now ##################################################################
1. 最簡單的配置,讓普通用戶support具有root的所有權限
執行visudo之後,可以看見缺省只有一個設定:
#root ALL=(ALL) ALL
#那麼你就在下邊再加一條配置:
support ALL=(ALL) ALL
這樣,一般使用者support就能夠執行root權限的所有指令
以support使用者登入之後,執行:
#sudo su -
Host_Alias Cmnd_Alias User_Alias Runas_Alias
Host_Alias HOST_FLAG = hostname1, hostname2, hostname3
Cmnd_Alias COMMAND_FLAG = command1, command2, command3
sudo權限的使用者的清單
User_Alias USER_FLAG = user1, user2, user3
#Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
#5) 設定權限
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG
#設定範例:
############################################################################ # sudoers file. # # This file MUST be edited with the 'visudo' command as root. # # See the sudoers man page for the details on how to write a sudoers file. # # Host alias specification Host_Alias EPG = 192.168.1.1, 192.168.1.2 # User alias specification # Cmnd alias specification Cmnd_Alias SQUID = /opt/vtbin/squid_refresh, /sbin/service, /bin/rm # Defaults specification # User privilege specification root ALL=(ALL) ALL support EPG=(ALL) NOPASSWD: SQUID # Uncomment to allow people in group wheel to run all commands # %wheel ALL=(ALL) ALL # Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL # Samples # %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom # %users localhost=/sbin/shutdown -h now ##################################################
以上是詳解Linux下的sudo及其設定檔/etc/sudoers的詳細配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!