Skip to content

antony@notes:~/misc$ cat "Linux-的檔案權限與目錄配置.md"

Linux 的檔案權限與目錄配置

2022-02-21· misc ·Linux

Linux 的檔案權限與目錄配置

使用者與群組

  1. 檔案擁有者 由於Linux是個多人多工的系統,因此可能常常會有多人同時使用這部主機來進行工作的情況發生, 為了考慮每個人的隱私權以及每個人喜好的工作環境,因此,這個『檔案擁有者』的角色就顯的相當的重要了!

    例如,當你將你的e-mail情書轉存成檔案之後,放在你自己的家目錄,你總不希望被其他人看見自己的情書吧? 這個時候,你就把該檔案設定成『只有檔案擁有者,就是我,才能看與修改這個檔案的內容』, 那麼即使其他人知道你有這個相當『有趣』的檔案,不過由於你有設定適當的權限, 所以其他人自然也就無法知道該檔案的內容囉!

  2. 群組概念 群組最有用的功能之一,就是當你在團隊開發資源的時候啦! 舉例來說,假設有兩組專題生在我的主機裡面,第一個專題組別為projecta,裡面的成員有 class1, class2, class3三個;第二個專題組別為projectb,裡面的成員有class4, class5, class6。 這兩個專題之間是有競爭性質的,但卻要繳交同一份報告。每組的組員之間必須要能夠互相修改對方的資料, 但是其他組的組員則不能看到本組自己的檔案內容,此時該如何是好?

    在Linux底下這樣的限制是很簡單啦!我可以經由簡易的檔案權限設定,就能限制非自己團隊(亦即是群組囉) 的其他人不能夠閱覽內容囉!而且亦可以讓自己的團隊成員可以修改我所建立的檔案! 同時,如果我自己還有私人隱密的文件,仍然可以設定成讓自己的團隊成員也看不到我的檔案資料。 很方便吧!

    另外,如果teacher這個帳號是projecta與projectb這兩個專題的老師, 他想要同時觀察兩者的進度,因此需要能夠進入這兩個群組的權限時,你可以設定teacher這個帳號, 『同時支援projecta與projectb這兩個群組!』,也就是說:每個帳號都可以有多個群組的支援

    • 使用者的意義:由於王家三人各自擁有自己的房間,所以, 王二毛雖然可以進入王三毛的房間,但是二毛不能翻三毛的抽屜喔!那樣會被三毛K的! 因為抽屜裡面可能有三毛自己私人的東西,例如情書啦,日記啦等等的,這是『私人的空間』,所以當然不能讓二毛拿囉!

    • 群組的概念:由於共同擁有客廳,所以王家三兄弟可以在客廳打開電視機啦、 翻閱報紙啦、坐在沙發上面發呆啦等等的! 反正,只要是在客廳的玩意兒,三兄弟都可以使用喔! 因為大家都是一家人嘛!

    這樣說來應該有點曉得了喔!那個『王大毛家』就是所謂的『群組』囉, 至於三兄弟就是分別為三個『使用者』,而這三個使用者是在同一個群組裡面的喔! 而三個使用者雖然在同一群組內,但是我們可以設定『權限』, 好讓某些使用者個人的資訊不被群組的擁有者查詢,以保有個人『私人的空間』啦! 而設定群組共享,則可讓大家共同分享喔!

  3. 其他人的概念 好了,那麼今天又有個人,叫做張小豬,他是張小豬家的人,與王家沒有關係啦! 這個時候,除非王家認識張小豬,然後開門讓張小豬進來王家,否則張小豬永遠沒有辦法進入王家, 更不要說進到王三毛的房間啦!不過,如果張小豬透過關係認識了三毛,並且跟王三毛成為好朋友, 那麼張小豬就可以透過三毛進入王家啦!呵呵!沒錯!那個張小豬就是所謂的『其他人,Others』囉!

    因此,我們就可以知道啦,在Linux裡面,任何一個檔案都具有『User, Group及Others』三種身份的個別權限, 我們可以將上面的說明以底下的圖示來解釋:

    我們以王三毛為例,王三毛這個『檔案』的擁有者為王三毛,他屬於王大毛這個群組, 而張小豬相對於王三毛,則只是一個『其他人(others)』而已。

    不過,這裡有個特殊的人物要來介紹的,那就是『萬能的天神』!這個天神具有無限的神力, 所以他可以到達任何他想要去的地方,呵呵!那個人在Linux系統中的身份代號是『 root 』啦!所以要小心喔!那個root可是『萬能的天神』喔!

    無論如何,『使用者身份』,與該使用者所支援的『群組』概念,在Linux的世界裡面是相當的重要的, 他可以幫助你讓你的多工Linux環境變的更容易管理!

Linux 使用者身份與群組記錄的檔案

在我們Linux系統當中,預設的情況下,所有的系統上的帳號與一般身份使用者,還有那個root的相關資訊, 都是記錄在/etc/passwd這個檔案內的。 至於個人的密碼則是記錄在/etc/shadow這個檔案下。 此外,Linux所有的群組名稱都紀錄在/etc/group內!這三個檔案可以說是Linux系統裡面帳號、密碼、群組資訊的集中地囉!

tags: Linux