linux用戶與用戶組詳解

LINUX用戶與用戶組詳解

 

 

1,用戶和用戶組文件

  linux中,用戶帳號,用戶密碼,用戶組信息和用戶組密碼均是存放在不同的配置文件中的。分別是 passed gpassd shadow group 中。

  linux系統中,所創建的用戶帳號和其相關信息(密碼除外)均是存放在/etc/passwd配置文件中。由于所有用戶對passwd文件均有讀取的權限,因此密碼信息并未保存在該文件中,而是保存在了/etc/shadow的配置文件中。

  passwd配置文件中,從左至右各字段的對應關系及其含義:

1,用戶帳號  2 用戶密碼   3 用戶UID 4 用戶組GID    5用戶名全稱    6用戶主目錄    7用戶所使用的SHELL  8:

 1.root            2。x                  3.0             4.0                5.root              6./root               7. /bin/bash   8.future

  由于passwd為了賬戶安全,所以不再保存密碼信息,所以用x占位代表;可以用pwconv命令,將密碼從shadow調回passwd文件里。相反可以用pwunconv調回shadow文件中。

2,用戶密碼文件

  為安全起見,用戶真實的密碼采用MD5加密算法加密后,保存在/etc/shadow配置文件中,該文件只有root用戶可以讀取。

  passwd文件類似,shadow文件也是每行定義和保存一個賬戶的相關信息。第一個字段為用戶帳戶名,第二個字段為賬戶的密碼。

3,用戶組帳號文件

  用戶組帳號信息保存在/etc/group配置文件中,任何用戶均可以讀取。用戶組的真實密碼保存在/etc/gshadow配置文件中。

  group中,第一個字段代表用戶組的名稱,第二個字段為x,第三個為用戶組的ID號,第四個為該用戶組的用戶成員列表,各用戶名間用逗號分隔。

4,添加用戶

  創建或添加新用戶使用useradd命令來實現,其命令用法為:

  useradd [option] username

   -c 注釋      用戶設置對賬戶的注釋說明文字

  -d 主目錄    指定用來取代默認的/home/username的主目錄

  -m      
   
若主目錄不存在,則創建它。-r-m相結合,可為系統賬戶創建主目錄 

  -M      
   
不創建主目錄

  -e date     指定賬戶過期的日期。日期格式為MM/DD/YY

  -f days     帳號過期幾日后永久停權。若指定為,則立即被停權,若為-1,則關閉此功能

  -g 用戶組     指定將用戶加入到哪個用戶組,該用戶組必須存在

  -G 用戶組列表 指定用戶同時加入的用戶組列表,各組用逗分隔

  -n      
   
不為用戶創建私有用戶組

  -s shell    指定用戶登錄時使用的shell,默認為/bin/bash

  -r      
   
創建一個用戶ID小于500的系統賬戶,默認不創建對應的主目錄

  -u 用戶ID    手動指定新用戶的ID值,該值必須唯一,且大于499

  -p password 為新建用戶指定登錄密碼。此處的password是對應登錄密碼經MD5加密后所得到的密碼值,不實真實密碼原文,因此在實際應用中,該參數選項使用較少,通常單獨使用passwd命令來為用戶設置登錄密碼。

示例:

u  若要創建一個名為AA的用戶,并作為student用戶組的成員,則操作命令為:

[root@localhost ]# useradd -g student AA

[root@localhost ]# tail -1 /etc/passwd

AA:x:501:501::/home/AA:/bin/bash

u  添加用戶時,若未用-g參數指定用戶組,則系統默認會自動創建一個與用戶帳號同名的私有用戶組。若不需要創建該私有用戶組,則可選用-n參數。

比如,添加一個名為BB的賬戶,但不指定用戶組,其操作結果為:

[root@localhost ~]# useradd BB

[root@localhost ~]# tail -1 /etc/passwd

BB:x:502:502::/home/BB:/bin/bash

[root@localhost ~]# tail -2 /etc/group

student:x:501:

BB:x:502:        
 #
系統自動創建了名為BB的用戶組,ID號為502

u  創建用戶賬戶時,系統會自動創建該用戶對應的主目錄,該目錄默認放在/home目錄下,若要改變位置,可以利用-d參數指定;對于用戶登錄時使用的shell,默認為/bin/bash,若要更改,則使用-s參數指定。

例如,若要創建一個名為CC的賬戶,主目錄放在/var目錄下,并指定登錄shell/sbin/nologin,則操作命令為:

[root@localhost ~]# useradd -d /var/CC-s
/sbin/nologin CC

[root@localhost ~]# tail -1 /etc/passwd

vodup:x:503:503::/var/CC:/sbin/nologin

[root@localhost ~]# tail -1 /etc/group

CC:x:503:

5,設置帳號屬性

  對于已創建好的用戶,可使用usermod命令來修改和設置賬戶的各項屬性,包括登錄名,主目錄,用戶組,登錄shell等,該命令用法為:

usermod [option] username

部分option選項

1)改變用戶帳戶名

使用-l參數來實現,命令用法為:

usermod -l 新用戶名 原用戶名

例如,若要將用戶AA更名為CC,則操作命令為:

[root@localhost ~]# usermod -l AA  CC

[root@localhost ~]# tail -1 /etc/passwd

CC:x:502:502::/home/AA:/bin/bash

從輸出結果可見,用戶名已更改為CC。主目錄仍為原來的/home/AA,若也要更改為/home/CC,則可通過執行以下命令來實現

[root@localhost ~]# usermod -d /home/CC
CC

[root@localhost ~]# tail -1 /etc/passwd

CC:x:502:502::/home/CC:/bin/bash

[root@localhost ~]# mv /home/AA /home/CC

2)鎖定賬戶

 usermod -L 要鎖定的賬戶

  linux鎖定用戶,是通過在密碼文件shadow的密碼字段前加!來標識該用戶被鎖定。

3)解鎖賬戶

  要解鎖賬戶,可以使用帶-U參數的usermod命令來實現

  usermod -U用戶名

6,刪除賬戶

  要刪除賬戶,可以使用userdel命令來實現,其用法為:

  userdel [-r] 帳戶名

  -r為可選項,若帶上該參數,則在刪除該賬戶的同時,一并刪除該賬戶對應的主目錄。

  若要設置所有用戶賬戶密碼過期的時間,則可通過修改/etc/login.defs配置文件中的PASS_MAX_DAYS配置 項的值來實現,其默認值為99999,代表用戶賬戶密碼永不過期。其中PASS_MIN_LEN配置項用于指定賬戶密碼的最小長度,默認為5個字符。

7,設置用戶登錄密碼

  使用passwd命令來設置,其命令用法為:

  passwd [帳戶名]

  若指定了帳戶名稱,則設置指定賬戶的登錄密碼,原密碼自動被覆蓋。只有root用戶才有權設置指定賬戶的密碼。一般用戶只能設置或修改自己賬戶的密碼(不帶參數)。

  例如,若要設置CC賬戶的登陸密碼,則操作命令為:

[root@localhost ]# passwd CC

更改用戶 CC的密碼 。

新的 密碼:

重新輸入新的 密碼:

passwd 所有的身份驗證令牌已經成功更新。

  賬戶登錄密碼設置后,該賬戶就可以登錄系統了。按ctrl+alt+F2鍵,選擇第2號虛擬控制臺(tty2),然后利用lijunjie賬戶登錄,以檢驗能否登錄。

8,鎖定/解鎖賬戶密碼

  linux中,除了用戶賬戶可被鎖定外,賬戶密碼也可被鎖定,任何一方被鎖定后,都將無法登錄系統。只有root用戶才有權執行該命令,鎖定賬戶密碼使用帶-l才輸的passwd命令,其用法為:

 passwd -l 帳戶名

 passwd -u 帳戶名    #解鎖賬戶密碼

9,查詢密碼狀態

  要查詢當前賬戶的密碼是否被鎖定,可以使用帶-S參數的passwd命令來實現,其用法為:

 passwd -S 賬戶名

例如

[root@localhost etc]# passwd -S CC

CCLK 2011-03-25 0 99999 7 -1 (密碼已被鎖定。)

[root@localhost etc]# passwd -u CC

解鎖用戶 CC 的密碼

passwd: 操作成功

[root@localhost etc]# passwd -S CC

CC PS 2011-03-25 0 99999 7 -1 (密碼已設置,使用 SHA512 加密。)

10,刪除賬戶密碼

  如要刪除賬戶的密碼,使用帶-d參數的passwd命令來實現,該命令也只有root用戶才有權執行,其用法為:

  passwd -d 帳戶名

  帳戶密碼被刪除后,將不能登錄系統,除非重新設置密碼。

11,創建用戶組

  用戶和用戶組屬于多對多關系,一個用戶可以同時屬于多個用戶組,一個用戶組可以包含多個不同的用戶

  創建用戶組使用groupadd命令,其命令用法為:

  groupadd [-r] 用戶組名稱

  若命令帶有-r參數,則創建系統用戶組,該類用戶組的GID值小于500;若沒有-r參數,則創建普通用戶組,其GID值大于或等于500.

12,修改用戶組屬性

  用戶組創建后,根據需要可對用戶組的相關屬性進行修改。對用戶組屬性的修改,主要是修改用戶組的名稱和用戶組的GID值。

1)改變用戶組的名稱

    若要對用戶組進行重命名,可使用帶-n參數的groupmod命令來實現,其用法為:

    groupmod -n 新用戶組名  原用戶組名

    對于用戶組改名,不會改變其GID的值

    比如,若要將student用戶組更名為teacher用戶組,則操作命令為:

    [root@localhost ~]# tail -2/etc/group

    student:x:501:

    
AA:x:502:

    [root@localhost ~]#
groupmod -n teacher student

    [root@localhost ~]#
tail -2 /etc/group

    AA:x:502:

   teacher:x:501:

2)重設用戶組的GID

  用戶組的GID值可以重新進行設置修改,但不能與已有用戶組的GID值重復。對GID進行修改,不會改變用戶名的名稱。

  要修改用戶組的GID,可使用帶-g參數的groupmod命令,其用法為:

groupmod -g new_GID 用戶組名稱

u  例如,若要將teacher組的GID更改為504,則操作命令為:

[root@localhost ~]# tail -2 /etc/group

AA:x:502:

teacher:x:501:

[root@localhost ~]# groupmod -g 504
teacher

[root@localhost ~]# tail -2 /etc/group

AA:x:502:

teacher:x:504:

13,刪除用戶組

  刪除用戶組使用groupdel命令來實現,其用法為:

  groupdel 用戶組名

   在刪除用戶組時,被刪除的用戶組不能是某個賬戶的私有用戶組,否則將無法刪除,若要刪除,則應先刪除引用該私有用戶組的賬戶,然后再刪除用戶組。

[root@localhost ~]# groupdel teacher

groupdel: cannot remove the primary group
of user ‘BB’

[root@localhost ~]# userdel -r BB

[root@localhost ~]# groupdel teacher

[root@localhost ~]# grep teacher
/etc/group
   #
沒有輸出,說明teacher用戶組以不存在,刪除成功

 

原創文章,作者:Touch,如若轉載,請注明出處:http://www.www58058.com/82089

(0)
TouchTouch
上一篇 2017-07-22
下一篇 2017-07-22

相關推薦

  • 網絡班26期-第1周課程作業

    1、描述計算機的組成及其功能? (1)CPU:計算機的大腦,計算機的運算,命令的控制功能,寄存器及緩存都由CPU功能承擔; (2)內存:RAM,隨機訪問存儲器,計算機的另一個核心功能,系統指令存放及運行的基礎。 (3)輸入設備:人工給計算機下指令的設備,例如鼠標,鍵盤等; (4)輸出設備:計算機輸出人工輸入的執行命令的結果;例如,音響,顯示屏等; …

    Linux干貨 2017-01-10
  • 用戶和組的相關配置文件

      用戶,是計算機識別使用者身份的一種唯一使用標識。 而現實生活中為了方便人類記憶使用等,用戶名往往是用便于人類識別的語言來記錄的。但事實上計算機并不對人類語言敏感,所以有必要把人類語言跟機器語言對應上。于是,linux給每一個創建用戶提供了一個UID。當使用用戶名登錄時,系統換自動對應UID來識別該用戶身份。 而用戶名與UID的對應信息就儲存在一…

    Linux干貨 2016-10-23
  • linux基礎知識:計算機的組成及其功能

    摘要:
    1. 描述計算機的組成及其功能。
    2. 按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3. 描述Linux的哲學思想,按照自己的理解對其解釋性描述。
    4. 說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、……等命令使用,配合相應實例闡述。
    5. 如何獲取幫助信息,描述man文檔章節劃分。
    6. 羅列發行版基礎目錄名稱命名法則及功用規定。

    2017-12-03
  • Python from entry to abandon 4

        python from entry to abandon系列的收官之作    本篇博客將會介紹《簡明Python教程》的最后四章內容。并在最后附上對于本書的個人評價和下階段自學Python系列博客更新的計劃。    13.異常   &nbsp…

    Linux干貨 2017-04-07
  • 文件系統

            文件系統表現為單個統一的層次結構:從目錄/開始并通過若干數量的子目錄繼續向下擴展,/也叫做根目錄。這種單一的層次系統和 Windows 的不一樣,后者的分區有專門的名字空間。        &n…

    Linux干貨 2016-02-28
  • 單引號、雙引號和反引號使用方法

        首先向馬哥和馬哥團隊敬個禮,謝謝你們帶我進入Linux的世界,剛開始接觸linux時,經常看到單引號、雙引號和反引號特殊符號,經常搞混淆和誤用,應該用雙引號,有時用到單引號。經過幾天的混亂引用,總算搞明白了一些,簡單總一下三者的使用和區別。  單引號 ‘’     單引號里的內容全部以普通字符的含義進…

    Linux干貨 2015-07-29
欧美性久久久久