Linux——使用者與羣組

文件擁有者

初次接觸 Linux 的朋友大概會覺得很怪異,怎麼『Linux 有這麼多使用者, 還分什麼羣組,有什麼用?』。這個『用戶與羣組』的功能可是相當健全而好用的一個安全防護呢!怎麼說呢? 由於 Linux 是個多人多任務的系統,因此可能常常會有多人同時使用這部主機來進行工作的情況發生, 爲了考慮每個人的隱私權以及每個人喜好的工作環境,因此,這個『文件擁有者』的角色就顯的相當的重要了!

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

羣組概念

那麼羣組呢?爲何要配置文件案還有所屬的羣組?其實,羣組最有用的功能之一,就是當你在團隊開發資源的時候啦! 舉例來說,假設有兩組專題生在我的主機裏面,第一個專題組別爲 projecta,裏面的成員有class1, class2, class3 三個;第二個專題組別爲 projectb,裏面的成員有 class4, class5, class6。 這兩個專題之間是有競爭性質的,但卻要繳交同一份報告。每組的組員之間必須要能夠互相修改對方的數據, 但是其他組的組員則不能看到本組自己的文件內容,此時該如何是好?

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

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

這樣說或許你還不容易理解這個使用者與羣組的關係吧?沒關係,我們可以使用目前『家庭』的觀念來進行解說喔! 假設有一家人,家裏只有三兄弟,分別是王大毛、王二毛與王三毛三個人, 而這個家庭是登記在王大毛的名下的!所以,『王大毛家有三個人,分別是王大毛、王二毛與王三毛』, 而且這三個人都有自己的房間,並且共同擁有一個客廳喔!

  • 使用者的意義:由於王家三人各自擁有自己的房間,所以, 王二毛雖然可以進入王三毛的房間, 但是二毛不能翻三毛的抽屜喔!那樣會被三毛 K 的! 因爲抽屜裏面可能有三毛自己私人的東西, 例如情書啦,日記啦等等的,這是『私人的空間』,所以當然不能讓二毛拿囉!
  • 羣組的概念:由於共同擁有客廳,所以王家三兄弟可以在客廳打開電視機啦、 翻閱報紙啦、坐在沙發上面發呆啦等等的! 反正,只要是在客廳的玩意兒,三兄弟都可以使用喔! 因爲大家都是一家人嘛!

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

其他人的概念

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

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

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

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

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

Tips現在 (2015 年) 鳥哥常以臺灣地區常見的社羣網站 Facebook  或者是 Google+ 作爲解釋:

  1. 你在 FB 註冊一個賬號,這個賬號可以迭代對比爲 Linux 的賬號。
  2. 你可以新增一個社團,這個社團的隱私權是可以由您自己指定的!看是要公開還是要隱藏。這就可以迭代爲 Linux 的羣組概念,這個羣組的權限可以自己設定。
  3. 那麼其他在 FB 註冊的人,沒有加入你的社團,他就是 Linux 上所謂的『其他人』!最後,在 FB 上面的每一條留言,就可以想成 Linux 底下的『文件』囉!

那麼上面內文談到的羣組有啥幫助呢?想想看,你在 FB 上面,你的 StudyArea 社團是隱藏的,你想讓 dmtsai 可以進來讀取每一個留言 (想成是 file), 最簡單的作法是什麼?對!讓 dmstai 加入這個社團即可!沒錯!只要讓 Linux 某個賬號加入某個羣組,該賬號就可以使用該羣組能夠存取的資源! 每個賬號可以加入的羣組個數基本上是沒有限制的!

Linux 用戶身份與羣組記錄的文件

在我們 Linux 系統當中,默認的情況下,所有的系統上的賬號與一般身份使用者,還有那個 root 的相關信息,都是記錄在/etc/passwd 這個文件內的。至於個人的密碼則是記錄在/etc/shadow 這個文件下。此外,Linux 所有的組名都紀錄在/etc/group 內!這三個文件可以說是 Linux 系統裏面賬號、密碼、羣組信息的集中地囉! 不要隨便刪除這三個文件啊!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章