溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux中新sudo功能有哪些

發(fā)布時間:2021-10-25 10:51:24 來源:億速云 閱讀:132 作者:小新 欄目:系統(tǒng)運維

這篇文章將為大家詳細講解有關(guān)linux中新sudo功能有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

當你想在 POSIX 系統(tǒng)上執(zhí)行一個操作時,最安全的方法之一就是使用 sudo 命令。與以 root 用戶身份登錄并執(zhí)行命令可能是個危險的操作不同,sudo 授予任何被系統(tǒng)管理員指定為 “sudoer”的用戶臨時權(quán)限,來執(zhí)行通常受限制的活動。

幾十年來,這個系統(tǒng)幫助 Linux、Unix 和 macOS 系統(tǒng)免受愚蠢的錯誤和惡意攻擊,它是當今所有主要 Linux 發(fā)行版的默認管理機制。

當在 2020 年 5 月發(fā)布 sudo 1.9 時,它帶來了許多新功能,包括集中收集會話記錄,支持 sudo 內(nèi)的 chroot,以及 Python API。如果你對其中的任何一項感到驚訝,請閱讀我的文章,了解一些 sudo 鮮為人知的功能。

sudo 不僅僅是一個管理命令的前綴。你可以微調(diào)權(quán)限,記錄終端上發(fā)生的事情,使用插件擴展sudo,在 LDAP 中存儲配置,進行廣泛的日志記錄,以及更多。

1.9.0 版本和后續(xù)的小版本增加了各種新功能(我將在下面介紹),包括:

  • 一個集中收集 sudo 會話記錄的記錄服務(wù)

  • 審計插件 API

  • 審批插件 API

  • Python 對插件的支持

  • sudo 內(nèi)置 chroot 和 CWD 支持(從 1.9.3 開始)

哪里可以得到 sudo 1.9?

大多數(shù)的 Linux 發(fā)行版仍然封裝了上一代的 sudo(1.8 版本),并且在長期支持(LTS)的發(fā)行版中會保持這個版本數(shù)年。據(jù)我所知,提供了最完整的 sudo 1.9 包的 Linux 發(fā)行版是 openSUSETumbleweed,它是一個滾動發(fā)行版,而且該 sudo 包的子包中有 Python 支持。最近的 Fedora 版本包含了 sudo 1.9,但沒有 Python 支持。FreeBSD Ports 有最新的 sudo 版本,如果你自己編譯 sudo 而不是使用軟件包,你可以啟用 Python 支持。

如果你喜歡的 Linux 發(fā)行版還沒有包含 sudo 1.9,請查看 sudo 二進制頁面來查看是否有現(xiàn)成的包可以用于你的系統(tǒng)。這個頁面還提供了一些商用 Unix 變種的軟件包。

像往常一樣,在你開始試驗 sudo 設(shè)置之前,確保你知道 root 密碼。是的,即使在 Ubuntu 上也是如此。有一個臨時的“后門”是很重要的;如果沒有這個后門,如果出了問題,你就必須得黑掉自己的系統(tǒng)。記?。赫Z法正確的配置并不意味著每個人都可以在該系統(tǒng)上通過 sudo 做任何事情!

記錄服務(wù)

記錄服務(wù)可以集中收集會話記錄。與本地會話記錄存儲相比,這有很多優(yōu)勢:

  • 更方便地在一個地方進行搜索,而不是訪問各個機器來尋找記錄

  • 即使在發(fā)送機器停機的情況下也可以進行記錄

  • 本地用戶若想掩蓋其軌跡,不能刪除記錄

為了快速測試,你可以通過非加密連接向記錄服務(wù)發(fā)送會話。我的博客中包含了說明,可以在幾分鐘內(nèi)完成設(shè)置。對于生產(chǎn)環(huán)境,我建議使用加密連接。有很多可能性,所以請閱讀最適合你的環(huán)境的文檔。

審計插件 API

新的審計插件 API 不是一個用戶可見的功能。換句話說,你不能從 sudoers 文件中配置它。它是一個 API,意味著你可以從插件中訪問審計信息,包括用 Python 編寫的插件。你可以用很多不同的方式來使用它,比如當一些有趣的事情發(fā)生時,從 sudo 直接發(fā)送事件到 Elasticsearch 或日志即服務(wù)(LaaS)上。你也可以用它來進行調(diào)試,并以任何你喜歡的格式將其他難以訪問的信息打印到屏幕上。

根據(jù)你使用它的方式,你可以在 sudo 插件手冊頁(針對 C 語言)和 sudo Python 插件手冊中找到它的文檔。在 sudo 源代碼中可以找到 Python 代碼示例,在我的博客上也有一個簡化的例子。

審批插件 API

審批插件 API 可以在命令執(zhí)行之前加入額外的限制。這些限制只有在策略插件成功后才會運行,因此你可以有效地添加額外的策略層,而無需更換策略插件,進而無需更換 sudoers??梢远x多個審批插件,而且所有插件都必須成功,命令才能執(zhí)行。

與審計插件 API 一樣,你可以從 C 和 Python 中使用它。我博客上記錄的示例 Python 代碼是對該 API 的一個很好的介紹。一旦你理解了它是如何工作的,你就可以擴展它來將 sudo 連接到工單系統(tǒng),并且只批準有相關(guān)開放工單的會話。你也可以連接到人力資源數(shù)據(jù)庫,這樣只有當班的工程師才能獲得管理權(quán)限。

Python 對插件的支持

盡管我不是程序員,但我最喜歡的 sudo 1.9 新特性是 Python 對插件的支持。你可以用 Python 也能使用 C 語言調(diào)用大部分 API。幸運的是,sudo 對性能不敏感,所以運行速度相對較慢的 Python 代碼對 sudo 來說不是問題。使用 Python 來擴展 sudo 有很多優(yōu)勢:

  • 更簡單、更快速的開發(fā)

  • 不需要編譯;甚至可以通過配置管理分發(fā)代碼

  • 許多 API 沒有現(xiàn)成的 C 客戶端,但有 Python 代碼

除了審計和審批插件 API 之外,還有一些其他的 API,你可以用它們做一些非常有趣的事情。

通過使用策略插件 API,你可以取代 sudo 策略引擎。請注意,你將失去大部分的 sudo 功能,而且沒有基于 sudoers 的配置。這在小眾情況下還是很有用的,但大多數(shù)時候,最好還是繼續(xù)使用 sudoers,并使用審批插件 API 創(chuàng)建額外的策略。如果你想嘗試一下,我的 Python 插件介紹提供了一個非常簡單的策略:只允許使用 id 命令。再次確認你知道 root 密碼,因為一旦啟用這個策略,它就會阻止任何實際使用 sudo 的行為。

使用 I/O 日志 API,你可以訪問用戶會話的輸入和輸出。這意味著你可以分析會話中發(fā)生了什么,甚至在發(fā)現(xiàn)可疑情況時終止會話。這個 API   有很多可能的用途,比如防止數(shù)據(jù)泄露。你可以監(jiān)控屏幕上的關(guān)鍵字,如果數(shù)據(jù)流中出現(xiàn)任何關(guān)鍵字,你可以在關(guān)鍵字出現(xiàn)在用戶的屏幕上之前中斷連接。另一種可能是檢查用戶正在輸入的內(nèi)容,并使用這些數(shù)據(jù)來重建用戶正在輸入的命令行。例如,如果用戶輸入 rm -fr /,你可以在按下回車鍵之前就斷開用戶的連接。

組插件 API 允許非 Unix 組的查找。在某種程度上,這與審批插件 API 類似,因為它也擴展了策略插件。你可以檢查一個用戶是否屬于一個給定的組,并在后面的配置部分基于此采取行動。

chroot 和 CWD 支持

sudo 的最新功能是支持 chroot 和改變工作目錄(CWD),這兩個選項都不是默認啟用的,你需要在 sudoers 文件中明確啟用它們。當它們被啟用時,你可以調(diào)整目標目錄或允許用戶指定使用哪個目錄。日志反映了這些設(shè)置何時被使用。

在大多數(shù)系統(tǒng)中,chroot 只對 root 用戶開放。如果你的某個用戶需要 chroot,你需要給他們 root 權(quán)限,這比僅僅給他們 chroot 權(quán)限要大得多。另外,你可以通過 sudo 允許訪問 chroot 命令,但它仍然允許漏洞,他們可以獲得完全的權(quán)限。當你使用 sudo 內(nèi)置的 chroot 支持時,你可以輕松地限制對單個目錄的訪問。你也可以讓用戶靈活地指定根目錄。當然,這可能會導(dǎo)致災(zāi)難(例如,sudo --chroot / -s),但至少事件會被記錄下來。

當你通過 sudo 運行一個命令時,它會將工作目錄設(shè)置為當前目錄。這是預(yù)期的行為,但可能有一些情況下,命令需要在不同的目錄下運行。例如,我記得使用過一個應(yīng)用程序,它通過檢查我的工作目錄是否是 /root 來檢查我的權(quán)限。

關(guān)于“l(fā)inux中新sudo功能有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI