Linux中國

用戶、組及其它 Linux 特性(二)

在正在進行的 Linux 之旅中,我們了解了如何操作文件夾或目錄,現在我們繼續討論 許可權、用戶 和 組,這對於確定誰可以操作哪些文件和目錄是必要的。上次,我們展示了如何創建新用戶,現在我們將重新起航:

你可以使用 groupadd 命令創建新組,然後隨意添加用戶。例如,使用:

sudo groupadd photos

這將會創建 photos 組。

你需要在根目錄下創建一個目錄

sudo mkdir /photos

如果你運行 ls -l /,結果中會有如下這一行:

drwxr-xr-x 1 root root 0 jun 26 21:14 photos

輸出中的第一個 root 是所屬的用戶,第二個 root 是所屬的組。

要將 /photos 目錄的所有權轉移到 photos 組,使用:

chgrp photos /photos

chgrp 命令通常採用兩個參數,第一個參數是將要獲得文件或目錄所有權的組,第二個參數是希望交給組的文件或目錄。

接著,運行 ls -l /,你會發現剛才那一行變了:

drwxr-xr-x 1 root photos 0 jun 26 21:14 photos

你已成功將新目錄的所有權轉移到了 photos 組。

然後,將你自己的用戶和 guest 用戶添加到 photos 組:

sudo usermod <你的用戶名> -a -G photos
sudo usermod guest -a -G photos

你可能必須註銷並重新登錄才能看到更改,但是當你這樣做時,運行 groups 會將 photos 顯示為你所屬的組之一。

關於上面提到的 usermod 命令,需要指明幾點。第一:注意要使用 -G 選項而不是 -g 選項。-g 選項更改你的主要組,如果你意外地使用它,它可能會鎖定你的一些東西。另一方面,-G 將你添加到列出的組中,並沒有干擾主要組。如果要將用戶添加到多個組中,在 -G 之後逐個列出它們,用逗號分隔,不要有空格:

sudo usermod <your username> -a -G photos,pizza,spaceforce

第二點:小心點不要忘記 -a 參數。-a 參數代表追加,將你傳遞給 -G 的組列表附加到你已經屬於的組。這意味著,如果你不包含 -a,那麼你之前所屬的組列表將被覆蓋,再次將你拒之門外。

這些都不是災難性問題,但這意味著你必須手動將用戶添加回你所屬的所有組,這可能是個麻煩,特別是如果你失去了對 sudowheel 組的訪問許可權。

許可權

在將圖像複製到 /photos 目錄之前,還要做一件事情。注意,當你執行上面的 ls -l / 時,該文件夾的許可權將以 drwxr-xr-x 形式返回。

如果你閱讀我在本文開頭推薦的文章,你將知道第一個 d 表示文件系統中的條目是一個目錄,接著你有三組三個字元(rwxr-xr-x),它們表示目錄的所屬用戶(rwx)的許可權,然後是所屬組(r-x)的許可權,最後是其他用戶(r-x)的許可權。這意味著到目前為止唯一具有寫許可權的人,即能夠在 /photos 目錄中複製或創建文件的唯一人員是 root 用戶。

但是我提到的那篇文章也告訴你如何更改目錄或文件的許可權

sudo chmod g+w /photos

運行 ls -l /,你會看到 /photos 許可權變為了 drwxrwxr-x。這就是你希望的:組成員現在可以對目錄進行寫操作了。

現在你可以嘗試將圖像或任何其他文件複製到目錄中,它應該沒有問題:

cp image.jpg /photos

guest 用戶也可以從目錄中讀取和寫入。他們也可以讀取和寫入,甚至移動或刪除共享目錄中其他用戶創建的文件。

總結

Linux 中的許可權和特權系統已經磨練了幾十年,它繼承自昔日的舊 Unix 系統。就其本身而言,它工作的非常好,而且經過了深思熟慮。熟悉它對於任何 Linux 系統管理員都是必不可少的。事實上,除非你理解它,否則你根本就無法做很多事情。但是,這並不難。

下一次,我們將深入研究文件,並以一個創新的方式查看創建,操作和銷毀文件的不同方法。最後一個總是很有趣。

回頭見!

通過 Linux 基金會和 edX 的免費「Linux 簡介」課程了解有關 Linux 的更多信息。

via: https://www.linux.com/blog/learn/intro-to-linux/2018/7/users-groups-and-other-linux-beasts-part-2

作者:Paul Brown 選題:lujun9972 譯者:MjSeven 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國