這一章開始爲你們介紹Linux的用戶管理,不少教材對於用戶管理這塊,一上來就爲你們介紹用戶管理的各類命令。而我先從用戶管理的配置文件開始講起,由於咱們要理解用戶管理的原理以及各類概念。咱們先來了解下用戶管理的配置文件。shell
配置文件信息 | 文件名稱 |
---|---|
用戶信息文件 | /etc/passwd |
密碼文件 | /etc/shadow |
用戶組文件 | /etc/group |
用戶組密碼文件 | /etc/gshadow |
用戶配置文件 | /etc/login.defs , /etc/default/useradd |
新用戶信息文件 | /etc/skel |
登陸信息 | /etc/motd |
用戶信息文件是 /etc/passwd
,首先咱們來看下這個文件的裏面的格式:bash
$ vi /etc/passwd
這個文件裏面保存了全部Linux的用戶信息,每一行信息表明一個用戶,咱們能夠看到我這個系統裏面總共有44個用戶。每一行信息是什麼意思呢?咱們先來看下這個文件的幫助信息:加密
$ man 5 passwd
能夠看到文件格式是:spa
name:password:UID:GID:GECOS:directory:shell
所以能夠了解到,每一行信息包含了7個部份內容,每一個部分是用:
分隔,每一個部分信息表明以下:3d
字段 | 含義 |
---|---|
name(用戶名) | 用戶登陸系統時使用的用戶名 |
password(密碼) | 密碼位 |
UID | 用戶標識號 |
GID | 缺省組標識號 |
GECOS(註釋性描述) | 例如存放用戶全名等信息 |
directory(宿主目錄) | 用戶登陸系統後的缺省目錄 |
shell(命令解釋器) | 用戶使用的Shell,默認爲bash |
x
來佔位UID
Linux用戶分爲三種:超級用戶(root,UID=0);普通用戶(UID 500-60000);僞用戶(UID 1-499)。所以在這裏糾正一個不少同窗的誤解,不少同窗認爲只有root纔是超級用戶,其實不是,而是UID=0的用戶就叫超級用戶。
/home
目錄添加一個和用戶同名的目錄用戶密碼文件是/etc/shadow
,這裏文件裏面保存的用戶真正的密碼。咱們先來看一下這個文件內容:code
$ vi /etc/shadow
這個文件裏面保存了全部Linux的用戶信息,一樣的每一行信息表明一個用戶的密碼,在上一步咱們查看用戶信息文件的時候,發現共有44個用戶,那麼這裏一樣會有44個密碼。每一行信息是什麼意思呢?咱們先來看下這個文件的幫助信息:對象
這裏最重要的其實就是兩個部分,一是登陸的用戶名login name
,另一個是加密的密碼encrypted password
。blog
能夠了解到,每一行信息包含了7個部份內容,每一個部分是用:
分隔,每一個部分信息表明以下:進程
字段 | 含義 |
---|---|
用戶名 | 用戶登陸系統時使用的用戶名 |
最後一次修改時間 | 用戶最後一次修改密碼的天數 |
最小時間間隔 | 兩次修改密碼之間的最小天數 |
最大時間間隔 | 密碼保持有效的最多天數 |
警告時間 | 從系統開始警告到密碼失效的天數 |
帳號閒置時間 | 帳號閒置時間 |
時間 | 密碼失效的絕對天數 |
掌握了這兩個配置文件以後,其實咱們就能夠手動去建立一個用戶了,不用經過useradd
命令去建立了,下面給你們演示一下。rem
/etc/passwd
文件中添加一個用戶基礎信息:
$ vi /etc/passwd
在這裏咱們添加一個叫eddy
的普通用戶,按Esc
,而後輸入:wq!
保存退出。而後咱們須要建立該用戶的宿主目錄:
$ mkdir /home/eddy
建立完成以後,咱們發現該目錄的全部者是屬於root
,所以要把這個目錄的全部者改爲剛纔新建的用戶eddy
:
$ chown eddy /home/eddy
/etc/shadow
文件中添加用戶的密碼信息:
$ vi /etc/shadow
而後添加一行密碼信息,這裏咱們設置密碼爲空,保存退出,這樣咱們就手工添加了一個用戶。
咱們如今用eddy
用戶就能夠去登陸了。
新用戶信息文件存在於目錄/etc/skel
目錄:
$ ls -a /etc/skel
這裏用到了-a
參數來顯示隱藏的文件,由於這個目錄裏面的文件都是隱藏文件。咱們在使用命令建立新用戶的時候,系統會自動把這個這個目錄裏面的文件複製到新用戶的宿主目錄下面去。
一、 /etc/login.defs
,這裏記錄了用戶的一些默認配置,咱們打開這個文件來看一下:
$ vi /etc/login.defs
從這個文件中能夠看到,在前面講用戶信息文件/etc/passwd
和用戶密碼文件/etc/shadow
的時候的一些配置,在這裏都有默認值。也就是說用命令建立用戶的時候,從這裏讀取一些默認配置。
設置項 | 含義 |
---|---|
MAIL_DIR | /var/spool/mail 建立用戶時,系統會在目錄 /var/spool/mail 中建立一個用戶郵箱 |
PASS_MAX_DAYS | 99999 密碼有效期,99999 是自 1970 年 1 月 1 日起密碼有效的天數,至關於 273 年,可理解爲密碼始終有效。 |
PASS_MIN_DAYS | 0 表示自上次修改密碼以來,最少隔多少天后用戶才能再次修改密碼,默認值是 0。 |
PASS_MIN_LEN | 5 指定密碼的最小長度,默認不小於 5 位,可是如今用戶登陸時驗證已經被 PAM 模塊取代,因此這個選項並不生效。 |
PASS_WARN_AGE | 7 指定在密碼到期前多少天,系統就開始經過用戶密碼即將到期,默認爲 7 天。 |
UID_MIN | 500 指定最小 UID 爲 500,也就是說,添加用戶時,默認 UID 從 500 開始。注意,若是手工指定了一個用戶的 UID 是 550,那麼下一個建立的用戶的 UID 就會從 551 開始,哪怕 500~549 之間的 UID 沒有使用。 |
UID_MAX | 60000 指定用戶最大的 UID 爲 60000。 |
GID_MIN | 500 指定最小 GID 爲 500,也就是在添加組時,組的 GID 從 500 開始。 |
GID_MAX | 60000 用戶 GID 最大爲 60000。 |
CREATE_HOME | yes 指定在建立用戶時,是否同時建立用戶主目錄,yes 表示建立,no 則不建立,默認是 yes。 |
UMASK | 077 用戶主目錄的權限默認設置爲 077。 |
USERGROUPS_ENAB | yes 指定刪除用戶的時候是否同時刪除用戶組,準備地說,這裏指的是刪除用戶的初始組,此項的默認值爲 yes。 |
ENCRYPT_METHOD | SHA512 指定用戶密碼採用的加密規則,默認採用 SHA512,這是新的密碼加密模式,原先的 Linux 只能用 DES 或 MD5 加密。 |
二、 /etc/default/useradd
$ vi /etc/default/useradd
GROUP
表示缺省的所屬組HOME
表示缺省的宿主目錄INACTIVE
帳戶缺省是否禁用:-1 表示未禁用EXPIRE
帳戶的失效時間,有時候須要臨時建立一些帳號,那麼就能夠指定失效時間SHELL
默認使用哪一個shellSKEL
新用戶信息文件模板目錄CREATE_MAIL_SPOOL
是否建立郵箱文件用戶管理的配置文件就介紹到這裏了,你們須要重點掌握用戶信息文件和用戶密碼文件。