用戶和組的相關配置文件

  用戶,是計算機識別使用者身份的一種唯一使用標識。

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

而用戶名與UID的對應信息就儲存在一個名稱解析庫中。

/etc/passwd

         用戶名的名稱解析庫:/etc/passwd記錄了用戶名與相應的UID的對應關系以及一些額外的附加信息。

Cat /etc/passwd會看到各用戶名的詳細信息如下:

用戶和組的相關配置文件

每一行都是一個用戶的完整信息,并且被‘:分割成7個字段。從左至右依次是:

用戶名:密碼占位符:UIDGID:用戶描述信息:家目錄:默認shell

其中第二個字段密碼占位符比較特殊。剛開始時這個位置確實是記錄密碼的,但由于每一個用戶對/etc/passwd都有讀取權限,所以并不安全。后來,系統對此做了優化,把密碼“轉移”,只留下了占位符X。

/etc/shadow

       剛才提到為了安全起見,/etc/passwd中的密碼字符串被“緊急轉移,那么轉移到哪里去了呢,就是這里/etc/shadow。所以這個文件就只有萬能管理員root有讀取權限。如此一來“組織就安全多了。同樣,我們cat一下看看:

用戶和組的相關配置文件用戶和組的相關配置文件

       看到了吧,那一串長長的奇怪的字符就是密碼了??床欢脑蚴且驗樽隽藛蜗蚣用堋3艘欢芽床欢淖址?,還有一些密碼的期限信息。同樣的,使用分隔,分隔出了9個字段。自左向右依次是:

       用戶名:加密的密碼:最后一次修改時間:密碼的最小年齡:密碼的最大年齡:密碼警告時段:密碼禁用期:賬戶過期日期:保留字段

加密的密碼字段又被‘$’分割成了三段:

第一段:‘$6’為加密算法,數字1-6分別代表了六種加密算法:md5,sha1sha224,sha256,sha384,sha512

第二段:有八位字符,是一串隨機數,被稱作salt,鹽。

第三段:才是真正的密碼轉換過來的。

如果密碼字段有*或!,表示用戶將無法使用密碼登陸(但可以使用其他方式登錄系統)。此字段也可為空,此時認證為特定的登錄名時,不要求密碼。然而,一些讀取 /etc/shadow文件的應用程序,在密碼字段為空時,可能決定禁止任何訪問。

最后一次修改時間:代表的是從linux元年197011日算起到用戶最后一次修改密碼的時間,若設置為0表示用戶應該在下次登錄系統時修改密碼??兆侄伪硎久艽a年齡功能被禁用。

密碼的最小年齡:代表用戶修改一次密碼后要間隔多長時間才允許再次修改,空字段或0代表沒有最小密碼年齡。

最大密碼年齡:是代表改一個密碼經過多長時間后必須再次修改,空字段表示沒有限制。如果最大密碼年齡小于最小密碼年齡,用戶將不能修改此密碼。

密碼警告時段:密碼過期之前,提前警告用戶的天數??兆侄位?/span>0表示沒有密碼警告期。

密碼禁用期:密碼過期后,仍然接受此密碼的天數(在此期間,用戶應該在下次登錄時修改密碼,強制要求。),過了這個期限,使用用戶的當前密碼將無法登陸??兆侄伪硎静粫娭泼艽a過期。

賬戶過期日期:表示從197011日開始算起的天數。超過這個期限賬號無法使用密碼登錄。即便其密碼沒有過期該目錄也無法使用。

QQ截圖20161023205118.png

/etc/group

         Linux是多用戶,多任務的操作系統。一個系統上往往會有多個用戶,所以為了方便管理這些用戶,linux為用戶提供了用戶組的管理機制。同樣的/etc/group就是用來存放組名解析和組的一些有關信息。

用戶和組的相關配置文件

         還是用分隔,分隔出了四個字段。分別是:

                   組名:組密碼:GID:用戶列表

         組密碼依然是使用的占位符X,真正的密碼已經“轉移/etc/gshadow。

         GID中存放的是對應組名的組密碼。

         用戶列表顯示了該組中的組成員。

/etc/gshadow

用戶和組的相關配置文件

         用戶組密碼的相關信息。分隔出了四個字段:

                   組名:加密的密碼:管理員:成員

         加密了的密碼:此密碼用于不是此組成員的用戶獲取此組的權限。此字段可以為空,此時,只有組成員可以獲取組權限。 以嘆號開始的密碼字段意味著密碼被鎖定。該行的剩余字符表示鎖定之前的密碼。

         管理員:必須是一個逗號分隔的用戶名列表。管理員可以更改組密碼和成員。

         成員:以此組為附加組的用戶,必須是一個逗號分隔的用戶名列表。成員可以免密碼訪問組。

/etc/login.defs

         /etc/login.defs定義了一些管理用戶和用戶組時的默認配置。

例如:定義了創建用戶時默認會為該用戶創建一個郵箱,郵件的存儲路徑為/var/spool/mail。

用戶和組的相關配置文件

定義了用戶密碼的期限信息。

用戶和組的相關配置文件

創建用戶不指定UID時,系統默認指定UID的范圍:

系統用戶UID201-999

普通用戶UID1000-60000

用戶和組的相關配置文件

創建用戶時是否為其創建一個家目錄:

Yes,是

No,否

用戶和組的相關配置文件

刪除一個用戶時,若其用戶組中沒有其他用戶時,是否把該用戶組一并刪除:

Yes,是

No,否

用戶和組的相關配置文件

創建密碼時使用的加密算法:

SHA521

用戶和組的相關配置文件

/etc/default/useradd

         從目錄名就可以看出,此文件是關于創建用戶時的一些默認配置信息。

用戶和組的相關配置文件

GROUP=100:當不創建似有組為主組時,使用user組作為主組。

HOME=/home:用戶家目錄的默認創建位置,默認會在/home創建一個與用戶同名的家目錄。

INACTIVE=-1:是否啟用密碼禁用期,-1代表不起用。

EXPIRE=:賬號終止日期,不設置代表不啟用。

SHELL=/bin/bash:默認使用的shell類型。

SKEL=/etc/skel:用戶家目錄中的環境文件,默認添加用戶的目錄默認文件存放位置;也就是說,當我們用adduser添加用戶時,用戶家目錄下的文件,都是從這個目錄中復制過去的。

用戶和組的相關配置文件

CREATE_MAIL_SPOOL=yes:默認為新創建的用戶添加郵箱位置。會在/var/spool/mail下為用戶創建一個同名的郵箱。

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

(0)
HulkHulk
上一篇 2016-10-23 18:05
下一篇 2016-10-23 19:22

相關推薦

  • Centos圖形界面和命令行界面切換—-使用init

    1、從圖形界面切換到命令行界面      點擊Applications–System Tools–Terminal。    打開后輸入: su root(運行init需要管理員權限) 按回車,輸入init 3或者init 2都可以,然后回車就可以    進入命令行界…

    Linux干貨 2015-11-10
  • ps常用命令

    Linux上進程有5種狀態: 1. 運行(正在運行或在運行隊列中等待) 2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號) 3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生) 4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用后釋放) 5. …

    Linux干貨 2017-07-02
  • N26-第五周-孫逸

    1、 顯示當前系統上root、fedora或user1用戶的默認shell;命令:cat /etc/passwd | grep -E “^(root|fedroa|user1)” | cut -d: -f1,7 2、 找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello(…

    2017-03-10
  • Linux運維學習歷程-第十一天-bash邏輯運算、測試類型和腳本語句

    概述:本篇重點介紹linux當中默認設立了類型,bash的邏輯運算、測試類型和腳本語句,本篇內容極其重要,望小伙伴們在日后的學習中用心學習 一、邏輯運算 變量:   本地變量、環境變量、局部變量、位置參數變量、特殊變量   變量賦值:name=value,export name=value,declare -x nam…

    Linux干貨 2016-08-24
  • LVS類型及工作原理

    lvs工作原理 lvs(Linux Virtual Server),工作于layer4,其原理是根據請求報文的目標IP和PORT將其轉發至后端主機集群中的某一提供服務的主機,具體轉發到哪一臺后端主機需要由挑選算法來決定。通俗來說,lvs的功能是通過在內核空間的netfilter上的INPUT鏈上的ipvs實現的,當報文由物理網絡接口進入主機后,ipvs將流經…

    Linux干貨 2016-12-05
  • 設計模式(六)橋連模式Bridge(結構型)

    1. 概述       在軟件系統中,某些類型由于自身的邏輯,它具有兩個或多個維度的變化,那么如何應對這種“多維度的變化”?如何利用面向對象的技術來使得該類型能夠輕松的沿著多個方向進行變化,而又不引入額外的復雜度? 例子1:設想如果要繪制矩形、圓形、橢圓、正方形,我們至少需要4個形狀類,但是如果繪制的圖形需要具有不同的…

    Linux干貨 2015-06-26
欧美性久久久久