用戶和組的四大配置文件簡介

一. 用戶的由來

linux系統擁有的就是資源,最重要的事就是對資源的分配,資源分給誰?在linux上資源的訪問是對用戶
賦予不同的權限實現,也就是說能訪問資源的單位是用戶。那用戶在獲取資源之前要實現證明自己是本用
戶,這個過程稱為認證,他通過密碼和用戶名實現。在用戶登錄時會將用戶輸入的用戶名和密碼進行校驗
,校驗過程就是將輸入的用戶名和密碼與linux系統上記錄的用戶名和密碼進行對比,相同就登錄成功,反
之,就登錄失敗。那系統上記錄用戶和密碼的文件就是我們要重點談論的,分別在/etc/passwd和/etc/shadow。
接下來我們就圍繞這兩個配置文件及其相關的命令談一談。

用戶的分類

linux對用戶通過其獲取資源的能力劃分成二類用戶:

    1.管理員用戶:是linux系統中的神,無所別能,不受權限的限制。
    2.普通用戶:獲取資源受權限限制,他根據用處分為兩類
        a. 系統用戶:linux中每一個進程都有一個發起者,而又一些進程是系統啟動時開啟的服務
        進程。這些系統服務經常的發起者就是這些系統用戶。而這些系統用戶不必登錄到計算機,
        這類用戶就叫做系統用戶。
        b.登錄用戶:lunux是一個多人多工的操作系統,這類用戶可以登錄后根據權限享有資源。

/etc/passwd配置文件簡介

我們通過head 查看前五行內容:

[root@localhost ~]# head -n 5 /etc/passwd 
root:x:0:0: :/root:/bin/bash 
bin:x:1:1:bin:/bin:/sbin/nologin 
daemon:x:2:2:daemon:/sbin:/sbin/nologin 
adm:x:3:4:adm:/var/adm:/sbin/nologin 
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

其中每一行表示一個用戶,每個用戶多分為七個字段用分號隔開。這七個字段從左到右表示的意思分別為:

    1.USERNAME:用戶姓名
    2.PASSWD:用戶密碼,但在此處不顯示,密碼保存在/etc/shadow文件中。早期的密碼是放在此文件中
    由于放在這不安全,將其移到/etc/shadow文件下,文件名沒變是為了兼容老版本
    3.UID:用戶id號,因為計算機更容易識別數字,故每一個用戶都有一個唯一表示ID,且用戶識別并不
    是通過用戶名字而是用戶ID,例如在linux中ID為0的用戶是管理員
    4.GID:用戶主組。
    5.context:注釋信息。
    6.HOME DIRECTORY:用戶家目錄,用戶登錄之后所處的目錄
    7.SHELL:用戶登錄后使用的shell,shell是用戶與linux內核打交道的接口

/etc/passwd配置文件簡介

通過head查看配置文件內容為:

[root@localhost ~]# head -n 5 /etc/shadow 
root:$6$Of1m6zsD$8ZbhnzL1T95JnLNOH8YFC7CMth7DWhUsMl3KP.YR/TygDrcqSKJ6UFVLE/SDJaEIlhj09ZwQgJqQkMTDmZIf60:17097:0:99999:7::: 
bin:*:17097:0:99999:7::: 
daemon:*:17097:0:99999:7::: 
adm:*:17097:0:99999:7::: 
lp:*:17097:0:99999:7:::

每個字段以冒號為分隔符,可以看到每個密碼有九個字段,分別表示的意思為:

    1.login name:用戶名
    2.encrypted password:密碼,以$符分為三個字段從左到右分別為
        a.第一個字段為加密算法,有1-6六個數字分別對應的算法為:MD5,SHA1,SHA224,SHA224,SHA256
        SHA384,SHA512。root用戶中的6就表示sha512。
        b.第二個字段為salt,是8位隨機數,是為了反正密碼相同的不同用戶密碼一樣而生成的隨機數
        c.第三個字段為生成的密文,即密碼。
    3.date of last password change:密碼最后一次修改距離linux元年(1970.01.01)的天數
    4.minimum password age:密碼再次修改最小經過的天數
    5.maximum password age:密碼最大使用天數,過了這個天數就要修改
    6.password warning period:警告時間,密碼到最大使用天數前多少天開始警告,提示用戶密碼快
    到最大使用時間需要修改了
    7.password inactivity period:密碼到了最大使用天數之后,賬號不可活動天數。
    8.account expiration date:用戶過期時間,是1970到過期時間的天數。
    9.reserved field:保留字段。

用戶相關命令簡介

useradd:創建一個新用戶,主要創建的shi/etc/passwd中的信息。

重要參數為:
    -r:創建系統用戶
    -u:指定用戶id
    -g:指定指定用戶屬id
    -G:指定用戶附加組id
    -s:指定用戶登錄shell
    -c:用戶注釋信息
    -d:指定用戶家目錄
    -m:創建用戶家目錄
    -M:不創建用戶家目錄
    -c:注釋用戶信息

chage和passwd:主要修改/etc/shadow中的數據。具體選項可以查看man幫助,值得注意的是passwd可以通
過-l和-u鎖定和解鎖用戶密碼。

usermod:修改制定用戶數據,處理修改/etc/passwd的一些常規信息,還可以是用-L和-U鎖定和解除用戶
密碼,鎖定密碼實際上是在密碼前加一個!號

chfn USERNAME:修改用戶注釋信息。

finger USERNAME:查看用戶信息
userdel:刪除用戶 -r選項表明連同家目錄頁一并刪除。

用戶信息默認配置文件

當我們在創建用戶沒有指定shell,家目錄等信息是,我們發現盡管沒有指定,但依舊有shell,家目錄等。
那么這些默認的屬性來自那呢?這些默認信息都寫在/etc/login.defs和/etc/default/useradd中看看都
定義了一些什么屬性。

/etc/login.defs:

PASS_MAX_DAYS    99999    #密碼最大使用時間

PASS_MIN_DAYS    0          #密碼最小實用時間

PASS_MIN_LEN    5          #密碼最小長度

PASS_WARN_AGE    7           #密碼提前警告時間天數

ENCRYPT_METHOD SHA512   #指定了密碼加密算法

CREATE_HOME    yes          #默認創建家目錄

UID_MIN              500       #用戶id最小值

UID_MAX            60000       #用戶id最大值 

/etc/default/useradd

GROUP=100       #創建用戶使用-N選項是默認的基本組

HOME=/home      #家目錄創建目錄

INACTIVE=-1     #密碼非活動時間

EXPIRE=

SHELL=/bin/bash      #默認shell類型

SKEL=/etc/skel       #拷貝到家目錄下的文件

CREATE_MAIL_SPOOL=yes     #是否創建郵箱

二.組的概念

在上面我們提到過,操作系統最大的作用是管理資源。而為了對某一類用戶進行資源的分配和使用,我們
提出了組的概念。與組相關的兩個配置文件為:/etc/group, /etc/gshadow。

組的分類

它和分類一樣
    1.管理員組
    2.用戶組:
        a.系統組
        b.登錄組
站在用戶的角度分:
    1.用戶的基本組,也稱為主組。
    2.附加組

/etc/group

查看文件格式為:

[root@localhost ~]# head -n 5 /etc/group root:x:0: bin:x:1:bin,daemon daemon:x:2:bin,daemon sys:x:3:bin,adm adm:x:4:adm,daemon

以逗號為分隔符,五個字段分別為:

    1.用戶名
    2.用戶密碼,與/etc/passwd一樣真正的密碼在其他文件中
    3.GID:組ID號
    4.用戶成員列表

/etc/gshadow配置文件

查看配置文件內容為:

[root@localhost ~]# head -n 5 /etc/gshadow
root:::
bin:::bin,daemon
daemon:::bin,daemon
sys:::bin,adm
adm:::adm,daemon

以逗號為分隔符,五個字段分別為:

    1.用戶名
    2.用戶密碼,實際上組一般不設置密碼,設置密碼后用戶使用newgrps命令屬于密碼切換屬組,這是不
    安全的。
    3.組的屬主,屬組可對此組用戶成員進行增刪。
    4.用戶成員列表。

組相關命令簡介

groupadd:添加組

groupmod:修改組信息

groupdel:刪除組

gpasswd:修改組命令
id USERNAME:查看用戶id和組信息

groups USERNAME:查看用戶的基本組和附加組。

groupmems -l -g GROUPNAME:查看組中有哪些成員。

三. 用戶和組的關聯

在創建用戶時如果沒有指定基本組就會創建一個同名的組,這個組中的會有一個成員列表為新創建的用戶。
用戶id名稱的改變,并不會影響相同組的改變,因為兩者之間沒有直接聯系,只是組成員中的列表會隨著
成員用戶名稱的改變而改變。用戶和組沒有關聯,只是名字相同而已

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

(0)
liroulirou
上一篇 2016-10-24
下一篇 2016-10-24

相關推薦

  • iptables練習

    系統的INPUT和OUTPUT默認策略為DROP; 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin字符串的頁面不允許訪問;web服務器僅允許響應報文離開本機; 系統默認策略設定: ~]# iptables -P INPUT DROP ~]# iptables -P OUPUT DROP 網絡說明…

    Linux干貨 2016-12-27
  • 文件系統磁盤管理上

    磁盤:主要作用用于存儲數據 早期一塊硬盤共有256個盤面,每個盤面有1024個磁道,每個磁道有63個扇區,每個扇區的大小是512byte 硬盤的命名: 早期IDE硬盤標記為hd scsi、usb、sas標記為sd 引用設備的方式 設備文件名 標卷 UUID 硬盤分區: 第0個磁道的第0個扇區存放的是磁盤的信息 MBR:Master Boot Record 主…

    Linux干貨 2016-08-30
  • Linux軟件包管理之rpm和yum的使用

    rpm命令的使用 什么是RPM? rpm:RPM Package Manager (原Redhat Package Manager) Linux 軟件包管理工具 特定的程序由應用程序組成;     GPL:源碼     glibs:標準的C庫 常見Linux發行版的軟件包管理器:…

    Linux干貨 2016-08-25
  • http服務之二

    httpd http協議: http事務:    請求:request    響應:response 報文語法格式: request報文 <method> <request-URL> <version>     <he…

    Linux干貨 2016-10-21
  • 運維工程師技能需求排行

    這是我今天在拉勾網搜索運維,翻完了4四頁也招聘信息之后得到的,我的目的是想要看看之后的學習,哪個更應該成為重點,有些在我意料之中,有些還真的沒想到,算是努力了一個小時的收獲吧,分享給大家。
    注意:其中的看法僅代表個人觀點,很多都是依靠我自己的學習經驗和工作經驗累積的

    Linux干貨 2017-12-12
  • Memcached + MSM 實現Tomcat Session保持

    Memcached + MSM 實現Tomcat Session保持 tomcat memcached 前言 Memcached介紹 MSM介紹 實驗拓撲 實驗環境 實驗步驟 安裝配置Tomcat 安裝配置Nginx負載均衡 安裝配置Memcached + MSM 總結 前言 上篇文章我們實現了session sticky和session clus…

    2016-04-22
欧美性久久久久