


Linux上sudo的使用技巧與使用障礙
現(xiàn)在,許多Linux用戶都熟悉sudo。Ubuntu在普及sudo上做了不少工作,強迫而非鼓勵用戶轉(zhuǎn)換到root帳號安裝軟件和執(zhí)行其他管理任務(wù)。但是關(guān)于sudo,還有許多是用戶和管理員應(yīng)當知曉的。
許多用戶不甚知曉的是sudo可以用來以任何用戶身份執(zhí)行命令,而不單是root用戶。在經(jīng)驗豐富的管理員手里,sudo可用來建立細粒度的權(quán)限,授予用戶執(zhí)行一些管理任務(wù)的權(quán)限卻不用洞門大開。讓我們來看看利用sudo控制系統(tǒng)訪問權(quán)限且用戶依然能保有效率的一些最佳實踐吧。
記住,你必須使用visudo命令來編輯/etc/sudoers文件。
授予信任的用戶以完全訪問權(quán)限,讓他們能以任何用戶身份執(zhí)行任何命令,這個辦法看上去既誘人又簡單。請將這種誘惑拒之門外,因為你想要將訪問權(quán)限限制到可能的最低限度。
1.限定帳號切換:只要有一絲可能,就不要配置sudo允許用戶切換到其他帳號。作為替代,可嘗試配置sudo允許用戶以他們需要用來操作的用戶身份執(zhí)行特定命令。例如,用戶需要安裝軟件了,可允許他們以root用戶身份運行RPM或APT,但不用轉(zhuǎn)換為root用戶。
2.不要使用ALL:最常見的錯誤就是授予ALL權(quán)限——這意味著可以訪問所有命令、訪問所有用戶,或者訪問其它任何權(quán)限排列。雖然權(quán)限鎖定耗時費力,但這樣的麻煩值得一受。
3.分割sudoers:如果有許多系統(tǒng)要管理,又不想復制同樣的/etc/sudoers文件到所有系統(tǒng),那么可以將sudoers文件分割成幾塊,并用特定的sudo配置調(diào)用include文件。例如,如果想在管理Apache和MySQL時使用同一套指令,就可以分出一個獨立的sudo.mysql文件,并使用include指令從主sudoers文件調(diào)用它。
4.善用組:如果可能,按組授權(quán),而不是按單個用戶授權(quán)。例如,有一個admin組具有管理軟件包和更新的管理特權(quán)。在這種情況下,用不著每增加或刪除一個用戶就編輯sudoers文件——只需確保在admin組中對該用戶合適地管理和增加/刪除就行了。
5.超時設(shè)置:確保有合適的超時設(shè)置。太短的話,用戶會很快感到灰心喪氣。好辦法是設(shè)置為5分鐘左右。
6.遵從正確路徑:通過在sudo中指定secure_path指令鎖定二進制文件的路徑——確保用戶不能在secure_path之外執(zhí)行命令。
7.將日志記錄到其他文件:默認情況下,sudo可能將日志與其它系統(tǒng)消息一同記錄在一個普通的messages日志文件中。對單用戶系統(tǒng)如Ubuntu桌面而言,這是可接受的方案,但是對服務(wù)器也這么做可不妙。配置sudo以使其擁有自己的日志文件,這樣sudo的使用和sudoers的變化更為透明。
哪些地方sudo不能用
是的,sudo是個強大的工具,但是要配置好它不容易,而且難于維護。如果有經(jīng)驗的管理員在系統(tǒng)不多的情況下使用,它是實現(xiàn)基于角色訪問控制的完備方法。不過如果是更大型的企業(yè),擁有數(shù)十名IT人員和幾十乃至幾百服務(wù)器的情形,sudo的權(quán)限很快就展露無遺。可以使用其它工具為sudo提供支持。一種方法是使用配置框架如Puppet來跨多系統(tǒng)管理sudo配置。對那些主要基于Linux和Unix的企業(yè)來說這會是特別有效的,盡管Puppet的學習曲線可能有點陡峭。
倘若企業(yè)已經(jīng)在混合了Linux和Windows服務(wù)器的網(wǎng)絡(luò)里部署了Microsoft Active Directory(活動目錄),那么也可以使用Likewise Enterprise將Linux和Unix系統(tǒng)納入Active Directory管理。這樣不僅可將Linux和Unix登錄和Active Directory可信網(wǎng)絡(luò)掛鉤,而且也能在網(wǎng)絡(luò)中對所有服務(wù)器管理sudo配置。
可以找到其他工具來協(xié)助補充sudo,以提供更為健壯的特權(quán)用戶管理。重要的一點是評估網(wǎng)絡(luò)并確定是否sudo獨力就能滿足需要。對于小企業(yè)來說,sudo往往夠好了——如果能按照最佳實踐來做并充分了解sudo配置的話。如果未能正確管理sudo,幾乎比簡單地共享root信任權(quán)還要糟,因為它提供的是錯誤的安全感。懂得怎么使用sudo,并按照這些最佳實踐來做,那么你就可以去悠哉游哉,大快朵頤了。
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認iptable規(guī)則詳解