Linux权限管理— sudo授权
sudo授權(quán)
1、什么是sudo授權(quán)
/sbin/和/usr/sbin/
以上兩個(gè)目錄下命令只有超級(jí)用戶才能使用。
sudo授權(quán):把指定的命令授權(quán)給普通用戶,讓普通用戶可以執(zhí)行指定的命令。(只給用戶授權(quán)執(zhí)行一個(gè)命令的權(quán)限)
原則上:
賦予的權(quán)限越詳細(xì),普通用戶得到的權(quán)限越小。
賦予的權(quán)限越簡單,普通用戶得到的權(quán)限越大。
2、 sudo授權(quán)說明
root身份操作:執(zhí)行visudo命令,賦予普通用戶權(quán)限命令,命令執(zhí)行后和vi一樣使用。
用戶名 被管理主機(jī)的地址(IP地址)=(可使用的身份) 授權(quán)命令(絕對(duì)路徑) root ALL=(ALL) ALL組名 被管理主機(jī)的地址=(可使用的身份) 授權(quán)命令(絕對(duì)路徑) %wheel ALL=(ALL) ALL (組名前邊要加上%)說明:
- 用戶名/組名:代表root給哪個(gè)用戶或用戶組賦予命令,注意組名前加"%"。
- 被管理主機(jī)的地址:這里的IP地址管理的不是登錄者來源的IP地址,這里的IP指定的是用戶可以管理哪個(gè)IP地址的服務(wù)器。那么如果你是一臺(tái)獨(dú)立的服務(wù)器,這里寫ALL和你服務(wù)器的IP地址,作用是一樣的。如果寫ALL,代表可以管理任何主機(jī),如果我們這里寫本機(jī)的IP地址,不代表只允許本機(jī)的用戶使用指定命令,而代表指定的用戶可以從任何IP地址來管理當(dāng)前服務(wù)器。(這里記住寫ALL就可以了)
- 可使用身份:就是把來源用戶切換成什么身份使用(就是把前面用戶的身份,切換成什么身份),(ALL)代表可以切換成任意身份,包括root。這個(gè)字段可以省略,代表切換成root。
- 授權(quán)命令:代表root把什么命令授權(quán)給普通用戶。默認(rèn)是ALL,代表任何命令,這個(gè)當(dāng)然不行,賦予的權(quán)限越詳細(xì),普通用戶得到的權(quán)限越小。不過需要注意,命令一定要寫成絕對(duì)路徑。
3、舉例
1)比如授權(quán)用戶user1可以重啟服務(wù)器
普通用戶是無法重啟服務(wù)器的,因?yàn)闆]有這個(gè)命令的權(quán)限。
由root用戶添加如下行:
執(zhí)行執(zhí)行visudo命令,賦予普通用戶權(quán)限。
查看結(jié)果如下圖:
上圖中藍(lán)框前邊的(root),是因?yàn)槲疑线吪渲玫臅r(shí)候省略了等號(hào)后邊的賦值,默認(rèn)切換成root用戶,如果我配置成ALL,(root)位置會(huì)顯示成ALL。(root和ALL效果上都一樣)
還要注意一點(diǎn),如果編輯授權(quán)內(nèi)容是user1 ALL=/sbin/shutdown,代表user1用戶可以使用shutdown所有的參數(shù),如-r重啟,-h關(guān)機(jī)。所以就向上面的說賦予的權(quán)限越詳細(xì),普通用戶得到的權(quán)限越小。
注意:配置sudo授權(quán),不需要重啟服務(wù)器,保存退出即可。
- 普通用戶如何執(zhí)行呢?
普通用戶直接使用shutdown命令是不行的,需要使用sudo /sbin/shutdown -r now,才能執(zhí)行。注意要使用shutdown命令的絕對(duì)路徑。如下圖所示。
2)我想授權(quán)一個(gè)用戶管理我的Web服務(wù)器,以后修改設(shè)置更新網(wǎng)頁什么都不用管。
首先要分析授權(quán)用戶管理Apache,至少要實(shí)現(xiàn)哪些基本授權(quán):
- 1、可以使用Apache管理腳本
- 2、可以修改Apache配置文件
- 3、可以更新網(wǎng)頁內(nèi)容
剩下的解決不了,再來找我就行了。
假設(shè)Aapche管理腳本程序?yàn)?etc/rc.d/init.d/httpd(舉例的是rpm包安裝的apache)。
- 條件一,用visudo進(jìn)行授權(quán):
擴(kuò)展:
reload:是重新加載配置文件的命令。如果你正在訪問服務(wù)器,比如下載,先不會(huì)關(guān)閉服務(wù)器,會(huì)等你訪問完成后再重啟服務(wù)器。(起作用時(shí)間有時(shí)候會(huì)比較長)
restart:重啟,先把服務(wù)關(guān)了,再進(jìn)行重啟。如果有人正在你的服務(wù)器下程序,也直接斷了。(但是常用)
授權(quán)用戶user1可以連接192.168.0.156上的Apache服務(wù)器,通過Apache管理腳本重新讀取配置文件,讓更改的設(shè)置生效(reload),但不允許其執(zhí)行關(guān)閉(stop)、重啟(restart)等操作。
- 條件二,同樣使用visudo授權(quán):
授權(quán)用戶user1可以用root身份使用vim編輯器,編輯Apache配置文件。
[root@localhost ~ ] # visudo user1 192. 168. 0. 156=/usr/bin/vim /etc/httpd/conf/httpd. conf以上兩種sudo的設(shè)置,要特別注意,使用sudo會(huì)犯兩個(gè)錯(cuò)誤:
第一,授權(quán)命令沒有細(xì)化到選項(xiàng)和參數(shù);
第二,認(rèn)為只能授權(quán)管理員執(zhí)行的命令。
- 條件三則比較簡單,假設(shè)網(wǎng)頁存放目錄為/var/www/html,則只需要授權(quán)user1對(duì)此目錄具有寫權(quán)限或者索性更改目錄所有者為user1即可。
3)授權(quán)aa用戶可以添加其他普通用戶
[root@localhost ~ ] # visudo# 賦予aa添加用戶權(quán)限,命令必須寫入絕對(duì)路徑 aa ALL=/usr/sbin/useradd# 賦予改密碼權(quán)限 aa ALL=/usr/bin/passwd #取消對(duì)root用戶的密碼修改 aa ALL=/usr/bin/passwd [A-Za-z]*,(逗號(hào)后一定要有一個(gè)空格)!/usr/bin/passwd"", !/usr/bin/passwd root說明:
- [A-Za-z]*:正則表達(dá)式,表示任意字母任意重復(fù)多次。
- !/usr/bin/passwd" ":表示不能在passwd命令后加空。因?yàn)閜asswd命令后什么都不加,表示修改當(dāng)前用戶密碼,因?yàn)閟udo授權(quán)passwd命令給user1用戶,當(dāng)user1用戶執(zhí)行passwd命令時(shí)的身份時(shí)root,所以也是修改root用戶的密碼。
- !/usr/bin/passwd root:表示禁止在passwd命令后加root。
- 以上三個(gè)條件的順序也不能改變,測(cè)試改變順序好像不太好用了。
- 注意:有多個(gè)權(quán)限的時(shí)候用逗號(hào)隔開。
普通用戶使用sudo命令執(zhí)行添加新用戶命令
sudo /usr/sbin/useradd ee
?
感謝每一個(gè)認(rèn)真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:
① 2000多本Python電子書(主流和經(jīng)典的書籍應(yīng)該都有了)
② Python標(biāo)準(zhǔn)庫資料(最全中文版)
③ 項(xiàng)目源碼(四五十個(gè)有趣且經(jīng)典的練手項(xiàng)目及源碼)
④ Python基礎(chǔ)入門、爬蟲、web開發(fā)、大數(shù)據(jù)分析方面的視頻(適合小白學(xué)習(xí))
⑤ Python學(xué)習(xí)路線圖(告別不入流的學(xué)習(xí))
重點(diǎn):配套學(xué)習(xí)資料和視頻教學(xué)
那么在這里我也精心準(zhǔn)備了上述大綱的詳細(xì)資料在下方鏈接如下
?
總結(jié)
以上是生活随笔為你收集整理的Linux权限管理— sudo授权的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python还原微信好友已撤回的微信消息
- 下一篇: 国学大师南怀瑾