IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
在Linux系統(tǒng)中普通用戶在使用系統(tǒng)資源時相對于root超級用戶會有很多的限制。例如,切換到普通用戶身份下掛載光驅(qū),會報(bào)如下錯誤,如下圖所示。
這是因?yàn)樵贚inux中,很多系統(tǒng)管理命令普通用戶是無權(quán)使用的,若想允許特定用戶執(zhí)行某些特定的系統(tǒng)管理命令,就需要對普通用戶授權(quán)。使其能執(zhí)行特定的系統(tǒng)管理命令。如上述的普通用戶“moon”,若允許其執(zhí)行掛載光盤的命令,就需要對“moon”用戶授予執(zhí)行掛載光盤命令的權(quán)限。為了區(qū)分普通用戶執(zhí)行的是普通操作命令還是得到授權(quán)的系統(tǒng)管理命令,Linux系統(tǒng)中對普通用戶執(zhí)行的命令進(jìn)行了劃分,執(zhí)行普通操作命令時,直接輸入命令;執(zhí)行得到授權(quán)的系統(tǒng)管理命令時,命令前加sudo。如上述“moon”用戶得到掛載光盤的授權(quán),其執(zhí)行下列命令即可掛載光盤:
[moon@centos7-1 ~]$sudo mount /dev/cdrom /media
因此,通俗的稱這種授權(quán)為sudo授權(quán)。
保存sudo授權(quán)的配置文件是/etc/sudoers。對該文件進(jìn)行更改,即是sudo授權(quán)。但Linux不允許直接對該文件進(jìn)行修改,而是提供了專用于修改該文件的操作命令visudo。root用戶使用visudo命令編輯更改/etc/sudoers文件。
(1)配置sudo授權(quán)
sudo授權(quán)的步驟如下。
①輸入su - root,切換到用戶root下。
②使用visudo命令打開sudo編輯界面對/etc/sudoers文件進(jìn)行編輯,如下圖所示。
輸入visudo后會呈現(xiàn)如下圖左側(cè)窗口的內(nèi)容,可以開始編輯。visudo命令和vim命令使用方式方法相同。移動光標(biāo),找到下圖左側(cè)所示的內(nèi)容。
圖示中語句root ALL=(ALL) ALL表示允許用戶root在任何主機(jī)(包括本機(jī))上執(zhí)行所有命令,在這一行語句的下添加滿足以下格式的一行語句即可。
語句格式如下:
用戶 主機(jī)名=(以哪個用戶的身份) 命令的絕對路徑
圖中紅框內(nèi)的內(nèi)容是新增加的配置。
zhang centos7-1=(root) /usr/bin/mount,/usr/bin/umount 表示給用戶zhang進(jìn)行sudo授權(quán),允許其在centos7-1主機(jī)上以root的身份執(zhí)行mount和umount命令。
注意,命令必須使用絕對路徑,若對命令的絕對路徑不清楚可以使用whereis命令查看。
③保存退出即可。
注意,用visudo命令編輯的是/etc/sudoers配置文件,將授權(quán)的普通用戶寫在該配置文件中可以使該用戶運(yùn)行需要root權(quán)限的命令。
(2)驗(yàn)證配置結(jié)果
切換到普通用戶zhang身份下進(jìn)行驗(yàn)證,步驟如下。
①切換到用戶zhang狀態(tài)下,輸入su - zhang。
②輸入命令[zhang@Centos7-1 ~]sudo mount /dev/cdrom /media,會提示輸入zhang的密碼,驗(yàn)證成功后,則命令成功執(zhí)行。
普通用戶zhang默認(rèn)沒有權(quán)限使用mount掛載命令,但root用戶通過使用visudo命令配置/etc/sudoers配置文件使用戶zhang擁有了使用mount命令的權(quán)限(mount命令原本只有root用戶才能使用)。只是用戶zhang在使用mount命令時,需要在mount命令前面加上sudo命令,表示用戶zhang先變身成為root,然后再執(zhí)行mount命令。如下圖所示。
(3)設(shè)置命令別名
在修改/etc/sudoers文件進(jìn)行sudo授權(quán)時,還可以把多個命令設(shè)置成為命令別名,即把多個命令加入到一個命令集合中,以便將命令集合多次授權(quán)給不同的用戶使用,簡化授權(quán)的設(shè)置。
設(shè)置命令別名的步驟如下。
①編輯/etc/sudoers文件,輸入命令visudo(相當(dāng)于vi /etc/sudoers),然后輸入“i”,進(jìn)入插入模式,開始編輯。
②輸入Cmnd_Alias GUAZAI=/usr/bin/mount,/usr/bin/umount,設(shè)定命令別名,即把多個命令組成一個命令集。注意,別名必須大寫。
③輸入zhang centos 7-1=GUAZAI,授予用戶zhang執(zhí)行mount和umount命令的權(quán)限。
④輸入%g1 centos 7-1=(root) GUAZAI,“%”用于給組授權(quán),表示給組g1的成員授予執(zhí)行sudo的命令。
>>本文地址:http://www.yceu.cn/zhuanye/2021/68019.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個方向的工作?