linux 普通使用者成為sudoer(轉)
使用自己的使用者登入Linux時,可以避免使用root使用者誤刪一些東西,不過有些命令必須得使用root使用者才可以使用,所以使用sudo是個很好的選擇!
sudo命令
這個時候, sudo 就派的上用場囉~那麼 sudo 是怎樣工作的呢?
- 當使用者執行 sudo 時,系統會主動的去尋找 /etc/sudoers 檔案,判斷該使用者是否有執行 sudo 的權限;
- 若使用者具有可執行 sudo 的權限後,便讓使用者『輸入使用者自己的密碼』來確認;
- 若密碼輸入成功,便開始進行 sudo 後續接的指令;
- 不過, root 執行 sudo 時,不需要輸入密碼;
- 若欲切換的身份與執行者身份相同,那也不需要輸入密碼。
要注意的是,使用者『輸入的是自己的密碼,而不是欲切換成為他的那個身份的密碼!』 舉例來說,假設 dmtsai 具有執行 sudo 的權限,那麼當他以 sudo 執行 root 的工作時, 他需要輸入的是 dmtsai 自己的密碼,而不是 root 的密碼!嘿嘿!很棒吧! ^_^ 如此一來,大家可以使用自己的密碼執行 root 的工作,而不必知道 root 的密碼,安全多了。 此外,使用者能夠執行的指令是可以被限制的! 所以,我們可以設定 dmtsai 僅能進行 shutdown 的工作,或者是其他一些簡單的指令, 嘿嘿!是否很棒啊!
不過,由上面的說明當中,您也會瞭解,是否具有 sudo 的執行權限是很重要的, 而 sudo 的執行權限與 /etc/sudoers 這的檔案有關。在預設的情況下,只有 root 才能夠使用 sudo 呢!至於編輯 /etc/sudoers 則需要 visudo 這個指令。
……is not in the sudoers file(解決方案)
首先需要切換到root身份
$su -
(注意有- ,這和su是不同的,在用命令"su"的時候只是切換到root,但沒有把root的環境變數傳過去,還是目前使用者的環境變數,用"su -"命令將環境變數也一起帶過去,就象和root登入一樣)
然後
$visudo
1、移動游標,到最後一行
2、按a,進入append模式
3、輸入
your_user_name ALL=(ALL) ALL
上面命令的意思是: 使用者帳號 登入的主機 = (可以變換的身份) 可以下達的指令
4、按Esc
5、輸入“:w”(儲存檔案)
6、輸入“:q”(退出)
這樣就把自己加入了sudo組,可以使用sudo命令了。