linux系統 使用者身份與檔案許可權(一)
0.瞭解檔案的所有者、所屬組以及其他人可對檔案進行的讀(r)、寫(w)、執行(x)等操作,以及如何在Linux系統中新增、刪除、修改使用者賬戶資訊。在Linux系統中建立每個使用者時,將自動建立一個與其同名的基本使用者組(私有組),而且這個基本使用者組只有該使用者一個人。如果該使用者以後被歸納入其他使用者組,則這個其他使用者組稱之為擴充套件使用者組(標準組)。一個使用者只有一個基本使用者組,但是可以有多個擴充套件使用者組,從而滿足日常的工作需要。
1.useradd
useradd命令用於建立新的使用者,格式為“useradd [選項] 使用者名稱”。
可以使用useradd命令建立使用者賬戶。使用該命令建立使用者賬戶時,預設的使用者家目錄會被存放在/home目錄中,預設的Shell直譯器為/bin/bash,而且預設會建立一個與該使用者同名的基本使用者組。這些預設設定可以根據下表中的useradd命令引數自行修改。
引數 | 作用 |
-d | 指定使用者的家目錄(預設為/home/username) |
-e | 賬戶的到期時間,格式為YYYY-MM-DD. |
-u | 指定該使用者的預設UID |
-g | 指定一個初始的使用者基本組(必須已存在) |
-G | 指定一個或多個擴充套件使用者組 |
-N | 不建立與使用者同名的基本使用者組 |
-s | 指定該使用者的預設Shell直譯器 |
下面我們建立一個普通使用者並指定家目錄的路徑、使用者的UID以及Shell直譯器。在下面的命令中,請注意/sbin/nologin,它是終端直譯器中的一員,與Bash直譯器有著天壤之別。一旦使用者的直譯器被設定為nologin,則代表該使用者不能登入到系統中:
useradd -d /home/linux -u 8888 -s /sbin/nologin user1
id user1
2.groupadd
groupadd命令用於建立使用者組,格式為“groupadd [選項] 群組名”。
為了能夠更加高效地指派系統中各個使用者的許可權,在工作中常常會把幾個使用者加入到同一個組裡面,這樣便可以針對一類使用者統一安排許可權。建立使用者組的步驟非常簡單,例如使用如下命令建立一個使用者組zaq:
groupadd zaq
3.usermod
usermod命令用於修改使用者的屬性,格式為“usermod [選項] 使用者名稱”。
Linux系統中的一切都是檔案,因此在系統中建立使用者也就是修改配置檔案的過程。使用者的資訊儲存在/etc/passwd檔案中,可以直接用文字編輯器來修改其中的使用者引數專案,也可以用usermod命令修改已經建立的使用者資訊,諸如使用者的UID、基本/擴充套件使用者組、預設終端等。usermod命令的引數以及作用如下表所示。
引數 | 作用 |
-c | 填寫使用者賬戶的備註資訊 |
-d -m | 引數-m與引數-d連用,可重新指定使用者的家目錄並自動把舊的資料轉移過去 |
-e | 賬戶的到期時間,格式為YYYY-MM-DD |
-g | 變更所屬使用者組 |
-G | 變更擴充套件使用者組 |
-L | 鎖定使用者禁止其登入系統 |
-U | 解鎖使用者,允許其登入系統 |
-s | 變更預設終端 |
-u | 修改使用者的UID |
將使用者user1加入到root使用者組中,這樣擴充套件組列表中則會出現root使用者組的字樣,而基本組不會受到影響:
usermod -G root user1
用-u引數修改user1使用者的UID號碼值。除此之外,我們還可以用-g引數修改使用者的基本組ID,用-G引數修改使用者擴充套件組ID。
usermod -u 6666 user1
4.passwd
passwd命令用於修改使用者密碼、過期時間、認證資訊等,格式為“passwd [選項] [使用者名稱]”。
普通使用者只能使用passwd命令修改自身的系統密碼,而root管理員則有許可權修改其他所有人的密碼。更酷的是,root管理員在Linux系統中修改自己或他人的密碼時不需要驗證舊密碼,這一點特別方便。既然root管理員可以修改其他使用者的密碼,就表示完全擁有該使用者的管理許可權。passwd命令中可用的引數以及作用如下表所示。
引數 | 作用 |
-l | 鎖定使用者,禁止其登入 |
-u | 解除鎖定,允許使用者登入 |
--stdin | 允許通過標準輸入修改使用者密碼,如echo "NewPassWord" | passwd --stdin Username |
-d | 使該使用者可用空密碼登入系統 |
-e | 強制使用者在下次登入時修改密碼 |
-S | 顯示使用者的密碼是否被鎖定,以及密碼所採用的加密演算法名稱 |
如何修改使用者自己的密碼,以及如何修改其他人的密碼(修改他人密碼時,需要具有root管理員許可權):
鎖定使用者,解鎖使用者,檢視鎖定狀態:
5.userdel
userdel命令用於刪除使用者,格式為“userdel [選項] 使用者名稱”。
如果我們確認某位使用者後續不再會登入到系統中,則可以通過userdel命令刪除該使用者的所有資訊。在執行刪除操作時,該使用者的家目錄預設會保留下來,此時可以使用-r引數將其刪除。userdel命令的引數以及作用如下表所示。
引數 | 作用 |
-f | 強制刪除使用者 |
-r | 同時刪除使用者及使用者家目錄 |
userdel user1
後續見《linux系統 使用者身份與檔案許可權(二)》(詳細學習,請見)