sudo用途:
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、松陽網(wǎng)站維護、網(wǎng)站推廣。sudo用于為普通用戶授權(quán),一句話:允許哪些用戶在哪些主機上登錄后以哪個用戶身份運行哪些命令。類似Windows系統(tǒng)中的右鍵以管理員方式運行。
一、sudo與su的區(qū)別
舉個例子,運維部門來一位新人想交給他完成一些基本的軟件部署任務(wù),但又擔心他對系統(tǒng)架構(gòu)環(huán)境不熟而引發(fā)誤操作,此時讓他使用su命令直接切換高權(quán)限的管理賬號可能會風險很大,而sudo的靈活授權(quán)就可以把權(quán)限限定到合理的范圍,從而降低風險。
1. su 實際上就是以目標用戶身份進行登錄,執(zhí)行su命令切換用戶時必須知道目標用戶的密碼,授權(quán)很不靈活,同時也帶來了用戶密碼泄露的安全風險。
2. sudo 則是基于配置文件明確定義指定用戶中以執(zhí)行哪些命令,只是臨時進行安全上下文切換,而不需要進行用戶登錄切換。在執(zhí)行sudo 執(zhí)行命令時只需要輸入用戶自己的密碼即,而不需要知道安全上下文切換的目標用戶密碼。
3. su與sudo都可以執(zhí)行用戶切換操作,但sudo必須在配置文件中明確定義才可以進行賬號切換。
su 切換用戶
- su username:不完全切換,HOME不會變?yōu)槟繕擞脩舻腍OME目錄
- su - username:完全切換,HOME會變?yōu)槟繕擞脩舻腍OME目錄。
sudo切換用戶- sudo -i 切換為root用戶
- sudo -u 命令后跟切換的目標用戶名
sudo的相關(guān)文件
1. sudo命令來源sudo-1.8.25p1-4.el8.x86_64軟件包。
2. 配置文件:存儲于/etc/sudoers,但支持模塊化配置獨立的配置模塊存儲于/etc/sudoers.d/目錄
3. 日志文件:sudo的操作記錄存儲于/var/log/secure文件中。
4. 時間探針:sudo的令牌超時機制是基于時間探針文件時間戳來判斷是否超時的,時間探針文件存儲于/run/sudo/ts/目錄下。
學習思路:
4個授權(quán)元素可以是明確的具體對象,也可以是將一組對象組織在一起的別名。
被授權(quán)用戶:進程的發(fā)起者,可是將一組用戶名或組名組織在一個集合中,集合的名字就是對象別名 登錄主機:可以是一個具體的IP地址,主機名稱,也可以是多個IP地址、主機名稱,網(wǎng)段組織一起的集合。 切換后的用戶身份:進程的最終用戶,如果不填寫則默認為root用戶,即被授權(quán)的用戶以任種身份來執(zhí)行后面的定義的Command。 command:可以是一系列相關(guān)命令的集合,如:將網(wǎng)絡(luò)管理類命令組織在一起定義別名。
以上三種元素的別名定義在配置文件中已有明確的范例,可以直接引用,在定義用戶別名時如果其成員中包含用戶組名,則必須使用%進行引用。
最佳操作實踐:
二、sudo元素別名定義
元素別名可以理解為變量,別名定義有嚴格的格式要求,sudo中共有四種類型的別名:別名內(nèi)的成員對象類型受這四種類型的約束,且是必須在系統(tǒng)中存在的對象。
1. 定義語法原則:
a.語法:別名類型 名稱=對象1,對象2,對象3… b.別名可以是在大字母、數(shù)字、下劃線的組,注意必須是大寫字母 c.如果別名內(nèi)有多個成員,則用逗號分隔即可。 d.別名定義必須在同一行內(nèi),如果一行寫不下可以使用\進行續(xù)行。 e.支持通配符書寫。
2. User_Alias :進程起發(fā)始者
例:基于用戶或組名定義別名:User_Alias ADMINS = user1,user2,%admins
例:基于UID或GID定義別名:User_Alias ADMINS = #1023(UID), user2,%#1099(GID)
3. Host_Alias:登錄主機
成員對象可以是:IP地址、主機名、FQDN、CDIR格式網(wǎng)絡(luò)號 例:Host_Alias CDNSERVERS =192.168.39.7, 192.168.40.0/24, node1, notd2.microcisco.com
4. Runas_Alias:進程執(zhí)行的最終用戶
Runas_Alias SRVMGMT=microcisco
5. Cmnd_Alias:被授權(quán)用戶允許執(zhí)行的命令集合
集合成員之間以逗號分隔,每個命令都書寫絕對路徑,命令支持通配符匹配,要執(zhí)行的命令如果有必須明確指定參數(shù),命令的參數(shù)同樣支持通配符匹配。
例1:【定義安裝命令集】Cmnd_Alias INSTALL= /bin/rpm, /usr/bin/up2date, /usr/bin/yum
例2:【基于通配符排除】Cmnd_Alias ADMINCMD = /usr/sbin/useradd,/usr/sbin/usermod, /usr/bin/passwd [a-zA-Z]*, !/usr/bin/passwd root
6. 默認用戶與runas用戶
授權(quán)需求:定義授權(quán)模板用戶,將常用的權(quán)限都授予該模板用戶,將其他有權(quán)限需求的用戶只需要將該模板用戶作為默認賬號,即可解決頻繁的授權(quán)工作。如果有新的權(quán)限需求則只需對授權(quán)模板用戶授權(quán)即可。
配置文件中可以定默認用戶與runas用戶,使用sudo時可以使用-u 選項指定runas用戶,不加-u時使用默認用戶,定義語法如下:
Defaults:microcisco runas_default=vmlab
microcisco IPMI=(tom,root) /usr/bin/cat /etc/shadow,NOPASSWD:SOFTWARE
三、sudo安全
1.sudo自身權(quán)限委派sudoedit
默認sudo的配置文件/etc/sudoers權(quán)限440,屬主屬組為root,也就是這個文件其它用戶沒有任何權(quán)限,sudoedit則是用于授權(quán)哪個用戶可以編輯sudo配置文件,只需在授權(quán)規(guī)則中將sudoedit命令寫入執(zhí)行的command列表中即可。
2.sudo的訪問令牌生存周期
為用戶做sudo授權(quán)后,用戶執(zhí)行命令會要求輸入自己的用戶密碼,默認情況此后的5分鐘之內(nèi)再用sudo執(zhí)行命令則不必再次輸入密碼,由次可見sudo也有類似的訪問令牌生存周期機制。
- sudo -V 可以查看令牌期限,字段為:Authentication timestamp timeout 默認為5分鐘,原理是執(zhí)行sudo時通過檢測時間探針文件的時間戳來判斷訪問令牌是否過期,方法就是將執(zhí)行sudo的當前時間與時間探針文件的時間戳對比,如果當前時間大于時間探針文件時間戳并且超過了5分鐘,則認為訪問令牌過期,需要重新認證。
- 探針文件存儲于/run/sudo/ts目錄下。可以根據(jù)生產(chǎn)需求修改令牌生存周期,visudo編輯配置文件,在env_reset后添加超時時間如:env_reset,timesamp_timeout=1
- sudo-v 可以重置時間探針文件的時間戳
- sudo -k 通過重置密碼時間為1970年1月1日來作廢sudo的緩存令牌。使用戶在本次或下一次用sudo執(zhí)行命令時必須輸入密碼。
- sudo -K 通過冊除時間探針文件來作廢sudo的緩存令牌
3.使用sudo時取消輸用密碼過程
對于頻繁使用的命令在每次sudo令牌過期后重新輸入密碼會比較麻煩,在運行shell腳本中涉及到sudo授權(quán)的命令時因要求輸入密碼也會打斷腳本的運行。
NOPASSWD可以實現(xiàn)sudo免密執(zhí)行命令,但同時也存在安全隱患,一定要做好嚴格授權(quán)。如下圖所示
正確的授權(quán)方式
4.sudo 通配符匹配引發(fā)安全漏洞
wang ALL=(root) /bin/cat /var/log/messages
期望授權(quán)允許用戶wang,查看 /var/log/目錄下的messages開頭的文件。
安全威脅:sudo cat /var/log/messages /etc/shadow,結(jié)果可以查看shadow文件,在glob中代表任意長度任意字符,包括空格、/等。
5.sudo在安全實踐中的注意事項:
四、實驗部分
1. 編輯默認配置文件:visudo
2. 定義模塊化的配置文件:visudo -f /etc/sudoers.d/vmlab
3. 定義別名
4. 定義sudo默認用戶
Defaults:microcisco runas_default=vmlab
sudo command 用戶默認用戶執(zhí)行命令。
sudo -u username 用指定用戶執(zhí)行命令。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享文章:Linuxsudo實現(xiàn)靈活授權(quán)-創(chuàng)新互聯(lián)
當前地址:http://www.rwnh.cn/article42/csidhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、用戶體驗、建站公司、品牌網(wǎng)站制作、網(wǎng)站設(shè)計公司、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容