[Linux] 使用者切換
阿新 • • 發佈:2018-12-31
Linux的使用者切換可以通過su和sudo這兩個命令,這兩個命令的使用場景是不一樣的。
su
如果你當前的身份是root,則可以通過su命令切換到其它任何使用者(無需密碼),如下所示:[[email protected] ~]# su - oracle
[[email protected] ~ ]$
如果你當前的身份不是root(即普通使用者),想通過su切換成root,則必須輸入root的密碼:
[[email protected] ~ ]$ su -
Password:
[[email protected] ~ ]#
當我們的Linux是多人管理時,如果通過su切換root,則每個人都需要知道root密碼,這非常不安全,因此su這種方式雖然簡單,但實際使用中很少使用。
sudo
Defaults visiblepw
User_Alias ADMIN = root,admin
ADMIN ALL=(ALL) NOPASSWD: ALL
首先,我們定義了一個使用者組(注意:使用者組名必須大寫),該使用者組包含root和admin使用者
這個檔案最重要的是第三行,下面分別解釋它的意思:
1)第1列:使用者賬號,表示哪個賬號可以使用sudo這個命令
2)第2列:限制登入這的來源主機名,ALL表示不做限制
3)第3列:可切換的身份,ALL表示可以切換成任何身份,NOPASSWD表示免密碼輸入(如果沒有NOPASSWD,則每次切換都要輸入自己的密碼)
4)第4列:可執行的命令,ALL表示所有命令,如果要對命令進行限制,可以採用如下定義:
注意:不要通過vi直接編輯/etc/sudoers,應該通過執行visudo命令編輯該檔案,因為在結束離開時,系統會去檢查/etc/sudoers的語法。 通過上面的配置,admin使用者就可以通過執行sudo su - 命令免密碼切換至root,是不是很方便呢。zabbix ALL=(ALL) NOPASSWD: /sbin/fuser, /usr/sbin/lsof, /usr/sbin/dmidecode, /sbin/mii-tool, /usr/sbin/iptstate