1. 程式人生 > >Linux使用者不在sudoers檔案中

Linux使用者不在sudoers檔案中

*** is not in the sudoers file.  This incident will be reported.”  (使用者不在sudoers檔案中……) 處理這個問題很簡單,但應該先理解其原理再操作。首先要明白root的密碼一般使用者是不應該知道的,但一般使用者有時可能要用到root的一些許可權。 這裡就有了一個 /etc/sudoers 檔案,用來儲存一些使用者,使這些使用者可以通過sudo命令來暫時獲取root的許可權。這些使用者使用sudo時輸入的密碼是當前使用者密碼,而不是root密碼。還可以在sudoers檔案裡限制一般使用者的許可權,這樣就有了安全保證。 我在網上搜這個問題,大家都是這樣解決的: 現在要讓你的使用者獲得sudo使用權 1.切換到超級使用者root    $su - 2.檢視/etc/sudoers許可權,可以看到當前許可權為440    $ ls -all /etc/sudoers    -r--r----- 1 root root 744  6月  8 10:29 /etc/sudoers 3.更改許可權為777    $chmod 777 /etc/sudoers 4.編輯/etc/sudoers    $vi /etc/sudoers 5.在檔案中找到root  ALL=(ALL) ALL,在該行下新增提升許可權的使用者資訊,如: root    ALL=(ALL)       ALL ‘yourname’    ALL=(ALL)       ALL    然後儲存退出。    第一個ALL是指網路中的主機,我們後面把它改成了主機名,它指明你的使用者可以在此主機上執行後面的命令。    第二個括號裡的ALL是指目標使用者,也就是以誰的身份去執行命令。    最後一個ALL當然就是指命令名了。    具體這裡不作說明 6.把/etc/sudoers許可權改回440    $chmod 440 /etc/sudoers 7.操作完成,切換到你的使用者下測試一下 實際上,這個問題也不沒這麼複雜,因為預設只有root能夠執行sudo,因此其他賬號若要使用sudo執行屬於root的許可權命令,則root需要先使用visudo去修改/etc/sudoers,讓該賬號能夠使用全部或部分root命令功能。visudo相比直接使用vi的好處就在於,/etc/sudoers是有語法的,如果設定錯誤那會造成無法使用sudo命令的後果,而使用visduo去修改,系統會去檢驗有無語法錯誤。 1.切換到超級使用者root    $su - 2.編輯/etc/sudoers    $visudo 3.在檔案中找到root  ALL=(ALL) ALL,在該行下新增提升許可權的使用者資訊,如: root    ALL=(ALL)       ALL ‘yourname’    ALL=(ALL)       ALL    然後儲存退出,效果和上面的方法是一樣的。