標籤:blog 使用 ar 檔案 div 問題 on log linux
sudo 這個命令是ubuntu系統是用的最多的(和其他福士版linux系統比起來),而一個普通使用者是否有sudo許可權來臨時切換到root使用者來執行“一行”命令取決於 /etc/sudoers的配置,而sudoers這個詭異的檔案又不能用常規的方式來修改。
所謂常規方式是什麼呢,就是用chmod讓可以操縱的使用者獲得寫入權限,修改完檔案再將許可權複原。可是sudoers這個檔案預設許可權是root的440:
-r--r----- 1 root root 4002 Mar 2 2012 /etc/sudoers
一旦把它的許可權改成非440,就會出現sudo命令無法使用的情況。其他linux還好說,可ubuntu的root使用者預設是禁用的啊,root使用者用不了,sudo命令也用不了,糾結死了。若是別的檔案還好說,偏偏這個檔案許可權一改就幾乎稍微大點的事都幹不了了。
這個時候只能進入單一使用者模式進行修複,ubuntu進入單一使用者模式的方式是重啟選擇復原模式的選項進入(如果有多個系統,grub菜單會顯示,這時選擇復原模式的選項進入即可;如果只有唯一的一個ubuntu系統,需要開機按shift讓grub菜單顯示出來),在短暫的載入之後就可以選擇修複的選項了,這時選擇root選項,這個就是以root單一使用者模式進入的方式。
用chmod將sudoers檔案的許可權改回440,之前可以sudo的使用者就可以正常使用了:
chmod 440 /etc/sudoers
如果出現Read-only file system的提示不讓修改,可以重新掛載以解決:
mount -o remount rw /
這時也可以用passwd給root使用者佈建密碼,以後再出現這樣的烏龍就不需要重啟進單一使用者模式了。但還是不推薦大家開啟root使用者,我覺得吧,存在的就是合理的,通過禁用root的方式來限制命令的影響範圍是有一定必要的。
進入系統,正確的修改sudoers檔案的方式其實已經卸載sudoers裡了,就是使用visudo命令來修改這個特殊的檔案。
## This file must be edited with the ‘visudo‘ command.
應該使用有sudo許可權的使用者,執行:
sudo visudo
在root ALL=(ALL) ALL這行下面在寫一行學著這行的格式,把需要使用sudo命令的使用者加在裡面,儲存時覆蓋掉源檔案就可以了。
root ALL=(ALL) ALLuser ALL=(ALL) ALL
好啦,問題解決。
希望大家引以為戒,下次遇到問題時要是找到這篇東拼西湊的文章也能快速解決問題。同時也給自己提個醒。
ubuntu手賤改了sudoers之後的恢複