中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Linuxsudo實現(xiàn)靈活授權(quán)-創(chuàng)新互聯(lián)

sudo用途:

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、松陽網(wǎng)站維護、網(wǎng)站推廣。

sudo用于為普通用戶授權(quán),一句話:允許哪些用戶在哪些主機上登錄后以哪個用戶身份運行哪些命令。類似Windows系統(tǒng)中的右鍵以管理員方式運行。

一、sudo與su的區(qū)別

舉個例子,運維部門來一位新人想交給他完成一些基本的軟件部署任務(wù),但又擔心他對系統(tǒng)架構(gòu)環(huán)境不熟而引發(fā)誤操作,此時讓他使用su命令直接切換高權(quán)限的管理賬號可能會風險很大,而sudo的靈活授權(quán)就可以把權(quán)限限定到合理的范圍,從而降低風險。

1. su 實際上就是以目標用戶身份進行登錄,執(zhí)行su命令切換用戶時必須知道目標用戶的密碼,授權(quán)很不靈活,同時也帶來了用戶密碼泄露的安全風險。
2. sudo 則是基于配置文件明確定義指定用戶中以執(zhí)行哪些命令,只是臨時進行安全上下文切換,而不需要進行用戶登錄切換。在執(zhí)行sudo 執(zhí)行命令時只需要輸入用戶自己的密碼即,而不需要知道安全上下文切換的目標用戶密碼。
3. su與sudo都可以執(zhí)行用戶切換操作,但sudo必須在配置文件中明確定義才可以進行賬號切換。

su 切換用戶

  1. su username:不完全切換,HOME不會變?yōu)槟繕擞脩舻腍OME目錄
  2. su - username:完全切換,HOME會變?yōu)槟繕擞脩舻腍OME目錄。
    sudo切換用戶
  3. sudo -i 切換為root用戶
  4. sudo -u 命令后跟切換的目標用戶名

sudo的相關(guān)文件

1.  sudo命令來源sudo-1.8.25p1-4.el8.x86_64軟件包。
2.  配置文件:存儲于/etc/sudoers,但支持模塊化配置獨立的配置模塊存儲于/etc/sudoers.d/目錄
3.  日志文件:sudo的操作記錄存儲于/var/log/secure文件中。
4.  時間探針:sudo的令牌超時機制是基于時間探針文件時間戳來判斷是否超時的,時間探針文件存儲于/run/sudo/ts/目錄下。

學習思路:

  1. sudo提供了專門的配置文件編輯工具visudo命令,具有語法檢測功能。
  2. 授權(quán)語法輸寫格式:user host=(root) command
  3. 授權(quán)語法共由4個元素:被授權(quán)用戶 登錄主機IP=(切換后的用戶身份) 授予哪些操作權(quán)限
  4. 4個授權(quán)元素可以是明確的具體對象,也可以是將一組對象組織在一起的別名。

      被授權(quán)用戶:進程的發(fā)起者,可是將一組用戶名或組名組織在一個集合中,集合的名字就是對象別名
      登錄主機:可以是一個具體的IP地址,主機名稱,也可以是多個IP地址、主機名稱,網(wǎng)段組織一起的集合。
      切換后的用戶身份:進程的最終用戶,如果不填寫則默認為root用戶,即被授權(quán)的用戶以任種身份來執(zhí)行后面的定義的Command。
      command:可以是一系列相關(guān)命令的集合,如:將網(wǎng)絡(luò)管理類命令組織在一起定義別名。

    以上三種元素的別名定義在配置文件中已有明確的范例,可以直接引用,在定義用戶別名時如果其成員中包含用戶組名,則必須使用%進行引用。

最佳操作實踐:

  1. sudo的配置文件采用模塊化風格的配置,支持includedir引用/etc/sudoers.d目錄中的單獨定義的模塊化配置文件,因此建議根據(jù)生產(chǎn)需求基于授權(quán)用戶或功能性操作集來單獨定義配置文件,在授權(quán)管理上會更清晰。
  2. 在編輯配置文件時強烈建議使用visudo命令,該命令不加任何選項參數(shù)則直接編輯/etc/sudoers文件,所以在定義模塊化配置時使用visudo -f 后加配置模塊文件的路徑。

二、sudo元素別名定義

元素別名可以理解為變量,別名定義有嚴格的格式要求,sudo中共有四種類型的別名:別名內(nèi)的成員對象類型受這四種類型的約束,且是必須在系統(tǒng)中存在的對象。

1. 定義語法原則:

  a.語法:別名類型     名稱=對象1,對象2,對象3…
  b.別名可以是在大字母、數(shù)字、下劃線的組,注意必須是大寫字母
  c.如果別名內(nèi)有多個成員,則用逗號分隔即可。
  d.別名定義必須在同一行內(nèi),如果一行寫不下可以使用\進行續(xù)行。
  e.支持通配符書寫。

2. User_Alias :進程起發(fā)始者

例:基于用戶或組名定義別名:User_Alias ADMINS = user1,user2,%admins
例:基于UID或GID定義別名:User_Alias ADMINS = #1023(UID), user2,%#1099(GID)

3. Host_Alias:登錄主機

成員對象可以是:IP地址、主機名、FQDN、CDIR格式網(wǎng)絡(luò)號
例:Host_Alias     CDNSERVERS =192.168.39.7, 192.168.40.0/24, node1, notd2.microcisco.com

4. Runas_Alias:進程執(zhí)行的最終用戶

Runas_Alias SRVMGMT=microcisco

5. Cmnd_Alias:被授權(quán)用戶允許執(zhí)行的命令集合

集合成員之間以逗號分隔,每個命令都書寫絕對路徑,命令支持通配符匹配,要執(zhí)行的命令如果有必須明確指定參數(shù),命令的參數(shù)同樣支持通配符匹配。
例1:【定義安裝命令集】Cmnd_Alias INSTALL= /bin/rpm, /usr/bin/up2date, /usr/bin/yum
例2:【基于通配符排除】Cmnd_Alias ADMINCMD = /usr/sbin/useradd,/usr/sbin/usermod, /usr/bin/passwd [a-zA-Z]*, !/usr/bin/passwd root

6. 默認用戶與runas用戶

授權(quán)需求:定義授權(quán)模板用戶,將常用的權(quán)限都授予該模板用戶,將其他有權(quán)限需求的用戶只需要將該模板用戶作為默認賬號,即可解決頻繁的授權(quán)工作。如果有新的權(quán)限需求則只需對授權(quán)模板用戶授權(quán)即可。
配置文件中可以定默認用戶與runas用戶,使用sudo時可以使用-u 選項指定runas用戶,不加-u時使用默認用戶,定義語法如下:
Defaults:microcisco runas_default=vmlab
microcisco IPMI=(tom,root) /usr/bin/cat /etc/shadow,NOPASSWD:SOFTWARE

三、sudo安全

1.sudo自身權(quán)限委派sudoedit

默認sudo的配置文件/etc/sudoers權(quán)限440,屬主屬組為root,也就是這個文件其它用戶沒有任何權(quán)限,sudoedit則是用于授權(quán)哪個用戶可以編輯sudo配置文件,只需在授權(quán)規(guī)則中將sudoedit命令寫入執(zhí)行的command列表中即可。

2.sudo的訪問令牌生存周期

為用戶做sudo授權(quán)后,用戶執(zhí)行命令會要求輸入自己的用戶密碼,默認情況此后的5分鐘之內(nèi)再用sudo執(zhí)行命令則不必再次輸入密碼,由次可見sudo也有類似的訪問令牌生存周期機制。

  1. sudo -V 可以查看令牌期限,字段為:Authentication timestamp timeout 默認為5分鐘,原理是執(zhí)行sudo時通過檢測時間探針文件的時間戳來判斷訪問令牌是否過期,方法就是將執(zhí)行sudo的當前時間與時間探針文件的時間戳對比,如果當前時間大于時間探針文件時間戳并且超過了5分鐘,則認為訪問令牌過期,需要重新認證。
  2. 探針文件存儲于/run/sudo/ts目錄下。可以根據(jù)生產(chǎn)需求修改令牌生存周期,visudo編輯配置文件,在env_reset后添加超時時間如:env_reset,timesamp_timeout=1
  3. sudo-v 可以重置時間探針文件的時間戳
  4. sudo -k 通過重置密碼時間為1970年1月1日來作廢sudo的緩存令牌。使用戶在本次或下一次用sudo執(zhí)行命令時必須輸入密碼。
  5. sudo -K 通過冊除時間探針文件來作廢sudo的緩存令牌

3.使用sudo時取消輸用密碼過程

對于頻繁使用的命令在每次sudo令牌過期后重新輸入密碼會比較麻煩,在運行shell腳本中涉及到sudo授權(quán)的命令時因要求輸入密碼也會打斷腳本的運行。
NOPASSWD可以實現(xiàn)sudo免密執(zhí)行命令,但同時也存在安全隱患,一定要做好嚴格授權(quán)。如下圖所示
Linux sudo實現(xiàn)靈活授權(quán)
正確的授權(quán)方式
Linux sudo實現(xiàn)靈活授權(quán)
4.sudo 通配符匹配引發(fā)安全漏洞
wang ALL=(root) /bin/cat /var/log/messages
期望授權(quán)允許用戶wang,查看 /var/log/目錄下的messages開頭的文件。
安全威脅:sudo cat /var/log/messages /etc/shadow,結(jié)果可以查看shadow文件,
在glob中代表任意長度任意字符,包括空格、/等。

5.sudo在安全實踐中的注意事項:

  1. sudo文件默認具有權(quán)限suid權(quán)限,屬主屬組為root,其它用戶具備執(zhí)行權(quán)限。
  2. sudo的訪問令牌生存周期:執(zhí)行sudo獲取授予權(quán)令牌后,若暫時離開管理機時執(zhí)行sudo -k或-K作廢sudo獲取的訪問令牌。
  3. sudo在進行目錄授權(quán)時,一定要明確排除不希望授權(quán)的對象?;谕ㄅ浞慕?jīng)典錯誤授權(quán)
  4. 不要將sudoedit命令授權(quán)給其它用戶,sudoedit實際上就是sudo命令的軟鏈接

四、實驗部分

1. 編輯默認配置文件:visudo
2. 定義模塊化的配置文件:visudo -f /etc/sudoers.d/vmlab
3.  定義別名

Linux sudo實現(xiàn)靈活授權(quán)

4. 定義sudo默認用戶

Defaults:microcisco runas_default=vmlab
sudo command 用戶默認用戶執(zhí)行命令。
sudo -u username 用指定用戶執(zhí)行命令。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

分享文章:Linuxsudo實現(xiàn)靈活授權(quán)-創(chuàng)新互聯(lián)
當前地址:http://www.rwnh.cn/article42/csidhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、用戶體驗建站公司、品牌網(wǎng)站制作網(wǎng)站設(shè)計公司、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
华蓥市| 汤阴县| 宁国市| 赣榆县| 嘉善县| 台北县| 克什克腾旗| 沈阳市| 方城县| 阳高县| 杨浦区| 华蓥市| 汶上县| 江源县| 黎川县| 留坝县| 安泽县| 东阳市| 军事| 博兴县| 嵩明县| 嘉荫县| 商都县| 南开区| 阳新县| 平昌县| 明水县| 白朗县| 都江堰市| 宣武区| 忻州市| 南漳县| 白山市| 浠水县| 宜昌市| 苏尼特右旗| 天峻县| 治县。| 彝良县| 吴忠市| 永仁县|