真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

關(guān)于sudo的那些事兒

覺(jué)得你已經(jīng)了解了 sudo 的所有知識(shí)了嗎?再想想。

大家都知道  sudo,對(duì)嗎?默認(rèn)情況下,該工具已安裝在大多數(shù)  Linux 系統(tǒng)上,并且可用于大多數(shù) BSD 和商業(yè) Unix 變體。不過(guò),在與數(shù)百名  sudo 用戶交談之后,我得到的最常見(jiàn)的答案是  sudo 是一個(gè)使生活復(fù)雜化的工具。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),武陵源企業(yè)網(wǎng)站建設(shè),武陵源品牌網(wǎng)站建設(shè),網(wǎng)站定制,武陵源網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,武陵源網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

有 root 用戶和  su  命令,那么為什么還要使用另一個(gè)工具呢?對(duì)于許多人來(lái)說(shuō), sudo 只是管理 命令的前綴。只有極少數(shù)人提到,當(dāng)你在同一個(gè)系統(tǒng)上有多個(gè)管理員時(shí),可以使用  sudo 日志查看誰(shuí)做了什么。

那么, sudo 是什么? 根據(jù) sudo 網(wǎng)站:

“sudo 允許系統(tǒng)管理員通過(guò)授予某些用戶以 root 用戶或其他用戶身份運(yùn)行某些命令的能力,同時(shí)提供命令及其參數(shù)的審核記錄,從而委派權(quán)限?!?/strong>

默認(rèn)情況下, sudo 只有簡(jiǎn)單的配置,一條規(guī)則允許一個(gè)用戶或一組用戶執(zhí)行幾乎所有操作(在本文后面的配置文件中有更多信息):

%wheel ALL=(ALL) ALL

在此示例中,參數(shù)表示以下含義:

第一個(gè)參數(shù)( %wheel)定義組的成員。
第二個(gè)參數(shù)( ALL)定義組成員可以在其上運(yùn)行命令的主機(jī)。
第三個(gè)參數(shù)( (ALL))定義了可以執(zhí)行命令的用戶名。
最后一個(gè)參數(shù)( ALL)定義可以運(yùn)行的應(yīng)用程序。
因此,在此示例中, wheel 組的成員可以以所有主機(jī)上的所有用戶身份運(yùn)行所有應(yīng)用程序。但即使是這個(gè)一切允許的規(guī)則也很有用,因?yàn)樗鼤?huì)記錄誰(shuí)在計(jì)算機(jī)上做了什么。

別名

當(dāng)然,它不僅可以讓你和你最好的朋友管理一個(gè)共享機(jī)器,你還可以微調(diào)權(quán)限。你可以將以上配置中的項(xiàng)目替換為列表:用戶列表、命令列表等。多數(shù)情況下,你可能會(huì)復(fù)制并粘貼配置中的一些列表。

在這種情況下,別名可以派上用場(chǎng)。在多個(gè)位置維護(hù)相同的列表容易出錯(cuò)。你可以定義一次別名,然后可以多次使用。因此,當(dāng)你對(duì)一位管理員不再信任時(shí),將其從別名中刪除就行了。使用多個(gè)列表而不是別名,很容易忘記從具有較高特權(quán)的列表之一中刪除用戶。

為特定組的用戶啟用功能

sudo 命令帶有大量默認(rèn)設(shè)置。不過(guò),在某些情況下,你想覆蓋其中的一些情況,這時(shí)你可以在配置中使用  Defaults 語(yǔ)句。通常,對(duì)每個(gè)用戶都強(qiáng)制使用這些默認(rèn)值,但是你可以根據(jù)主機(jī)、用戶名等將設(shè)置縮小到一部分用戶。這里有個(gè)我那一代的系統(tǒng)管理員都喜歡玩的一個(gè)示例:“羞辱”。這些只不過(guò)是一些有人輸入錯(cuò)誤密碼時(shí)的有趣信息:

czanik@linux-mewy:~> sudo ls
[sudo] password for root:
Hold it up to the light --- not a brain in sight!  # 把燈舉高點(diǎn),腦仁太小看不到
[sudo] password for root:
My pet ferret can type better than you!     # 我的寵物貂也比你輸入的好
[sudo] password for root:
sudo: 3 incorrect password attempts
czanik@linux-mewy:~>

由于并非所有人都喜歡系統(tǒng)管理員的這種幽默,因此默認(rèn)情況下會(huì)禁用這些羞辱信息。以下示例說(shuō)明了如何僅對(duì)經(jīng)驗(yàn)豐富的系統(tǒng)管理員(即  wheel 組的成員)啟用此設(shè)置:

Defaults !insults
Defaults:%wheel insults

我想,感謝我將這些消息帶回來(lái)的人用兩只手也數(shù)不過(guò)來(lái)吧。

摘要驗(yàn)證

當(dāng)然, sudo 還有更嚴(yán)肅的功能。其中之一是摘要驗(yàn)證。你可以在配置中包括應(yīng)用程序的摘要:

peter ALL = sha244:11925141bb22866afdf257ce7790bd6275feda80b3b241c108b79c88 /usr/bin/passwd

在這種情況下, sudo 在運(yùn)行應(yīng)用程序之前檢查應(yīng)用程序摘要,并將其與配置中存儲(chǔ)的摘要進(jìn)行比較。如果不匹配, sudo 拒絕運(yùn)行該應(yīng)用程序。盡管很難在配置中維護(hù)此信息(沒(méi)有用于此目的的自動(dòng)化工具),但是這些摘要可以為你提供額外的保護(hù)層。

會(huì)話記錄

會(huì)話記錄也是  sudo 鮮為人知的功能。在演示之后,許多人離開(kāi)我的演講后就計(jì)劃在其基礎(chǔ)設(shè)施上實(shí)施它。為什么?因?yàn)槭褂脮?huì)話記錄,你不僅可以看到命令名稱(chēng),還可以看到終端中發(fā)生的所有事情。你可以看到你的管理員在做什么,要不他們用  shell 訪問(wèn)了機(jī)器而日志僅會(huì)顯示啟動(dòng)了  bash。

當(dāng)前有一個(gè)限制。記錄存儲(chǔ)在本地,因此具有足夠的權(quán)限的話,用戶可以刪除他們的痕跡。所以請(qǐng)繼續(xù)關(guān)注即將推出的功能。

插件

從 1.8 版開(kāi)始, sudo 更改為基于插件的模塊化體系結(jié)構(gòu)。通過(guò)將大多數(shù)功能實(shí)現(xiàn)為插件,你可以編寫(xiě)自己的功能輕松地替換或擴(kuò)展  sudo 的功能。已經(jīng)有了  sudo 上的開(kāi)源和商業(yè)插件。

在我的演講中,我演示了  sudo_pair 插件,該插件可在 GitHub 上獲得。這個(gè)插件是用 Rust 開(kāi)發(fā)的,這意味著它不是那么容易編譯,甚至更難以分發(fā)其編譯結(jié)果。另一方面,該插件提供了有趣的功能,需要第二個(gè)管理員通過(guò)  sudo 批準(zhǔn)(或拒絕)運(yùn)行命令。不僅如此,如果有可疑活動(dòng),可以在屏幕上跟蹤會(huì)話并終止會(huì)話。

在最近的 All Things Open 會(huì)議上的一次演示中,我做了一個(gè)臭名昭著的演示:

czanik@linux-mewy:~> sudo  rm -fr /

看著屏幕上顯示的命令。每個(gè)人都屏住呼吸,想看看我的筆記本電腦是否被毀了,然而它逃過(guò)一劫。

日志

正如我在開(kāi)始時(shí)提到的,日志記錄和警報(bào)是  sudo 的重要組成部分。如果你不會(huì)定期檢查  sudo 日志,那么日志在使用  sudo 中并沒(méi)有太多價(jià)值。該工具通過(guò)電子郵件提醒配置中指定的事件,并將所有事件記錄到  syslog 中。可以打開(kāi)調(diào)試日志用于調(diào)試規(guī)則或報(bào)告錯(cuò)誤。

警報(bào)

電子郵件警報(bào)現(xiàn)在有點(diǎn)過(guò)時(shí)了,但是如果你使用  syslog-ng 來(lái)收集日志消息,則會(huì)自動(dòng)解析  sudo 日志消息。你可以輕松創(chuàng)建自定義警報(bào)并將其發(fā)送到各種各樣的目的地,包括 Slack、Telegram、Splunk 或 Elasticsearch。你可以從我在 syslong-ng.com 上的博客中了解有關(guān)此功能的更多信息。

配置

我們談?wù)摿撕芏? sudo 功能,甚至還看到了幾行配置。現(xiàn)在,讓我們仔細(xì)看看 sudo 的配置方式。配置本身可以在  /etc/sudoers 中獲得,這是一個(gè)簡(jiǎn)單的文本文件。不過(guò),不建議直接編輯此文件。相反,請(qǐng)使用  visudo,因?yàn)榇斯ぞ哌€會(huì)執(zhí)行語(yǔ)法檢查。如果你不喜歡  vi,則可以通過(guò)將  EDITOR 環(huán)境變量指向你的首選編輯器來(lái)更改要使用的編輯器。

在開(kāi)始編輯  sudo 配置之前,請(qǐng)確保你知道  root 密碼。(是的,即使在默認(rèn)情況下  root 用戶沒(méi)有密碼的 Ubuntu 上也是如此。)雖然  visudo 會(huì)檢查語(yǔ)法,但創(chuàng)建語(yǔ)法正確而將你鎖定在系統(tǒng)之外的配置也很容易。

如果在緊急情況下,而你手頭有 root 密碼,你也可以直接編輯配置。當(dāng)涉及到  sudoers 文件時(shí),有一件重要的事情要記?。簭纳系较伦x取該文件,以最后的設(shè)置為準(zhǔn)。這個(gè)事實(shí)對(duì)你來(lái)說(shuō)意味著你應(yīng)該從通用設(shè)置開(kāi)始,并在末尾放置例外情況,否則,通用設(shè)置會(huì)覆蓋例外情況。

你可以在下面看到一個(gè)基于  CentOS 的簡(jiǎn)單  sudoers 文件,并添加我們之前討論的幾行:

Defaults !visiblepw
Defaults always_set_home
Defaults match_group_by_gid
Defaults always_query_group_plugin
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
Defaults:%wheel insults
Defaults !insults
Defaults log_output

該文件從更改多個(gè)默認(rèn)值開(kāi)始。然后是通常的默認(rèn)規(guī)則: root 用戶和  wheel 組的成員對(duì)計(jì)算機(jī)具有完全權(quán)限。接下來(lái),我們對(duì) wheel 組啟用“羞辱”,但對(duì)其他所有人禁用它們。最后一行啟用會(huì)話記錄。

上面的配置在語(yǔ)法上是正確的,但是你可以發(fā)現(xiàn)邏輯錯(cuò)誤嗎?是的,有一個(gè):后一個(gè)通用設(shè)置覆蓋了先前的更具體設(shè)置,讓所有人均禁用了“羞辱”。一旦交換了這兩行的位置,設(shè)置就會(huì)按預(yù)期進(jìn)行:wheel 組的成員會(huì)收到有趣的消息,但其他用戶則不會(huì)收到。

配置管理

一旦必須在多臺(tái)機(jī)器上維護(hù)  sudoers 文件,你很可能希望集中管理配置。這里主要有兩種可能的開(kāi)源方法。兩者都有其優(yōu)點(diǎn)和缺點(diǎn)。

你可以使用也用來(lái)配置其余基礎(chǔ)設(shè)施的配置管理應(yīng)用程序之一:Red Hat Ansible、Puppet 和 Chef 都具有用于配置  sudo 的模塊。這種方法的問(wèn)題在于更新配置遠(yuǎn)非實(shí)時(shí)。同樣,用戶仍然可以在本地編輯  sudoers 文件并更改設(shè)置。

sudo 工具也可以將其配置存儲(chǔ)在 LDAP 中。在這種情況下,配置更改是實(shí)時(shí)的,用戶不能弄亂 sudoers 文件。另一方面,該方法也有局限性。例如,當(dāng) LDAP 服務(wù)器不可用時(shí),你不能使用別名或使用 s udo。

新功能
新版本的  sudo 即將推出。1.9 版將包含許多有趣的新功能。以下是最重要的計(jì)劃功能:

記錄服務(wù)可集中收話記錄,與本地存儲(chǔ)相比,它具有許多優(yōu)點(diǎn):
在一個(gè)地方搜索更方便。
即使發(fā)送記錄的機(jī)器關(guān)閉,也可以進(jìn)行記錄。
記錄不能被想要?jiǎng)h除其痕跡的人刪除。
audit 插件沒(méi)有向  sudoers 添加新功能,而是為插件提供了 API,以方便地訪問(wèn)任何類(lèi)型的  sudo 日志。這個(gè)插件允許使用插件從 sudo 事件創(chuàng)建自定義日志。
approval 插件無(wú)需使用第三方插件即可啟用會(huì)話批準(zhǔn)。
以及我個(gè)人最喜歡的:插件的 Python 支持,這使你可以輕松地使用 Python 代碼擴(kuò)展 sudo,而不是使用 C 語(yǔ)言進(jìn)行原生編碼。 ### 總結(jié)
希望本文能向你證明  sudo 不僅僅是一個(gè)簡(jiǎn)單的命令前綴。有無(wú)數(shù)種可能性可以微調(diào)系統(tǒng)上的權(quán)限。你不僅可以微調(diào)權(quán)限,還可以通過(guò)檢查摘要來(lái)提高安全性。會(huì)話記錄使你能夠檢查系統(tǒng)上正在發(fā)生的事情。你也可以使用插件擴(kuò)展  sudo 的功能,或者使用已有的插件或編寫(xiě)自己的插件。最后,從即將發(fā)布的功能列表中你可以看到,即使  sudo 已有數(shù)十年的歷史,它也是一個(gè)不斷發(fā)展的有生命力的項(xiàng)目。

原文地址: https://www.linuxprobe.com/linux-sudo-2.html


文章標(biāo)題:關(guān)于sudo的那些事兒
分享URL:http://weahome.cn/article/ijesco.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部