Linux系統(tǒng)如何配置sudo-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“Linux系統(tǒng)如何配置sudo”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)主要從事網(wǎng)頁設(shè)計、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、響應(yīng)式網(wǎng)站設(shè)計、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、小程序制作等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、網(wǎng)絡(luò)營銷經(jīng)驗,集策劃、開發(fā)、設(shè)計、營銷、管理等多方位專業(yè)化運作于一體。

很多公司Linux系統(tǒng)都會用到sudo來配置普通用戶可以執(zhí)行的超級用戶權(quán)限,一是為了系統(tǒng)管理員更安全的操作系統(tǒng),二是可以為研發(fā)人員提供可控的權(quán)限范圍,下面就看一下我們在系統(tǒng)中常見的sudo配置文件。

代碼如下:

admin ALL=(ALL) NOPASSWD: /app/nginx/sbin/nginx


這一段配置文件顯示admin用戶可以通過sudo來調(diào)用root權(quán)限啟動nginx,相信這也是經(jīng)常使用sudo的功能之一,因為如果nginx啟動的是80端口的話,普通用戶是無法啟動的,因為系統(tǒng)限制了1024以下的端口監(jiān)聽只有root權(quán)限才可以操作,問題大多出現(xiàn)在這個sbin目錄下的nginx可執(zhí)行文件上,因為我們既然要將nginx的管理權(quán)限交付給普通用戶admin,那么大部分情況是nginx的所有文件權(quán)限所屬用戶及組也都為admin,就像下面顯示的這樣。

代碼如下:

[admin@localhost sbin]$ ll
總用量 3004-rwxr-xr-x 1 admin admin 3066035 9月  10 2014 nginx


但是如果sbin目錄下的nginx文件權(quán)限也為admin用戶,而此時該文件還在sudo權(quán)限配置中,那么問題就來了,admin用戶可以將系統(tǒng)任意命令copy過來變成nginx文件,到這里大家應(yīng)該知道潛在的風(fēng)險是有多大了,只要是任何命令文件admin用戶有只讀權(quán)限,那么就可以把文件變成nginx,隨意以root身份執(zhí)行該命令,因為sudo只關(guān)心執(zhí)行的文件名,而不關(guān)心文件內(nèi)容本身,如果此時admin用戶需要提權(quán)到root用戶下也很簡單,只要將系統(tǒng)的vi命令copy到sbin目錄下并重命名為nginx,當(dāng)文件替換后,此時的nginx文件就變成了系統(tǒng)的vi命令,如果admin用戶此時運行sudo nginx時就是以root用戶的權(quán)限來執(zhí)行vi動作了,例如用戶執(zhí)行sudo nginx /etc/sudoers,他就可以用root身份來編輯這個文件,從而給自己開放一個NO PASSWORD ALL的權(quán)限,只要保存sudo配置文件,執(zhí)行sudo su -就可以輕松切換到root權(quán)限中來了,而后再將被替換的nginx文件復(fù)原,此時用root權(quán)限就可以輕松留下系統(tǒng)后門,同時再清空操作記錄,完成整個操作而不留痕跡,下面來總結(jié)一下admin提權(quán)需要的幾步操作。

[admin@localhost ~]$ sudo -l用戶 admin 可以在該主機(jī)上運行以下命令:

代碼如下:

    (ALL) NOPASSWD: /app/nginx/sbin/nginx
[admin@localhost ~]$ which vi
/bin/vi
[admin@localhost ~]$ cp /bin/vi /app/nginx/sbin/nginx
[admin@localhost ~]$ sudo /app/nginx/sbin/nginx /etc/sudoers   //注意此時已經(jīng)是調(diào)用root權(quán)限vi編輯sudoers文件了
[admin@localhost ~]$ sudo -l用戶 admin 可以在該主機(jī)上運行以下命令:
    (ALL) NOPASSWD: ALL
[admin@localhost ~]$ sudo su - root
[root@localhost ~]#   //用戶成功切換到root權(quán)限


避免這樣的問題發(fā)生其實也很簡單,就是將我們需要執(zhí)行的文件所屬權(quán)限都改為root即可,這樣普通用戶就沒有辦法用copy的方法來改寫這個文件,因為他對于該文件已經(jīng)沒有操作權(quán)限了,從而也就規(guī)避了這種提權(quán)風(fēng)險。

最后提一下發(fā)現(xiàn)這個配置問題的過程,在很早剛開始負(fù)責(zé)運維工作時,那個時候還是在一家傳統(tǒng)互聯(lián)網(wǎng)企業(yè),甲方對于權(quán)限的控制非常嚴(yán)格,對于系統(tǒng)操作人員只提供普通用戶權(quán)限,如果普通用戶需要操作apache或者是nginx等就需要配置sudo,由于申請root權(quán)限的流程非常繁瑣,在一次非常緊急的系統(tǒng)故障處理中就發(fā)現(xiàn)了這個方法,而當(dāng)時的sudo可執(zhí)行文件就存在權(quán)限所屬的問題,最終提權(quán)成功了,不過這種方法還是不鼓勵大家去做哈,如果在生產(chǎn)系統(tǒng)中發(fā)現(xiàn)有這樣的問題,應(yīng)該及時更新修復(fù),避免由于權(quán)限泄漏導(dǎo)致的更多問題。

“Linux系統(tǒng)如何配置sudo”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

分享名稱:Linux系統(tǒng)如何配置sudo-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://bm7419.com/article12/ipgdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站設(shè)計公司網(wǎng)站導(dǎo)航、企業(yè)建站、網(wǎng)站營銷、云服務(wù)器

廣告

聲明:本網(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)

成都定制網(wǎng)站建設(shè)