Linux上sudo的使用技巧
Sudo是Linux系統(tǒng)管理下的指令,它可以讓系統(tǒng)管理員執(zhí)行root命令?,F(xiàn)在,許多Linux用戶都熟悉sudo。Ubuntu在普及sudo上做了不少工作,強(qiáng)迫而非鼓勵(lì)用戶轉(zhuǎn)換到root帳號安裝軟件和執(zhí)行其他管理任務(wù)。以下介紹sodu在Linux下的使用技巧:
許多用戶不甚知曉的是sudo可以用來以任何用戶身份執(zhí)行命令,而不單是root用戶。在經(jīng)驗(yàn)豐富的管理員手里,sudo可用來建立細(xì)粒度的權(quán)限,授予用戶執(zhí)行一些管理任務(wù)的權(quán)限卻不用洞門大開。讓我們來看看利用sudo控制系統(tǒng)訪問權(quán)限且用戶依然能保有效率的一些***實(shí)踐吧。
記住,你必須使用visudo命令來編輯/etc/sudoers文件。
授予信任的用戶以完全訪問權(quán)限,讓他們能以任何用戶身份執(zhí)行任何命令,這個(gè)辦法看上去既誘人又簡單。請將這種誘惑拒之門外,因?yàn)槟阆胍獙⒃L問權(quán)限限制到可能的***限度。
1.限定帳號切換:只要有一絲可能,就不要配置sudo允許用戶切換到其他帳號。作為替代,可嘗試配置sudo允許用戶以他們需要用來操作的用戶身份執(zhí)行特定命令。例如,用戶需要安裝軟件了,可允許他們以root用戶身份運(yùn)行RPM或APT,但不用轉(zhuǎn)換為root用戶。
2.不要使用ALL:最常見的錯(cuò)誤就是授予ALL權(quán)限——這意味著可以訪問所有命令、訪問所有用戶,或者訪問其它任何權(quán)限排列。雖然權(quán)限鎖定耗時(shí)費(fèi)力,但這樣的麻煩值得一受。
3.分割sudoers:如果有許多系統(tǒng)要管理,又不想復(fù)制同樣的/etc/sudoers文件到所有系統(tǒng),那么可以將sudoers文件分割成幾塊,并 用特定的sudo配置調(diào)用include文件。例如,如果想在管理Apache和MySQL時(shí)使用同一套指令,就可以分出一個(gè)獨(dú)立的 sudo.mysql文件,并使用include指令從主sudoers文件調(diào)用它。
4.善用組:如果可能,按組授權(quán),而不是按單個(gè)用戶授權(quán)。例如,有一個(gè)admin組具有管理軟件包和更新的管理特權(quán)。在這種情況下,用不著每增加或刪除一個(gè)用戶就編輯sudoers文件——只需確保在admin組中對該用戶合適地管理和增加/刪除就行了。
5.超時(shí)設(shè)置:確保有合適的超時(shí)設(shè)置。太短的話,用戶會(huì)很快感到灰心喪氣。好辦法是設(shè)置為5分鐘左右。
6.遵從正確路徑:通過在sudo中指定secure_path指令鎖定二進(jìn)制文件的路徑——確保用戶不能在secure_path之外執(zhí)行命令。
7.將日志記錄到其他文件:默認(rèn)情況下,sudo可能將日志與其它系統(tǒng)消息一同記錄在一個(gè)普通的messages日志文件中。對單用戶系統(tǒng)如 Ubuntu桌面而言,這是可接受的方案,但是對服務(wù)器也這么做可不妙。配置sudo以使其擁有自己的日志文件,這樣sudo的使用和sudoers的變化更為透明。
哪些地方sudo不能用是的,sudo是個(gè)強(qiáng)大的工具, 但是要配置好它不容易,而且難于維護(hù)。如果有經(jīng)驗(yàn)的管理員在系統(tǒng)不多的情況下使用,它是實(shí)現(xiàn)基于角色訪問控制的完備方法。不過如果是更大型的企業(yè),擁有數(shù) 十名IT人員和幾十乃至幾百服務(wù)器的情形,sudo的權(quán)限很快就展露無遺??梢允褂闷渌ぞ邽閟udo提供支持。一種方法是使用配置框架如 Puppet來跨多系統(tǒng)管理sudo配置。對那些主要基于Linux和Unix的企業(yè)來說這會(huì)是特別有效的,盡管Puppet的學(xué)習(xí)曲線可能有點(diǎn)陡峭。
倘若企業(yè)已經(jīng)在混合了Linux和Windows服務(wù)器的網(wǎng)絡(luò)里 部署了Microsoft Active Directory(活動(dòng)目錄),那么也可以使用Likewise Enterprise將Linux和Unix系統(tǒng)納入Active Directory管理。這樣不僅可將Linux和Unix登錄和Active Directory可信網(wǎng)絡(luò)掛鉤,而且也能在網(wǎng)絡(luò)中對所有服務(wù)器管理sudo配置。
【編輯推薦】