以超級用戶工作:su su命令允許臨時變換到任何一用戶標識(如果擁有口令的話),並掛起當前shell,為新用戶開啟一個新的shell。 將當前用戶標識harley變換為weedly,但仍在harley的環境下工作。 同時變換用戶標識和環境。su命令更多用於切換到超級用戶root。此時,我們也希望在r ...
以超級用戶工作:su
- su命令允許臨時變換到任何一用戶標識(如果擁有口令的話),並掛起當前shell,為新用戶開啟一個新的shell。
su <user>
將當前用戶標識harley變換為weedly,但仍在harley的環境下工作。
[harley] $ su weedly Password: <weedly_password> [weedly] $
su - <user>
同時變換用戶標識和環境。su命令更多用於切換到超級用戶root。此時,我們也希望在root環境中工作而不是在自己環境中。
[harley] $ su - [root] # [root] 表示root可寫可不寫 Password: <root_password> #
#
提示符表明已成為超級用戶。exit返回自己的舊shell。
# exit [harley] $
以超級用戶執行一條單獨的命令:sudo
- sudo命令允許以另一用戶標識執行一條單獨命令,預設用戶是root。
- 使用sudo命令,系統只要求你輸入自己的口令(password),而不是超級用戶的口令。
[harley] $ sudo <command_name> [sudo] password for harley: <harley_password>
- 但並不是所有人都允許使用sudo命令,必須是用戶標識位於一個特殊的列表上的用戶才可以使用sudo命令,這個列表保存在
/etc/sudoers
中,而且它只能被超級用戶修改。 - 一旦正確輸入口令,在一定時間內(一般為5min)不必再次輸入口令就可以運行sudo命令。
- 當用戶不在sudoers文件時,可以自己添加。以CentOS 7為例。
$ su root
$ chmod u+w /etc/sudoers // 寫許可權
$ vi /etc/sudoers
打開sudoers文件,輸入\Allow
找到## Allow root to run any commands anywhere root ALL=(ALL) ALL <user_name> ALL=(ALL) ALL // 添加
$ chmod u-w /etc/sudoers // 撤銷寫許可權