1. 程式人生 > >學習linux命令su和sudo

學習linux命令su和sudo

出於安全考慮,我們往往不使用root登入,而用一般賬號來管理,但有時一些許可權不夠,必須要用root使用者,其實系統提供了兩個命令su和sudo來解決這個問題,這裡先介紹這兩個命令的常見用法,然後對它們使用再進行下對比。  
Su是簡單用法 
Su的用途是讓使用者暫時改變登入者的身份,變更時要輸入所要變更使用者的使用者名稱和密碼。 我覺得su應該是switch users的意思,如果切換到root使用者,可以這樣: $ su root  
然後接下來就要輸入使用者名稱和密碼了,密碼正確後就切換到root使用者了,不過這個時候的使用者變數還是你原來的使用者變數,如果切換到root並使用root的使用者變數,可以這樣: $ su - root   (中間多了個減號) 
Su還有一個選項是 -c 後面接 command,只進行一次命令後退回原使用者 
這裡我可以看到,如果有多個使用者需要root許可權,如果使用su,則每個使用者都必須知道root密碼,這其實也造成了系統的不安全。  
Sudo的簡單用法 
對於root授權使用者,可使用該命令臨時切換到root環境下,授權檔案是/etc/sudoers  /etc/sudoers檔案預設440的許可權,可以先將檔案改為755,等修改完再把許可權改回來。 # chmod 755 /etc/sudoers  
然後編輯/etc/sudoers檔案。也就是輸入命令"vim /etc/sudoers",進入編輯模式,找到這一 行:"root ALL=(ALL) ALL"在起下面新增"xxx ALL=(ALL) ALL"(這裡的xxx是你的使用者名稱),然後儲存退出。  
然後在需要root許可權的操作前加sudo就可以了,例如: $ sudo mkdir /root/test 
其實sudo可以看成是受限制的su