Linux中/etc/passwd、/etc/shadow文件字段的含義以及用處

    今天本人學習到了兩個個Linux中非常重要的文件,它們承載著Linux用戶的相關信息,如果在賬號方面出現一些密碼相關的問題,就可以來找這兩個文件查看和分析一番。

    他們分別是/etc/passwd和/etc/shadow兩個文件,他們都存放于/etc目錄中,都可以使用cat命令來查看其內容。

    /etc/passwd的內容類似于這樣:

        root:x:0:0:root:/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
        sync:x:5:0:sync:/sbin:/bin/sync
        shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
        halt:x:7:0:halt:/sbin:/sbin/halt
        mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
        operator:x:11:0:operator:/root:/sbin/nologin
        games:x:12:100:games:/usr/games:/sbin/nologin
        ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
        nobody:x:99:99:Nobody:/:/sbin/nologin
        dbus:x:81:81:System message bus:/:/sbin/nologin
        polkitd:x:999:998:User for polkitd:/:/sbin/nologin
        avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
        avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
        postfix:x:89:89::/var/spool/postfix:/sbin/nologin
        sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
        gentoo:x:1000:1002:Gentoo Distribution:/home/gentoo:/bin/bash

    其中每一條代表一個賬戶,每個條目有7個字段分別用(:)冒號分開,它們每一個字段都有自己的含義。下面我來具體描述下每個字段的含義。

        USERNAME:PASSWORD:UID:GID:COMMENT:HOME DIRECTORY:SHELL

    USERNAME:用戶名

    PASSWORD:用戶密碼

    UID:用戶識別碼

        0:為系統管理員root

        1-499:系統用戶(其中CentOS6是1-499,CentOS7是1-999)系統用戶請一定保留出來,因為系統的一些進程用到的用戶名的ID如果占用了,會造成一些錯誤,所以還請保留。

        1000-65535:為普通用戶(暫時用這些也夠了,其實2.6的核心已經支持2^32了)

    GID:用戶組識別碼

        不同的用戶可以屬于同一個組,享有該用戶組共有的權限。

    COMMENT:賬號描述

    HOME DIRECTORY:用戶的家目錄,一般創建的新用戶的家目錄都在/home/USERNAME同名的目錄,這個目錄也是可以修改和移動的。每一個用戶的家目錄都會從/etc/skel/中復制文件

    Shell:用戶默認的shell,可以修改/etc/default/useradd文件來改變默認的shell,可用的shell可以在/etc/shells中查看。

   

    /etc/shadow

       root:$6$9HRSe8I3Sbgcigq7$WhKt.yxTsI.eC38Cks/lNkRExXN/xnuazSfHrcipg3L.vF9qo.U1b.QRGSbEkMvxtBSP0Vy1C7WybuSVUwMU4/:16801:0:99999:7:::
       bin:*:16231:0:99999:7:::
       daemon:*:16231:0:99999:7:::
       adm:*:16231:0:99999:7:::
        lp:*:16231:0:99999:7:::
       sync:*:16231:0:99999:7:::
       shutdown:*:16231:0:99999:7:::
       halt:*:16231:0:99999:7:::
       mail:*:16231:0:99999:7:::
       operator:*:16231:0:99999:7:::
       games:*:16231:0:99999:7:::
       ftp:*:16231:0:99999:7:::
       nobody:*:16231:0:99999:7:::
       dbus:!!:16801::::::
       polkitd:!!:16801::::::
       avahi:!!:16801::::::
       avahi-autoipd:!!:16801::::::
       postfix:!!:16801::::::
       sshd:!!:16801::::::
       gentoo:$6$uTTHTd9m$/pWKUhUvCdjvgRjivCUil8M8UUBKaFPTQgUQVGh4MZ1lDa7RPyeAZuvC0v.AcL5x5CEeXzBYe2bk4pVUgfw5/0:16811:0:99999:7:::

   九個字段的含義:賬戶名:密碼:最近一次修改的日期:密碼多久之內不能被修改:口令需要變更的天數:口令變更前的提醒天數:口令過期后的寬限時間:賬號失效日期:保留字段        

    第一字段  帳戶名稱 (與/etc/passwd保持一致)

    第二字段  帳戶口令(即密碼, 加密過的所以是一串字符,如果是在密碼欄的第一個字元為‘ * ’或者是‘ ! ’,表示這個帳號并不會被用來登入的意思,經過本人測試,如果將第一個字符修改成"*"此賬號將無法登錄)

    第三字段  最近一次修改的日期

    每四字段  密碼多久之內不能被修改, 以天為單位

    第五字段  口令需要變更的天數 (出于安全考慮, 可以這樣設置,強制用戶多久換一次密碼)

    第六字段  口令變更前的提醒天數(根據第五個字段, 前多少天提醒用戶去修改口令)

    第七字段  口令過期后的寬限時間(即第五字段過期后還可以寬限的天數, 過了這個天數帳號就會默認為失效了)

    第八字段  帳號失效日期(帳號如果超出這個設置后就會失效, 通過用在收費服務中, 或者我們的后臺任務當時, 任務完成帳號失效等)

    第九字段  保留字段, 目前無實際應用

    

    下面兩個命令是這兩個文件相關的,可以作為參考。

    pwconv
    根據/etc/passwd文件生成/etc/shadow。它把所有口令從/etc/passwd移到/etc/shadow中。
    pwunconv
    將/etc/shadow中的信息盡可能地恢復到/etc/passwd。

    

    像我們這種新手經常會碰到root密碼忘記的問題,所以我借鑒了網上各位大神的處理方式,在這里分享出來。

     1、啟動grub菜單,選擇編輯選項啟動。

    blob.png

    2 – 按鍵盤e鍵,來進入編輯界面

    blob.png

    3 – 找到Linux 16的那一行,將ro改為rw init=/sysroot/bin/sh

    blob.png

    4 – 現在按下 Control+x ,使用單用戶模式啟動

    blob.png

    5 – 現在,可以使用下面的命令訪問系統

     chroot /sysroot    # 改變系統根目錄(指定臨時根目錄)
     passwd root         # 修改root用戶的密碼
     touch /.autorelabel # 更新系統信息
     exit                # 退出
     reboot              # 重啟系統

    好了,重啟之后就可以用新設置的密碼登錄了,今天就寫到這里,希望能夠幫助到和我一樣剛剛入門的新手。謝謝大家。

   

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

(6)
qiaojia596qiaojia596
上一篇 2016-01-14 10:01
下一篇 2016-01-14 21:21

相關推薦

  • 【職位推薦】華圖網校/北京/運維工程師/8-12k(14薪)

    北京華圖宏陽網絡科技有限公司 華圖教育集團:       華圖教育(www.huatu.com)是華圖宏陽股份旗下品牌,擁有遍布全國的100余家分支機構。主要產品包括中央和地方公務員招錄考試輔導,事業單位、三支一扶、村官、選調生、招警等考試輔導。      北京華圖宏陽教育文化發展股份有限…

    Linux干貨 2016-04-20
  • 馬哥網絡教育班第21期+第七周課程練習

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; [root@localhost ~]# fdisk /dev/sd…

    Linux干貨 2016-08-12
  • 進程和計劃任務

    一、進程概念    內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、 安全功能等 v Process:  運行中的程序的一個副本(文件),是被載入內存的一個指令集合,在內存中運行,系統指定一個內存空間和PID編號;進程ID(Process ID ,PID )號碼被用來標記各個進程;存在生命周期 &nbsp…

    Linux干貨 2016-11-27
  • 高級文件系統管理2

    五、btrfs文件系統     技術預覽版     Btrfs (B-tree, Butter FS, Better FS), GPL, Oracle,2007, CoW     核心特性:     …

    Linux干貨 2016-09-09
  • 第八周

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;      在線的主機使用綠色顯示;      不在線的主使用紅色顯示; #!/bin/bash # for i in 172.16.250.{…

    Linux干貨 2017-05-23
  • N25-第二周博客作業

    第二周博客作業 1.Linux上的文件管理類命令都有哪些,其常用的使用方法和演示 2.bash的工作特性之命令執行狀態返回值和命令行展開所涉及內容演示及其實例 3.請使用命令行展開功能完成以下練習;    (1)創建/tmp的目錄下a_c,a_d,b_c,b_d     (2) 創建/tmp/mylinux目錄下的 4…

    Linux干貨 2016-12-11
欧美性久久久久