成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux 用戶(hù)的七個(gè) sudo 技巧和改進(jìn)

系統(tǒng) Linux
在這個(gè)教程中,我并不會(huì)解釋 sudo 是如何運(yùn)作的,這個(gè)主題我會(huì)在另一天講解。

用這些技巧釋放 sudo 的力量 ??

你應(yīng)該熟悉 sudo 吧?肯定有過(guò)使用的經(jīng)驗(yàn)。

對(duì)多數(shù) Linux 用戶(hù)來(lái)說(shuō),sudo 就像一個(gè)神器,賦予了他們作為 root 用戶(hù)執(zhí)行任意命令或切換到 root 用戶(hù)身份的能力。

其實(shí)這只掌握了一半的真相。sudo 絕非僅僅只是一條命令,sudo 是一款你可以根據(jù)需求和偏好去定制的工具

Ubuntu、Debian 以及其他的發(fā)行版在默認(rèn)的配置下,賦予了 sudo 以 root 用戶(hù)的身份執(zhí)行任意命令的權(quán)限。這讓很多用戶(hù)誤以為 sudo 就像一個(gè)魔法開(kāi)關(guān),瞬間可以獲取到 root 權(quán)限。

比如說(shuō),系統(tǒng)管理員可以設(shè)置成只有屬于特定的 dev 組的部分用戶(hù)才能用 sudo 來(lái)執(zhí)行 nginx 命令。這些用戶(hù)將無(wú)法用 sudo 執(zhí)行任何其他命令或切換到 root 用戶(hù)。

如果你對(duì)此感到驚訝,那很可能是你一直在使用 sudo,但對(duì)其底層的工作原理并沒(méi)有太多了解。

在這個(gè)教程中,我并不會(huì)解釋 sudo 是如何運(yùn)作的,這個(gè)主題我會(huì)在另一天講解。

在這篇文章中,你將看到 sudo 的不同特性可以如何被調(diào)試和改進(jìn)。有些可能真的很有用,有些可能完全沒(méi)什么幫助,但是挺有趣。

?? 請(qǐng)不要隨意去嘗試所有提到的改進(jìn)。如果處理不慎,你可能會(huì)遭遇無(wú)法運(yùn)行 sudo 的混亂狀態(tài)。在大多數(shù)情況下,平靜閱讀并知道這些就好。如果你決定嘗試一些改進(jìn)步驟,請(qǐng)先備份你的系統(tǒng)設(shè)置,這樣在需要的時(shí)候能把事情恢復(fù)到正常。

1、編輯 sudo 配置時(shí),請(qǐng)始終使用 visudo

sudo 命令是通過(guò) /etc/sudoers 文件進(jìn)行配置的。

雖然你可以用你最喜歡的 終端文本編輯器 編輯這個(gè)文件,比如 Micro、NeoVim 等,但你千萬(wàn)不要這么做。

為什么這么說(shuō)呢?因?yàn)樵撐募械娜魏握Z(yǔ)法錯(cuò)誤都會(huì)讓你的系統(tǒng)出問(wèn)題,導(dǎo)致 sudo 無(wú)法工作。這可能會(huì)使得你的 Linux 系統(tǒng)無(wú)法正常使用。

你只需要這樣使用即可:

sudo visudo

傳統(tǒng)上,visudo 命令會(huì)在 Vi 編輯器中打開(kāi) /etc/sudoers 文件。如果你用的是 Ubuntu,那么會(huì)在 Nano 中打開(kāi)。

這么做的好處在于,visudo 會(huì)在你試圖保存更改時(shí)執(zhí)行語(yǔ)法檢查。這能確保你不會(huì)因?yàn)檎Z(yǔ)法錯(cuò)誤而誤改 sudo 配置。

visudo 在保存到 sudoers 文件的變更前檢查語(yǔ)法visudo 在保存到 sudoers 文件的變更前檢查語(yǔ)法

好了!現(xiàn)在你可以看看 sudo 配置的一些改變。

?? 我建議你備份 /etc/sudoers 文件(sudo cp /etc/sudoers /etc/sudoers.bak)。這樣,如果你不確定你做了哪些更改,或者你想恢復(fù)到默認(rèn)的 sudo 配置,那你可以從備份文件中復(fù)制。

2、輸入 sudo 密碼時(shí)顯示星號(hào)

我們的這種輸入行為是從 UNIX 系統(tǒng)中繼承下來(lái)的。當(dāng)你在終端輸入 sudo 密碼時(shí),屏幕上不會(huì)有任何顯示。這種缺乏反饋的現(xiàn)象,往往讓新的 Linux 用戶(hù)懷疑自己的系統(tǒng)已經(jīng)卡住了。

人們常說(shuō),這是一項(xiàng)安全功能。或許在上個(gè)世紀(jì)是這樣,但我個(gè)人覺(jué)得我們沒(méi)有必要繼續(xù)這樣下去。

不過(guò),一些發(fā)行版,如 Linux Mint,已經(jīng)對(duì) sudo 進(jìn)行了優(yōu)化,當(dāng)你輸入密碼時(shí)會(huì)顯示星號(hào)。

這樣的方式更符合我們的日常經(jīng)驗(yàn)。

如果想讓 sudo 輸入密碼時(shí)顯示星號(hào),運(yùn)行 sudo visudo 并找到以下行:

Defaults env_reset

然后將其更改為:

Defaults env_reset,pwfeedback

?? 在某些發(fā)行版中,比如 Arch,你可能找不到 Defaults env_reset 這一行。如果這樣的話(huà),只需新增一行 Defaults env_reset, pwfeedback 就可以了。

現(xiàn)在,當(dāng) sudo 需要你輸入密碼時(shí),你會(huì)看到輸入的密碼變成了星號(hào)。

? 如果你注意到即使密碼正確也無(wú)法通過(guò)一些圖形化應(yīng)用,如軟件中心,那就該撤銷(xiāo)這項(xiàng)更改。一些較舊的論壇帖子曾提到過(guò)此類(lèi)問(wèn)題,雖然我自己還未遇到過(guò)。

3、增加 sudo 密碼超時(shí)時(shí)限

當(dāng)你首次使用 sudo 時(shí),它會(huì)要求輸入密碼。但在隨后相當(dāng)一段時(shí)間里,你使用 sudo 執(zhí)行命令就無(wú)需再次輸入密碼。

我們將這個(gè)時(shí)間間隔稱(chēng)為 sudo 密碼超時(shí) (暫且稱(chēng)為 SPT,這是我剛剛編的說(shuō)法,請(qǐng)不要真的這樣稱(chēng)呼 ??)。

不同的發(fā)行版有不同的超時(shí)時(shí)間。可能是 5 分鐘,也可能是 15 分鐘。

你可以根據(jù)自己的喜好來(lái)改變這個(gè)設(shè)置,設(shè)定一個(gè)新的 sudo 密碼超時(shí)時(shí)限。

像你之前看到的,編輯 sudoers 文件,找到含有 Defaults env_reset 的行,并在此行添加 timestamp_timeout=XX,使其變成如下形式:

Defaults        env_reset, timestamp_timeout=XX

其中 XX 是以分鐘為單位的超時(shí)時(shí)長(zhǎng)。

如果你還有其他參數(shù),例如你在上一節(jié)中看到的星號(hào)反饋,它們都可以在一行中組合起來(lái):

Defaults        env_reset, timestamp_timeout=XX, pwfeedback

?? 同樣地,你還可以控制密碼重試的次數(shù)上限。使用 passwd_tries=N 來(lái)修改用戶(hù)可以輸入錯(cuò)誤密碼的次數(shù)。

4、在不輸入密碼的情況下使用 sudo

行!你已經(jīng)增加了 sudo 密碼超時(shí)時(shí)限(或者稱(chēng)之為 SPT。哇塞!你還在堅(jiān)持這個(gè)叫法 ??)。

這樣很好。我的意思是,畢竟沒(méi)人愿意每幾分鐘就輸入一次密碼。

擴(kuò)大超時(shí)時(shí)限是一方面,另一方面則是盡可能不去使用它。

是的,你沒(méi)聽(tīng)錯(cuò)。你就是可以在無(wú)需輸入密碼的情況下使用 sudo

從安全角度來(lái)看,這聽(tīng)起來(lái)似乎很冒險(xiǎn),對(duì)吧?的確如此,但在某些實(shí)際情況下,你確實(shí)會(huì)更青睞無(wú)密碼的 sudo

例如,如果你需要遠(yuǎn)程管理多臺(tái) Linux 服務(wù)器,并為了避免總是使用 root,你在這些服務(wù)器上創(chuàng)建了一些 sudo 用戶(hù)。辛酸的是,你會(huì)有太多的密碼。而你又不想對(duì)所有的服務(wù)器使用同一的 sudo 密碼。

在這種情況下,你可以?xún)H設(shè)置基于密鑰的 SSH 訪(fǎng)問(wèn)方式,并允許使用無(wú)需密碼的 sudo。這樣,只有獲得授權(quán)的用戶(hù)才能訪(fǎng)問(wèn)遠(yuǎn)程服務(wù)器,也不用再記住 sudo 密碼。

我在 DigitalOcean 上部署的測(cè)試服務(wù)器上就采用了這種方法,用來(lái)測(cè)試開(kāi)源工具和服務(wù)。

好處是這可以按用戶(hù)進(jìn)行設(shè)置。使用以下命令打開(kāi) /etc/sudoers 文件進(jìn)行編輯:

sudo visudo

然后添加如下行:

user_name ALL=(ALL) NOPASSWD:ALL

當(dāng)然,你需要將上面行中的 user_name 替換為實(shí)際的用戶(hù)名。

保存文件后,你就可以享受無(wú)密碼的 sudo 生活了。

5、配置獨(dú)立的 sudo 日志文件

查閱 syslog 或 journal 日志,我們可以找到關(guān)于 sudo 的所有條目,但若需要單獨(dú)針對(duì) sudo 的記錄,可以專(zhuān)門(mén)創(chuàng)建一個(gè)自定義的日志文件。例如,選擇 /var/sudo.log 文件來(lái)存儲(chǔ)日志。這個(gè)新的日志文件無(wú)需手動(dòng)創(chuàng)建,如果不存在,系統(tǒng)會(huì)自動(dòng)生成。

編輯 /etc/sudoers 文件,采用 visudo 命令,并在其中添加以下內(nèi)容:

Defaults  logfile="/var/log/sudo.log"

保存該文件后,便可以在其中查看哪些命令在何時(shí)、由哪位用戶(hù)通過(guò) sudo 運(yùn)行了。

6、限制特定用戶(hù)組使用 sudo 執(zhí)行特定命令

這是一種高級(jí)解決方案,系統(tǒng)管理員在需要跨部門(mén)共享服務(wù)器的多用戶(hù)環(huán)境中會(huì)使用。

開(kāi)發(fā)者可能會(huì)需要以 root 權(quán)限運(yùn)行 Web 服務(wù)器或其他程序,但全權(quán)給予他們 sudo 權(quán)限會(huì)帶來(lái)安全風(fēng)險(xiǎn)。我建議在群組級(jí)別進(jìn)行此項(xiàng)操作。例如,創(chuàng)建命名為 coders 的群組,并允許它們運(yùn)行在 /var/www 和 /opt/bin/coders 目錄下的命令(或可執(zhí)行文件),以及 inxi 命令(路徑是 /usr/bin/inxi 的二進(jìn)制文件)。這是一個(gè)假想情景,實(shí)際操作請(qǐng)謹(jǐn)慎對(duì)待。

接下來(lái),用 sudo visudo 編輯 sudoer 文件,再添加以下行:

%coders   ALL=(ALL:ALL) /var/www,/opt/bin/coders,/usr/bin/inxi

如有需要,可以添加 NOPASSWD 參數(shù),這樣允許使用 sudo 運(yùn)行的命令就不再需要密碼了。

關(guān)于 ALL=(ALL:ALL) 的詳細(xì)解讀,我們將會(huì)在其他文章中進(jìn)行講解,畢竟這篇文章已經(jīng)解釋的內(nèi)容足夠多了。

7、檢查用戶(hù)的 sudo 權(quán)限

好吧,這是個(gè)小提示,而不是系統(tǒng)調(diào)優(yōu)技巧。

如何確認(rèn)一個(gè)用戶(hù)是否具有 sudo 權(quán)限呢?可能有人會(huì)說(shuō),查看他們是否是 sudo 組的成員。但這并不一定準(zhǔn)確,因?yàn)橛行┌l(fā)行版用的是 wheel 代替 sudo 分組。

更佳的方法是利用 sudo 內(nèi)建的功能,看看用戶(hù)具有哪種 sudo 權(quán)限:

sudo -l -U user_name

這將顯示出用戶(hù)具有執(zhí)行部分命令或所有命令的 sudo 權(quán)限。

如你所見(jiàn),我擁有自定義日志文件、密碼反饋以及執(zhí)行所有命令的 sudo 權(quán)限。

如果一個(gè)用戶(hù)完全沒(méi)有 sudo 權(quán)限,你將看到如下提示:

User prakash is not allowed to run sudo on this-that-server.

?? 附加內(nèi)容:輸錯(cuò) sudo 密碼時(shí),讓系統(tǒng)“侮辱”你

這是個(gè)我在文章開(kāi)頭提到的“無(wú)用”小調(diào)整。

我想你在使用 sudo 時(shí)肯定曾誤輸過(guò)密碼,對(duì)吧?

這個(gè)小技巧就是,在你每次輸錯(cuò)密碼時(shí),讓 sudo 拋出隨機(jī)的“侮辱”

用 sudo visudo 修改 sudo 配置文件,然后添加以下行:

Defaults   insults

修改后,你可以故意輸錯(cuò)密碼,測(cè)試新的設(shè)置。

你可能在想,誰(shuí)會(huì)喜歡被侮辱呢?只有粉絲可以以直白的方式告訴你 ??

你是如何運(yùn)用 sudo 的?

我知道定制化的可能性無(wú)窮無(wú)盡,但其實(shí),一般的 Linux 用戶(hù)并不會(huì)去自定義 sudo

盡管如此,我還是熱衷于與你分享這些因?yàn)槟憧赡軙?huì)發(fā)現(xiàn)一些新奇且實(shí)用的東西。

?? 那么,你有發(fā)現(xiàn)什么新的東西嗎?請(qǐng)?jiān)谠u(píng)論區(qū)告訴我。你有一些秘密的 sudo 技巧歡迎和大家分享!

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2023-06-25 11:39:00

Linux文件

2023-09-07 16:28:46

JavaScrip

2021-11-22 12:13:54

Linuxwget 命令

2009-05-20 16:17:39

Linux硬盤(pán)技巧

2023-05-30 09:59:38

2018-05-24 08:47:15

數(shù)據(jù)存儲(chǔ)技巧

2021-11-17 15:28:06

LinuxLinux命令

2021-08-17 10:08:44

HTML網(wǎng)站網(wǎng)絡(luò)

2022-04-14 10:40:11

領(lǐng)導(dǎo)者IT團(tuán)隊(duì)遠(yuǎn)程團(tuán)隊(duì)

2024-06-25 15:41:41

2023-03-22 14:07:00

機(jī)器人

2019-09-09 10:32:51

基于意圖的網(wǎng)絡(luò)IBN網(wǎng)絡(luò)

2015-11-30 17:12:31

Git使用技巧

2012-09-17 10:57:39

郵件安全

2022-08-26 08:00:00

數(shù)字時(shí)代IT首席信息官

2021-12-17 10:29:38

CIOITCFO

2021-06-10 08:00:00

首席信息安全官IT數(shù)據(jù)

2021-03-02 10:54:08

高管IT投資首席信息官

2023-04-19 15:29:53

通信技巧Vue 3開(kāi)發(fā)

2022-07-14 10:34:13

IT領(lǐng)導(dǎo)者CIO首席信息官
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 麻豆一区二区三区精品视频 | 91亚洲精品在线 | 激情 婷婷 | 亚洲午夜精品一区二区三区 | 欧美精品一区二区三区一线天视频 | 日韩精品久久久 | 亚洲欧美激情国产综合久久久 | 久久精品成人热国产成 | 精品国产乱码久久久久久a丨 | 日韩精品视频在线播放 | 精品一区二区在线看 | 免费av直接看| 色欧美片视频在线观看 | 成人免费在线播放视频 | 日韩免费在线 | 欧美极品在线播放 | 欧美激情一区二区 | 波多野结衣中文视频 | 国产精品久久久久久久久久免费看 | 一级毛片播放 | 欧美日韩在线电影 | 久久99国产精品 | 国产免费麻豆视频 | 国产亚洲一区二区三区 | 香蕉久久a毛片 | 国产污视频在线 | 国产成人精品一区二区三区四区 | av一区二区三区四区 | 中文字幕久久精品 | 欧美大片在线观看 | 91精品亚洲 | 亚洲精品一区二区三区在线观看 | 97超在线视频 | 亚洲成人精品 | 在线视频一区二区三区 | 激情欧美一区二区三区 | 精品免费在线 | 久久天堂网 | 久久精品亚洲一区 | av毛片在线免费观看 | 色资源在线 |