Linux用戶管理之管理配置文件講解

這一章開始爲你們介紹Linux的用戶管理,不少教材對於用戶管理這塊,一上來就爲你們介紹用戶管理的各類命令。而我先從用戶管理的配置文件開始講起,由於咱們要理解用戶管理的原理以及各類概念。咱們先來了解下用戶管理的配置文件。shell

配置文件信息 文件名稱
用戶信息文件 /etc/passwd
密碼文件 /etc/shadow
用戶組文件 /etc/group
用戶組密碼文件 /etc/gshadow
用戶配置文件 /etc/login.defs , /etc/default/useradd
新用戶信息文件 /etc/skel
登陸信息 /etc/motd

1、用戶信息文件

用戶信息文件是 /etc/passwd,首先咱們來看下這個文件的裏面的格式:bash

$ vi /etc/passwd

image

這個文件裏面保存了全部Linux的用戶信息,每一行信息表明一個用戶,咱們能夠看到我這個系統裏面總共有44個用戶。每一行信息是什麼意思呢?咱們先來看下這個文件的幫助信息:加密

$ man 5 passwd

image

能夠看到文件格式是:spa

name:password:UID:GID:GECOS:directory:shell

所以能夠了解到,每一行信息包含了7個部份內容,每一個部分是用:分隔,每一個部分信息表明以下:3d

字段 含義
name(用戶名) 用戶登陸系統時使用的用戶名
password(密碼) 密碼位
UID 用戶標識號
GID 缺省組標識號
GECOS(註釋性描述) 例如存放用戶全名等信息
directory(宿主目錄) 用戶登陸系統後的缺省目錄
shell(命令解釋器) 用戶使用的Shell,默認爲bash
  • 用戶名:不要太長,建議最長8位便可,不要用特殊字符
  • 密碼位:這裏爲何叫密碼位而不是叫密碼呢?由於在這裏並無真正的存放密碼。不過在最先的UNIX裏面,這裏確實是存放的密碼。目前這裏用 x 來佔位
  • 用戶標識號:Linux的內核它是不認識字母的,只認識數字。也就是說內核操做的每個對象,不管是進程、用戶、用戶組等,它都須要有一個數字標識。用戶的數字標識就是UID
Linux用戶分爲三種:超級用戶(root,UID=0);普通用戶(UID 500-60000);僞用戶(UID 1-499)。所以在這裏糾正一個不少同窗的誤解,不少同窗認爲只有root纔是超級用戶,其實不是,而是UID=0的用戶就叫超級用戶。
  • 缺省組標識號:每一個用戶至少要屬於一個用戶組;每一個用戶組能夠包括多個用戶;同一組的用戶享有該組共有的權限
  • 註釋性描述:對用戶信息進行描述說明,能夠方便之後用戶管理
  • 宿主目錄:每一個用戶在系統中必須有一個宿主目錄。在添加用戶的時候,若是不指定宿主目錄,自動會在/home目錄添加一個和用戶同名的目錄

2、用戶密碼文件

用戶密碼文件是/etc/shadow,這裏文件裏面保存的用戶真正的密碼。咱們先來看一下這個文件內容:code

$ vi /etc/shadow

image

這個文件裏面保存了全部Linux的用戶信息,一樣的每一行信息表明一個用戶的密碼,在上一步咱們查看用戶信息文件的時候,發現共有44個用戶,那麼這裏一樣會有44個密碼。每一行信息是什麼意思呢?咱們先來看下這個文件的幫助信息:對象

image

這裏最重要的其實就是兩個部分,一是登陸的用戶名login name,另一個是加密的密碼encrypted passwordblog

能夠了解到,每一行信息包含了7個部份內容,每一個部分是用:分隔,每一個部分信息表明以下:進程

字段 含義
用戶名 用戶登陸系統時使用的用戶名
最後一次修改時間 用戶最後一次修改密碼的天數
最小時間間隔 兩次修改密碼之間的最小天數
最大時間間隔 密碼保持有效的最多天數
警告時間 從系統開始警告到密碼失效的天數
帳號閒置時間 帳號閒置時間
時間 密碼失效的絕對天數

掌握了這兩個配置文件以後,其實咱們就能夠手動去建立一個用戶了,不用經過useradd命令去建立了,下面給你們演示一下。rem

3、手動建立系統用戶

  • 一、在 /etc/passwd文件中添加一個用戶基礎信息:
$ vi /etc/passwd

image

在這裏咱們添加一個叫eddy的普通用戶,按Esc,而後輸入:wq!保存退出。而後咱們須要建立該用戶的宿主目錄:

$ mkdir /home/eddy

image

建立完成以後,咱們發現該目錄的全部者是屬於root,所以要把這個目錄的全部者改爲剛纔新建的用戶eddy:

$ chown eddy /home/eddy
  • 二、在/etc/shadow文件中添加用戶的密碼信息:
$ vi /etc/shadow

而後添加一行密碼信息,這裏咱們設置密碼爲空,保存退出,這樣咱們就手工添加了一個用戶。
image

咱們如今用eddy用戶就能夠去登陸了。

image

4、新用戶信息文件

新用戶信息文件存在於目錄/etc/skel目錄:

$ ls -a /etc/skel

這裏用到了-a參數來顯示隱藏的文件,由於這個目錄裏面的文件都是隱藏文件。咱們在使用命令建立新用戶的時候,系統會自動把這個這個目錄裏面的文件複製到新用戶的宿主目錄下面去。

5、用戶配置文件:

一、 /etc/login.defs,這裏記錄了用戶的一些默認配置,咱們打開這個文件來看一下:

$ vi /etc/login.defs

image

從這個文件中能夠看到,在前面講用戶信息文件/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

image

  • GROUP 表示缺省的所屬組
  • HOME 表示缺省的宿主目錄
  • INACTIVE 帳戶缺省是否禁用:-1 表示未禁用
  • EXPIRE 帳戶的失效時間,有時候須要臨時建立一些帳號,那麼就能夠指定失效時間
  • SHELL 默認使用哪一個shell
  • SKEL 新用戶信息文件模板目錄
  • CREATE_MAIL_SPOOL 是否建立郵箱文件

用戶管理的配置文件就介紹到這裏了,你們須要重點掌握用戶信息文件和用戶密碼文件。

image

相關文章
相關標籤/搜索