日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Linuxsudo命令用法詳解:系統(tǒng)權(quán)限管理
我們知道,使用 su 命令可以讓普通用戶(hù)切換到 root 身份去執(zhí)行某些特權(quán)命令,但存在一些問(wèn)題,比如說(shuō):

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括大理州網(wǎng)站建設(shè)、大理州網(wǎng)站制作、大理州網(wǎng)頁(yè)制作以及大理州網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,大理州網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到大理州省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!

  • 僅僅為了一個(gè)特權(quán)操作就直接賦予普通用戶(hù)控制系統(tǒng)的完整權(quán)限;
  • 當(dāng)多人使用同一臺(tái)主機(jī)時(shí),如果大家都要使用 su 命令切換到 root 身份,那勢(shì)必就需要 root 的密碼,這就導(dǎo)致很多人都知道 root 的密碼;

考慮到使用 su 命令可能對(duì)系統(tǒng)安裝造成的隱患,最常見(jiàn)的解決方法是使用 sudo 命令,此命令也可以讓你切換至其他用戶(hù)的身份去執(zhí)行命令。

相對(duì)于使用 su 命令還需要新切換用戶(hù)的密碼,sudo 命令的運(yùn)行只需要知道自己的密碼即可,甚至于,我們可以通過(guò)手動(dòng)修改 sudo 的配置文件,使其無(wú)需任何密碼即可運(yùn)行。

sudo 命令默認(rèn)只有 root 用戶(hù)可以運(yùn)行,該命令的基本格式為:

[root@localhost ~]# sudo [-b] [-u 新使用者賬號(hào)] 要執(zhí)行的命令

常用的選項(xiàng)與參數(shù):

  • -b  :將后續(xù)的命令放到背景中讓系統(tǒng)自行運(yùn)行,不對(duì)當(dāng)前的 shell 環(huán)境產(chǎn)生影響。
  • -u  :后面可以接欲切換的用戶(hù)名,若無(wú)此項(xiàng)則代表切換身份為 root 。
  • -l:此選項(xiàng)的用法為 sudo -l,用于顯示當(dāng)前用戶(hù)可以用 sudo 執(zhí)行那些命令。

【例 1】

[root@localhost ~]#  grep sshd /etc/passwd
sshd:x:74:74:privilege-separated SSH:/var/empty/sshd:/sbin.nologin
[root@localhost ~]#  sudo -u sshd touch /tmp/mysshd
[root@localhost ~]#  ll /tmp/mysshd
-rw-r--r-- 1 sshd sshd 0 Feb 28 17:42 /tmp/mysshd

本例中,無(wú)法使用 su - sshd 的方式成功切換到 sshd 賬戶(hù)中,因?yàn)榇擞脩?hù)的默認(rèn) Shell 是 /sbin/nologin。這時(shí)就顯現(xiàn)出 sudo 的優(yōu)勢(shì),我們可以使用 sudo 以 sshd 的身份在 /tmp 目錄下創(chuàng)建 mysshd 文件,可以看到,新創(chuàng)建的 mysshd 文件的所有者確實(shí)是 sshd。

【例 2】

[root@localhost ~]#  sudo -u vbird1 sh -c "mkdir ~vbird1/www; cd ~vbird1/www; \
>  echo 'This is index.html file' > index.html"
[root@localhost ~]#  ll -a ~vbird1/www
drwxr-xr-x 2 vbird1 vbird1 4096 Feb 28 17:51 .
drwx------ 5 vbird1 vbird1 4096 Feb 28 17:51 ..
-rw-r--r-- 1 vbird1 vbird1   24 Feb 28 17:51 index.html

這個(gè)例子中,使用 sudo 命令切換至 vbird1 身份,并運(yùn)行 sh -c 的方式來(lái)運(yùn)行一連串的命令。

前面說(shuō)過(guò),默認(rèn)情況下 sudo 命令只有 root 身份可以使用,那么,如何讓普通用戶(hù)也能使用它呢?

解決這個(gè)問(wèn)題之前,先給大家分析一下 sudo 命令的執(zhí)行過(guò)程。sudo命令的運(yùn)行,需經(jīng)歷如下幾步:

  • 當(dāng)用戶(hù)運(yùn)行 sudo 命令時(shí),系統(tǒng)會(huì)先通過(guò) /etc/sudoers 文件,驗(yàn)證該用戶(hù)是否有運(yùn)行 sudo 的權(quán)限;
  • 確定用戶(hù)具有使用 sudo 命令的權(quán)限后,還要讓用戶(hù)輸入自己的密碼進(jìn)行確認(rèn)。出于對(duì)系統(tǒng)安全性的考慮,如果用戶(hù)在默認(rèn)時(shí)間內(nèi)(默認(rèn)是 5 分鐘)不使用 sudo 命令,此后使用時(shí)需要再次輸入密碼;
  • 密碼輸入成功后,才會(huì)執(zhí)行 sudo 命令后接的命令。

顯然,能否使用 sudo 命令,取決于對(duì) /etc/sudoers 文件的配置(默認(rèn)情況下,此文件中只配置有 root 用戶(hù))。所以接下來(lái),我們學(xué)習(xí)對(duì) /etc/sudoers 文件進(jìn)行合理的修改。

sudo命令的配置文件/etc/sudoers

修改 /etc/sudoers,不建議直接使用 vim,而是使用 visudo。因?yàn)樾薷?/etc/sudoers 文件需遵循一定的語(yǔ)法規(guī)則,使用 visudo 的好處就在于,當(dāng)修改完畢 /etc/sudoers 文件,離開(kāi)修改頁(yè)面時(shí),系統(tǒng)會(huì)自行檢驗(yàn) /etc/sudoers 文件的語(yǔ)法。

因此,修改 /etc/sudoers 文件的命令如下:

[root@localhost ~]# visudo
…省略部分輸出…
root ALL=(ALL) ALL  <--大約 76 行的位置
# %wheel ALL=(ALL) ALL   <--大約84行的位置
#這兩行是系統(tǒng)為我們提供的模板,我們參照它寫(xiě)自己的就可以了
…省略部分輸出…

通過(guò) visudo 命令,我們就打開(kāi)了 /etc/sudoers 文件,可以看到如上顯示的 2 行信息,這是系統(tǒng)給我們提供的 2 個(gè)模板,分別用于添加用戶(hù)和群組,使其能夠使用 sudo 命令。

這兩行模板的含義分為是:

root ALL=(ALL) ALL
#用戶(hù)名 被管理主機(jī)的地址=(可使用的身份) 授權(quán)命令(絕對(duì)路徑)
#%wheel ALL=(ALL) ALL
#%組名 被管理主機(jī)的地址=(可使用的身份) 授權(quán)命令(絕對(duì)路徑)

表 1 對(duì)以上 2 個(gè)模板的各部分進(jìn)行詳細(xì)的說(shuō)明。

表 1 /etc/sudoers 用戶(hù)和群組模板的含義
模塊 含義
用戶(hù)名或群組名 表示系統(tǒng)中的那個(gè)用戶(hù)或群組,可以使用 sudo 這個(gè)命令。
被管理主機(jī)的地址 用戶(hù)可以管理指定 IP 地址的服務(wù)器。這里如果寫(xiě) ALL,則代表用戶(hù)可以管理任何主機(jī);如果寫(xiě)固定 IP,則代表用戶(hù)可以管理指定的服務(wù)器。如果我們?cè)谶@里寫(xiě)本機(jī)的 IP 地址,不代表只允許本機(jī)的用戶(hù)使用指定命令,而是代表指定的用戶(hù)可以從任何 IP 地址來(lái)管理當(dāng)前服務(wù)器。
可使用的身份 就是把來(lái)源用戶(hù)切換成什么身份使用,(ALL)代表可以切換成任意身份。這個(gè)字段可以省略。
授權(quán)命令 表示 root 把什么命令命令授權(quán)給用戶(hù),換句話(huà)說(shuō),可以用切換的身份執(zhí)行什么命令。需要注意的是,此命令必須使用絕對(duì)路徑寫(xiě)。默認(rèn)值是 ALL,表示可以執(zhí)行任何命令。

【例 3】

授權(quán)用戶(hù) lamp 可以重啟服務(wù)器,由 root 用戶(hù)添加,可以在 /etc/sudoers 模板下添加如下語(yǔ)句:

[root@localhost ~]# visudo
lamp ALL=/sbin/shutdown -r now

注意,這里也可以寫(xiě)多個(gè)授權(quán)命令,之間用逗號(hào)分隔。用戶(hù) lamp 可以使用 sudo -l 查看授權(quán)的命令列表:

[root@localhost ~]# su - lamp
#切換成lamp用戶(hù)
[lamp@localhost ~]$ sudo -l
[sudo] password for lamp:
#需要輸入lamp用戶(hù)的密碼
User lamp may run the following commands on this host:
(root) /sbin/shutdown -r now

可以看到,lamp 用戶(hù)擁有了 shutdown -r now 的權(quán)限。這時(shí),lamp 用戶(hù)就可以使用 sudo 執(zhí)行如下命令重啟服務(wù)器:

[lamp@localhost ~]$ sudo /sbin/shutdown -r now

再次強(qiáng)調(diào),授權(quán)命令要使用絕對(duì)路徑(或者把 /sbin 路徑導(dǎo)入普通用戶(hù) PATH 路徑中,不推薦使用此方式),否則無(wú)法執(zhí)行。

【例 4】

假設(shè)現(xiàn)在有 pro1,pro2,pro3 這 3 個(gè)用戶(hù),還有一個(gè) group 群組,我們可以通過(guò)在 /etc/sudoers 文件配置 wheel 群組信息,令這 3 個(gè)用戶(hù)同時(shí)擁有管理系統(tǒng)的權(quán)限。

首先,向 /etc/sudoers 文件中添加群組配置信息:

[root@localhost ~]# visudo
....(前面省略)....
%group     ALL=(ALL)    ALL
#在 84 行#wheel這一行后面寫(xiě)入

此配置信息表示,group 這個(gè)群組中的所有用戶(hù)都能夠使用 sudo 切換任何身份,執(zhí)行任何命令。接下來(lái),我們使用 usermod 命令將 pro1 加入 group 群組,看看有什么效果:

[root@localhost ~]# usermod -a -G group pro1
[pro1@localhost ~]# sudo tail -n 1 /etc/shadow <==注意身份是 pro1
....(前面省略)....
Password:  <==輸入 pro1 的口令喔!
pro3:$1$GfinyJgZ$9J8IdrBXXMwZIauANg7tW0:14302:0:99999:7:::
[pro2@localhost ~]# sudo tail -n 1 /etc/shadow <==注意身份是 pro2
Password:
pro2 is not in the sudoers file.  This incident will be reported.
#此錯(cuò)誤信息表示 pro2 不在 /etc/sudoers 的配置中。

可以看到,由于 pro1 加入到了 group 群組,因此 pro1 就可以使用 sudo 命令,而 pro2 不行。同樣的道理,如果我們想讓 pro3 也可以使用 sudo 命令,不用再修改 /etc/sudoers 文件,只需要將 pro3 加入 group 群組即可。


網(wǎng)頁(yè)題目:Linuxsudo命令用法詳解:系統(tǒng)權(quán)限管理
網(wǎng)頁(yè)鏈接:http://www.5511xx.com/article/cocjghi.html