国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進(jìn)程|Fedora|注冊(cè)表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Linux - Linux中利用sudo進(jìn)行賦權(quán)的方法詳解

Linux中利用sudo進(jìn)行賦權(quán)的方法詳解

2022-02-25 16:50Linux中國(guó) Linux

sudo的目的:為非根用戶(hù)授予根用戶(hù)的權(quán)限,下面這篇文章主要給大家介紹了關(guān)于Linux中利用sudo進(jìn)行賦權(quán)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

前言

學(xué)習(xí)怎么在保護(hù) root 密碼的安全性的同時(shí),為可信用戶(hù)賦予所管理的網(wǎng)絡(luò)功能和特定服務(wù)的權(quán)限。

我最近寫(xiě)了一個(gè)簡(jiǎn)短的 Bash 程序來(lái)將 MP3 文件從一臺(tái)網(wǎng)絡(luò)主機(jī)的 USB 盤(pán)中拷貝到另一臺(tái)網(wǎng)絡(luò)主機(jī)上去。拷貝出來(lái)的文件存放在一臺(tái)志愿者組織所屬服務(wù)器的特定目錄下,在那里,這些文件可以被下載和播放。

我的程序還會(huì)做些其他事情,比如為了自動(dòng)在網(wǎng)頁(yè)上根據(jù)日期排序,在拷貝文件之前會(huì)先對(duì)這些文件重命名。在驗(yàn)證拷貝完成后,還會(huì)刪掉 USB 盤(pán)中的所有文件。這個(gè)小程序還有一些其他選項(xiàng),比如 -h 會(huì)顯示幫助, -t 進(jìn)入測(cè)試模式等等。

我的程序需要以 root 運(yùn)行才能發(fā)揮作用。然而,這個(gè)組織中之后很少的人對(duì)管理音頻和計(jì)算機(jī)系統(tǒng)有興趣的,這使得我不得不找那些半吊子的人來(lái),并培訓(xùn)他們登錄到用于傳輸?shù)挠?jì)算機(jī),運(yùn)行這個(gè)小程序。

倒不是說(shuō)我不能親自運(yùn)行這個(gè)程序,但由于外出和疾病等等各種原因, 我不是時(shí)常在場(chǎng)的。 即使我在場(chǎng),作為一名 “懶惰的系統(tǒng)管理員”, 我也希望別人能替我把事情給做了。 因此我寫(xiě)了一些腳本來(lái)自動(dòng)完成這些任務(wù)并通過(guò) sudo 來(lái)指定某些人來(lái)運(yùn)行這些腳本。 很多 Linux 命令都需要用戶(hù)以 root 身份來(lái)運(yùn)行。 sudo 能夠保護(hù)系統(tǒng)免遭一時(shí)糊涂造成的意外損壞以及惡意用戶(hù)的故意破壞。

盡可能的使用 sudo

sudo 是一個(gè)很方便的工具,它讓我一個(gè)具有 root 權(quán)限的管理員可以分配所有或者部分管理性的任務(wù)給其他用戶(hù), 而且還無(wú)需告訴他們 root 密碼, 從而保證主機(jī)的高安全性。

假設(shè),我給了普通用戶(hù) ruser 訪問(wèn)我 Bash 程序 myprog 的權(quán)限, 而這個(gè)程序的部分功能需要 root 權(quán)限。 那么該用戶(hù)可以以 ruser 的身份登錄,然后通過(guò)以下命令運(yùn)行 myprog 。

?
1
sudo myprog

sudo 程序會(huì)檢查 /etc/sudoers 文件,并確認(rèn) ruser 是否被許可運(yùn)行 myprog 。如被許可, sudo 會(huì)要求該用戶(hù)輸入其密碼——而非 root 密碼。在 ruser 輸入他的密碼之后,該程序就運(yùn)行了。此外, sudo 也記錄 myprog 該程序運(yùn)行的日期和時(shí)間、完整的命令,以及誰(shuí)在運(yùn)行它。這個(gè)數(shù)據(jù)會(huì)記錄在 /var/log/security 中。

我發(fā)現(xiàn)在培訓(xùn)時(shí)記錄下每個(gè)用 sudo 執(zhí)行的命令會(huì)很有幫助。我可以看到誰(shuí)執(zhí)行了哪些命令,他們是否輸對(duì)了。

我委派了權(quán)限給自己和另一個(gè)人來(lái)運(yùn)行那一個(gè)程序;然而, sudo 可以做更多的事情。 它允許系統(tǒng)管理員委派所管理的網(wǎng)絡(luò)功能或特定的服務(wù)給某個(gè)受信的人或某組人。這可以讓你在保護(hù)了 root 密碼的安全性的同時(shí),也賦予了那些功能。

配置 sudoers 文件

作為一名系統(tǒng)管理員,我使用 /etc/sudoers 文件來(lái)設(shè)置某些用戶(hù)或某些用戶(hù)組可以訪問(wèn)某個(gè)命令,或某組命令,或所有命令。 這種靈活性是使用 sudo 進(jìn)行委派時(shí)能兼顧功能與簡(jiǎn)易性的關(guān)鍵。

我一開(kāi)始對(duì) sudoers 文件感到很困惑,因此下面我會(huì)拷貝并分解我所使用主機(jī)上的完整 sudoers 文件。 希望在分析的過(guò)程中不會(huì)讓你感到困惑。 我意外地發(fā)現(xiàn), 基于 Red Hat 的發(fā)行版中默認(rèn)的配置文件都會(huì)很多注釋以及例子來(lái)指導(dǎo)你如何做出修改,這使得修改配置文件變得簡(jiǎn)單了很多,也不需要在互聯(lián)網(wǎng)上搜索那么多東西了。

不要直接用編輯器來(lái)修改 sudoers 文件,而應(yīng)該用 visudo 命令,因?yàn)樵撁顣?huì)在你保存并退出編輯器后就立即生效這些變更。 visudo 也可以使用除了 Vi 之外的其他編輯器。

讓我們首先來(lái)分析一下文件中的各種別名。

主機(jī)別名

主機(jī)別名這一節(jié)用于創(chuàng)建主機(jī)分組,授予該組主機(jī)可以訪問(wèn)哪些命令或命令別名。 它的基本思想是,該文件由組織中的所有主機(jī)共同維護(hù),然后拷貝到每臺(tái)主機(jī)中的 /etc 中。 其中有些主機(jī), 例如各種服務(wù)器, 可以配置成一個(gè)組來(lái)賦予用戶(hù)訪問(wèn)特定命令的權(quán)限, 比如可以啟停類(lèi)似 HTTPD、DNS 以及網(wǎng)絡(luò)服務(wù);可以掛載文件系統(tǒng)等等。

在設(shè)置主機(jī)別名時(shí)也可以用 IP 地址替代主機(jī)名。

?
1
2
3
4
5
## Host Aliases
## Groups of machines. You may prefer to use hostnames (perhaps using
## wildcards for entire domains) or IP addresses instead.
# Host_Alias  FILESERVERS = fs1, fs2
# Host_Alias  MAILSERVERS = smtp, smtp2

用戶(hù)別名

用戶(hù)別名允許 root 將用戶(hù)整理成別名組中,并按組來(lái)分配特定的 root 權(quán)限。在這部分內(nèi)容中我加了一行 User_Alias AUDIO = dboth, ruser ,定義了一個(gè)別名 AUDIO 用來(lái)指代了兩個(gè)用戶(hù)。

正如 sudoers 文件中所闡明的,也可以直接使用 /etc/groups 中定義的組而不用自己設(shè)置別名。 如果你定義好的組(假設(shè)組名為 audio )已經(jīng)能滿足要求了, 那么在后面分配命令時(shí)只需要在組名前加上 % 號(hào),像這樣: %audio 。

?
1
2
3
4
5
6
## User Aliases
## These aren't often necessary, as you can use regular groups
## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname
## rather than USERALIAS
# User_Alias ADMINS = jsmith, mikem
User_Alias AUDIO = dboth, ruser

命令別名

再后面是命令別名的部分。這些別名表示的是一系列相關(guān)的命令, 比如網(wǎng)絡(luò)相關(guān)命令,或者 RPM 包管理命令。 這些別名允許系統(tǒng)管理員方便地為一組命令分配權(quán)限。

該部分內(nèi)容已經(jīng)設(shè)置好了許多別名,這使得分配權(quán)限給某類(lèi)命令變得方便很多。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
## Command Aliases
## These are groups of related commands...
 
## Networking
# Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
 
## Installation and management of software
# Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
 
## Services
# Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
 
## Updating the locate database
# Cmnd_Alias LOCATE = /usr/bin/updatedb
 
## Storage
# Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
 
## Delegating permissions
# Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp
 
## Processes
# Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
 
## Drivers
# Cmnd_Alias DRIVERS = /sbin/modprobe

環(huán)境默認(rèn)值

下面部分內(nèi)容設(shè)置默認(rèn)的環(huán)境變量。這部分最值得關(guān)注的是 !visiblepw 這一行, 它表示當(dāng)用戶(hù)環(huán)境設(shè)置成顯示密碼時(shí)禁止 sudo 的運(yùn)行。 這個(gè)安全措施不應(yīng)該被修改掉。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
# Defaults specification
#
# Refuse to run if unable to disable echo on the tty.
#
Defaults !visiblepw
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 env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
 
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

命令部分

命令部分是 sudoers 文件的主體。不使用別名并不會(huì)影響你完成要實(shí)現(xiàn)的效果,別名只是讓整個(gè)配置工作大幅簡(jiǎn)化而已。

這部分使用之前定義的別名來(lái)告訴 sudo 哪些人可以在哪些機(jī)器上執(zhí)行哪些操作。一旦你理解了這部分內(nèi)容的語(yǔ)法,你會(huì)發(fā)現(xiàn)這些例子都非常的直觀。 下面我們來(lái)看看它的語(yǔ)法。

?
1
ruser   ALL=(ALL) ALL

意即 ruser 可以在任意主機(jī)上以任意用戶(hù)身份運(yùn)行任意命令

這是一條為用戶(hù) ruser 做出的配置。行中第一個(gè) ALL 表示該條規(guī)則在所有主機(jī)上生效。 第二個(gè) ALL 允許 ruser 以任意其他用戶(hù)的身份運(yùn)行命令。 默認(rèn)情況下, 命令以 root 用戶(hù)的身份運(yùn)行, 但 ruser 可以在 sudo 命令行指定程序以其他用戶(hù)的身份運(yùn)行。 最后這個(gè) ALL 表示 ruser 可以運(yùn)行所有命令而不受限制。 這讓 ruser 實(shí)際上就變成了 root 。

注意到下面還有一條針對(duì) root 的配置。這允許 root 能通過(guò) sudo 在任何主機(jī)上運(yùn)行任何命令。

?
1
root ALL=(ALL) ALL

意即 root 可以在任意主機(jī)上以任意用戶(hù)身份運(yùn)行任意命令

為了實(shí)驗(yàn)一下效果,我注釋掉了這行, 然后以 root 的身份試著直接運(yùn)行 chown 。 出乎意料的是這樣是能成功的。 然后我試了下 sudo chown ,結(jié)果失敗了,提示信息 “Root is not in the sudoers file。 This incident will be reported”。 也就是說(shuō) root 可以直接運(yùn)行任何命令, 但當(dāng)加上 sudo 時(shí)則不行。 這會(huì)阻止 root 像其他用戶(hù)一樣使用 sudo 命令來(lái)運(yùn)行其他命令, 但是 root 有太多種方法可以繞過(guò)這個(gè)約束了。

下面這行是我新增來(lái)控制訪問(wèn) myprog 的。它指定了只有上面定義的 AUDIO 組中的用戶(hù)才能在 guest1 這臺(tái)主機(jī)上使用 myprog 這個(gè)命令。

?
1
AUDIO guest1=/usr/local/bin/myprog

允許 AUDIO 組成員在 guest1 主機(jī)上訪問(wèn) myprog

注意,上面這一行只指定了允許訪問(wèn)的主機(jī)名和程序,而沒(méi)有說(shuō)用戶(hù)可以以其他用戶(hù)的身份來(lái)運(yùn)行該程序。

省略密碼

你也可以通過(guò) NOPASSWORD 來(lái)讓 AUDIO 組中的用戶(hù)無(wú)需密碼就能運(yùn)行 myprog 。像這樣:

?
1
AUDIO guest1=NOPASSWORD : /usr/local/bin/myprog

允許 AUDIO 組成員在 guest1 主機(jī)上不用輸入密碼即可訪問(wèn) myprog

我并沒(méi)有這樣做,因?yàn)槲矣X(jué)得使用 sudo 的用戶(hù)必須要停下來(lái)想清楚他們正在做的事情,這對(duì)他們有好處。 我這里只是舉個(gè)例子。

wheel

sudoers 文件中命令部分的 wheel 說(shuō)明(如下所示)允許所有在 wheel 組中的用戶(hù)在任何機(jī)器上運(yùn)行任何命令。 wheel 組在 /etc/group 文件中定義, 用戶(hù)必須加入該組后才能工作。 組名前面的 % 符號(hào)表示 sudo 應(yīng)該去 /etc/group 文件中查找該組。

?
1
%wheel   ALL = (ALL) ALL

運(yùn)行所有定義在 /etc/group 文件中的 “wheel” 組成員可以在任意主機(jī)上運(yùn)行全部命令

這種方法很好的實(shí)現(xiàn)了為多個(gè)用戶(hù)賦予完全的 root 權(quán)限而不用提供 root 密碼。只需要把該用戶(hù)加入 wheel 組中就能給他們提供完整的 root 的能力。 它也提供了一種通過(guò) sudo 創(chuàng)建的日志來(lái)監(jiān)控他們行為的途徑。 有些 Linux 發(fā)行版, 比如 Ubuntu, 會(huì)自動(dòng)將用戶(hù)的 ID 加入 /etc/group 中的 wheel 組中, 這使得他們能夠用 sudo 命令運(yùn)行所有的特權(quán)命令。

結(jié)語(yǔ)

我這里只是小試了一把 sudo — 我只是給一到兩個(gè)用戶(hù)以 root 權(quán)限運(yùn)行單個(gè)命令的權(quán)限。完成這些只添加了兩行配置(不考慮注釋?zhuān)?將某項(xiàng)任務(wù)的權(quán)限委派給其他非 root 用戶(hù)非常簡(jiǎn)單,而且可以節(jié)省你大量的時(shí)間。 同時(shí)它還會(huì)產(chǎn)生日志來(lái)幫你發(fā)現(xiàn)問(wèn)題。

sudoers 文件還有許多其他的配置和能力。查看 sudo 和 sudoers 的 man 手冊(cè)可以深入了解詳細(xì)信息。

好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)服務(wù)器之家的支持。

原文鏈接:https://linux.cn/article-9197-1.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲一区二区免费看 | 亚洲自拍小视频 | 中文字幕99| 久久久久久久国产 | 亚洲网站视频 | 日韩视频精品在线 | 呦呦在线观看 | 精品无码久久久久久久动漫 | 国产一区二区三区久久久久久久久 | 国产一区二区精品丝袜 | 久久久久成人精品 | 亚洲综合视频 | 人人射av | 久久久精品 | 免费的污网站 | 成人久久18免费观看 | 欧美全黄 | 久久免费国产精品 | 在线成人av | 亚洲国产福利一区 | 免费一级a毛片免费观看 | 亚洲一区二区在线 | 另类久久 | 亚洲精品久久久久久国产精华液 | www日韩| 免费成人福利视频 | 啪啪导航 | 一本大道av日日躁夜夜躁 | 中文字幕在线精品 | 成人一级片| 亚洲第一免费看片 | 日韩av电影在线免费观看 | 91麻豆精品国产91久久久资源速度 | 国产免费啪 | 五月婷伊人 | 最近的中文字幕在线看视频 | 亚洲一区二区av | 中文字幕亚洲一区 | 国产亚洲精品美女久久久久久久久久 | 日韩av免费在线观看 | 亚洲高清资源 |