1. 程式人生 > >Linux學習筆記之如何讓普通使用者獲得ROOT許可權

Linux學習筆記之如何讓普通使用者獲得ROOT許可權

 

在學習sodu的時候,我發現一些命令只能由root使用者使用,普通使用者使用會提示此使用者沒有使用sudo的許可權。我想到的解方法是把正在使用的普通使用者獲得root許可權,於是我通過百度和詢問老師知道了如何去實現。

 

舉例:

1.建立一個新使用者boy,密碼:123456(自定義)

 

2.嘗試一個非超級使用者不能執行的命令

sudo -l :檢視當前使用者可使用的命令,僅限root使用者可用。

 

3.修改sudo配置檔案/etc/sudoers

sudo為系統管理員提供配置檔案,允許系統管理員集中地管理使用者的使用許可權和使用的主機,它預設的存放位置是/etc/sudoers。

(1)檢視並修改sudoers的檔案許可權

我發現sudoers是一個只讀檔案,若要修改,必須修改許可權。

 

(2)利用visudo編輯sudoers配置

#配置sudo必須通過編輯/etc/sudoers檔案,而且只有超級使用者才可以修改它,還必須使用visudo編輯。 
#之所以使用visudo有兩個原因,一是它能夠防止兩個使用者同時修改它;二是它也能進行有限的語法檢查。所以,即使只有你一個超級使用者,你也最好用visudo來檢查一下語法。 
#visudo預設的是在vi裡開啟配置檔案,用vi來修改檔案。我們可以在編譯時修改這個預設項。#visudo不會擅自儲存帶有語法錯誤的配置檔案,它會提示你出現的問題,並詢問該如何處理,就像:

# 此時有三種選擇:鍵入“e”是重新編輯,鍵入“x”是不儲存退出,鍵入“Q”是退出並儲存。如果真選擇Q,那麼sudo將不會再執行,直到錯誤被糾正。

 

在sudoers找到下面的類似語句: 

 

 

顯然,這就是我要修改的地方了,有root為例子,我照著在下面新增要增添ROOT許可權的使用者:

 

儲存退出,這樣就完成了對boy新增root許可權。

 

(4)可以注意到,這裡有三個ALL,它們的意思分別是:


第一個ALL是指網路中的主機,我們後面把它改成了主機名,它指明boy可以在此主機上執行後面的命令。
第二個括號裡的ALL是指目標使用者,也就是以誰的身份去執行命令。
最後一個ALL是指命令名


例如,我們想讓boy使用者在linux主機上以root的身份執行kill命令,這樣編寫配置檔案:

boy=root/bin/kill

3.將sudoers訪問許可權恢復440

chmod 440 sudoers

4.登陸普通使用者,測試許可權