Linus:Linux系統(tǒng)操作權(quán)限陷入兩難困境
據(jù)國外媒體報道,林納斯·托瓦茲(Linus Torvalds)近日在在Google+上抱怨道,openSUSE 的安全機制過于煩人,他的女兒從學(xué)校打來電話索要Root 密碼,只有這樣才可以為MacBook Air筆記本設(shè)置學(xué)校打印機路徑。
托瓦茲認為,更改時區(qū),添加新的無線網(wǎng)或設(shè)置等操作屬于日常任務(wù),而為這些任務(wù)設(shè)置Root 密碼是“愚蠢和錯誤的”。針對如此設(shè)置的開發(fā)者,他調(diào)侃道:“請你現(xiàn)在就自殺吧,這樣世界會變得更好。”
鑒于托瓦茲的知名度,他的言辭迅速吸引了數(shù)千條評論,并在業(yè)界引起巨大反響。
托瓦茲認為這個問題是由Linux的兩個理念所致:一方面,作為Unix系統(tǒng)的子代,Linux是一款真正的多用戶系統(tǒng);另一方面,傳統(tǒng)PC系統(tǒng)允許用戶完全控制自己的個人電腦。
多用戶控制理念必然要求系統(tǒng)限制用戶對系統(tǒng)的控制,從而避免對其他用戶造成負面影響,例如限制一些常規(guī)操作,包括安裝新軟件,刪除現(xiàn)有用戶帳戶,當然也包括設(shè)置或移除打印機。根據(jù)Unix的傳統(tǒng),所有這些任務(wù)只允許Root帳號操作。
相反,PC操作系統(tǒng)一般面向單個用戶,因此用戶可以全面控制系統(tǒng)。而對于多用戶PC系統(tǒng)用戶而言,他們必須謹慎控制系統(tǒng)。
對于上述兩種理念,最簡單的折中方法就是以Root用戶身份登錄Linux。然后,用戶可以做任何想做的事情,如在錯誤的地方添加一個空間,或直接清除整個硬盤。
現(xiàn)在,有一種稱作sudo的新方法:系統(tǒng)安裝過程中創(chuàng)建首位用戶,該用戶將作為“ALL=(ALL) ALL”存放在/etc/sudoers。然后,用戶就可以執(zhí)行任何受Root限制的操作,但用戶僅需輸入個人秘密,而不是Root密碼。例如,Ubuntu就使用一個專門的管理組,當新用戶被添加,管理員可以決定是否給予新用戶“sudo權(quán)限”。
但是,sudo無法解決托瓦茲和他女兒所遭遇的問題,“執(zhí)行所有操作”(使用sudo)和“不可執(zhí)行任何操作”(無sudo)間依然存在真空。托瓦茲所希望的是,一款系統(tǒng)可以在限制危險操作的同時,也能讓他的女兒執(zhí)行簡單的日常操作,如設(shè)置網(wǎng)絡(luò)連接或打印機。更進一步地說,IT部門應(yīng)處理威脅系統(tǒng)安全的操作,而設(shè)置打印機一類的日常操作應(yīng)該由普通用戶執(zhí)行。
舉例而言,系統(tǒng)應(yīng)當可以讓所有用戶設(shè)置打印機,但他們無法移除其他用戶的打印機設(shè)置;用戶可以為USB聲卡加載驅(qū)動,但無法通過強行加載惡意驅(qū)動來破壞系統(tǒng);用戶可以按照程序,但不能刪除/usr/bin/git文件。
Unix的傳統(tǒng)機制可能難以解決這個問題。但Linux一直在不斷進步:擴展文件屬性,SELinux的強制訪問控制(Mandatory Access Control)以及PolicyKit等服務(wù)。Linux缺少一種用戶模式: PC和筆記本平臺通常由單個用戶使用,但其他用戶也可以成為“基本管理員”,而傳統(tǒng)的Unix多用戶模式不適合這種平臺。
在這方面,Android模式甚至都更為合適:用戶可以更改時區(qū),連接設(shè)備至新網(wǎng)絡(luò),設(shè)置網(wǎng)絡(luò)打印機,以及隨意安裝軟件。但是,Android用戶無法刪除內(nèi)核,安裝影響其他程序功能性的程序。
如果托瓦茲的女兒沒有在MacBook Air執(zhí)行所有Android設(shè)備操作,很多問題都將迎刃而解。當然,Root密碼登錄問題仍然有待解決。
【編輯推薦】