當前位置:
首頁 > 知識 > 用戶、組及其它 Linux 特性

用戶、組及其它 Linux 特性

用戶、組及其它 Linux 特性


編譯自: https://www.linux.com/learn/intro-to-linux/2018/7/users-groups-and-other-linux-beasts

作者: Paul Brown

譯者: MjSeven

Linux 和其他類 Unix 操作系統依賴於用戶組,而不是逐個為用戶分配許可權和特權。一個組就是你想像的那樣:一群在某種程度上相關的用戶。

到這個階段, 在看到如何操作目錄或文件夾之後 ,但在讓自己一頭扎進文件之前,我們必須重新審視 許可權用戶。幸運的是, 有一個網站上已經有了一個優秀而全面的教程,講到了許可權 ,所以你應該去立刻閱讀它。簡而言之,你使用許可權來確定誰可以對文件和目錄執行操作,以及他們可以對每個文件和目錄執行什麼操作 —— 從中讀取、寫入、移動、擦除等等。

要嘗試本教程涵蓋的所有內容,你需要在系統上創建新用戶。讓我們實踐起來,為每一個需要借用你電腦的人創建一個用戶,我們稱之為 guest 賬戶。

警告: 例如,如果你錯誤地刪除了自己的用戶和目錄,那麼創建用戶,特別是刪除用戶以及主目錄會嚴重損壞系統。你可能不想在你日常的工作機中練習,那麼請在另一台機器或者虛擬機上練習。無論你是否想要安全地練習,經常備份你的東西總是一個好主意。檢查備份是否正常工作,為你自己以後避免很多咬牙切齒的事情。


一個新用戶

你可以使用 useradd 命令來創建一個新用戶。使用超級用戶或 root 許可權運行 useradd,即使用 sudo 或 su,這具體取決於你的系統,你可以:


sudo useradd -m guest

然後輸入你的密碼。或者也可以這樣:


su -c "useradd -m guest"

然後輸入 root 或超級用戶的密碼。

為了簡潔起見,我們將從現在開始假設你使用 sudo 獲得超級用戶或 root 許可權。

通過使用 -m 參數,useradd 將為新用戶創建一個主目錄。你可以通過列出 /home/guest 來查看其內容。

然後你可以使用以下命令來為新用戶設置密碼:


sudo passwd guest

或者你也可以使用 adduser,這是一個互動式的命令,它會詢問你一些問題,包括你要為用戶分配的 shell(是的,shell 有不止一種),你希望其主目錄在哪裡,你希望他們屬於哪些組(有關這點稍後會講到)等等。在運行 adduser 結束時,你可以設置密碼。注意,默認情況下,在許多發行版中都沒有安裝 adduser,但安裝了 useradd。

順便說一下,你可以使用 userdel 來移除一個用戶:


sudo userdel -r guest

使用 -r 選項,userdel 不僅刪除了 guest 用戶,還刪除了他們的主目錄和郵件中的條目(如果有的話)。


主目錄中的內容

談到用戶的主目錄,它依賴於你所使用的發行版。你可能已經注意到,當你使用 -m 選項時,useradd 使用子目錄填充用戶的目錄,包括音樂、文檔和諸如此類的內容以及各種各樣的隱藏文件。要查看 guest 主目錄中的所有內容,運行 sudo ls -la /home/guest。

進入新用戶目錄的內容通常是由 /etc/skel 架構目錄確定的。有時它可能是一個不同的目錄。要檢查正在使用的目錄,運行:


useradd -D

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=no

這會給你一些額外的有趣信息,但你現在感興趣的是 SKEL=/etc/skel 這一行,在這種情況下,按照慣例,它指向 /etc/skel/。

由於 Linux 中的所有東西都是可定製的,因此你可以更改那些放入新創建的用戶目錄的內容。試試這樣做:在 /etc/skel/ 中創建一個新目錄:


sudo mkdir /etc/skel/Documents

然後創建一個包含歡迎消息的文件,並將其複製過來:

sudo cp welcome.txt /etc/skel/Documents

現在刪除 guest 賬戶:


sudo userdel -r guest

再次創建:


sudo useradd -m guest

嘿!你的 Documents/ 目錄和 welcome.txt 文件神奇地出現在了 guest 的主目錄中。

你還可以在創建用戶時通過編輯 /etc/default/useradd 來修改其他內容。我的看起來像這樣:


GROUP=users

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=no

這些選項大多數都是不言自明的,但讓我們仔細看看 GROUP 選項。


群組心態

Linux 和其他類 Unix 操作系統依賴於用戶組,而不是逐個為用戶分配許可權和特權。一個組就是你想像的那樣:一群在某種程度上相關的用戶。在你的系統上可能有一組允許使用印表機的用戶,他們屬於 lp(即 「line printer」)組。傳統上 wheel 組的成員是唯一可以通過使用 su 成為超級用戶或 root 的成員。network 用戶組可以啟動或關閉網路。還有許多諸如此類的。

不同的發行版有不同的組,具有相同或相似名稱的組具有不同的許可權,這也取決於你使用的發行版。因此,如果你在前一段中讀到的內容與你系統中的內容不匹配,不要感到驚訝。

不管怎樣,要查看系統中有哪些組,你可以使用:


getent group

getent 命令列出了某些系統資料庫的內容。

要查找當前用戶所屬的組,嘗試:


groups

當你使用 useradd 創建新用戶時,除非你另行指定,否則用戶將只屬於一個組:他們自己。guest 用戶屬於 guest 組。組使用戶有權管理自己的東西,僅此而已。

你可以使用 groupadd 命令創建新組,然後添加用戶:


sudo groupadd photos

例如,這將創建 photos 組。下一次,我們將使用它來構建一個共享目錄,該組的所有成員都可以讀取和寫入,我們將更多地了解許可權和特權。敬請關注!



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

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

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

點擊「了解更多」可訪問文內鏈接

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

4 個 Markdown 開源編輯器
在命令行中步入黑客帝國

TAG:Linux技術 |