用戶和組的相關配置文件

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

而現實生活中為了方便人類記憶使用等,用戶名往往是用便于人類識別的語言來記錄的。但事實上計算機并不對人類語言敏感,所以有必要把人類語言跟機器語言對應上。于是,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一下看看:

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

       看到了吧,那一串長長的奇怪的字符就是密碼了??床欢脑蚴且驗樽隽藛蜗蚣用?。除了一堆看不懂的字符串之外,還有一些密碼的期限信息。同樣的,使用分隔,分隔出了9個字段。自左向右依次是:

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

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

第一段:‘$6’為加密算法,數字1-6分別代表了六種加密算法:md5,sha1,sha224,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
下一篇 2016-10-23

相關推薦

  • Bashe Shell之數組及bash配置文件解析

    數組   數據結構,數據序列,保存了連續的多個數據,可以使用索引獲取相關元素,相當于多個變量的集合   §數組名和索引 索引:編號從0開始,屬于數值索引   注意:所以可支持使用自定義的格式,而不僅是數值格式,即關聯索引,bash4.0版本之后開始支持,bash的數組支持稀疏格式(索引不連續)   §聲明數組 &nbs…

    Linux干貨 2016-08-24
  • linux的發展史

    一、今天要介紹的Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。 但是很多時候我們了解到的技術都不是…

    Linux干貨 2016-10-17
  • Zabbix通過郵件報警

                    Zabbix通過郵件報警 前言 本篇文章轉自我的個人博客 http://anyisalin.com 歡迎大家訪問 這次的內容大部分都是操作, 但是大家需要對定…

    2016-05-13
  • 如何在Java中避免equals方法的隱藏陷阱

    譯者注 :你可能會覺得Java很簡單,Object的equals實現也會非常簡單,但是事實并不是你想象的這樣,耐心的讀完本文,你會發現你對Java了解的是如此的少。如果這篇文章是一份Java程序員的入職筆試,那么不知道有多少人會掉落到這樣的陷阱中。原文轉自http://www.artima.com/lejava/articles/equality.…

    開發運維 2015-04-03
  • 腳本編程之變量

    簡單跟大家介紹一下腳本編程中的變量。 大家都知道,腳本編程,主要由三個部分組成,一是命令,二是變量,三是控制語句。 變量的使用,可以讓腳本變得更加簡潔,高效。 我們主要簡單講一下變量的概念,變量的類型,變量的種類,不同種類的變量是如何定義的,變量的基本操作,以及變量的配置文件。 了解了這些,我們還可以聊一聊變量的高級操作。 首先,什么是變量? 通俗一點講:變…

    Linux干貨 2017-04-17
  • linux的發展與入門

    1,計算機的組成和功能如下: CPU:是由運算器(是用來對數據進行數據運算和邏輯運算), 控制器(是用來對總線的控制,內存尋址的控制,以及對讀,寫訪問的控制), 寄存器和緩存器(都是用來暫存數據的。) 存儲器:內存RAM(隨機接入存儲器)和硬盤:都是用來存儲數據的。 輸入設備:用來輸入需要處理的數據和指令。 輸出設備:是用來顯示加工過的數據。 2,LINUX…

    Linux干貨 2017-07-03
欧美性久久久久