/etc/passwd、/etc/shadow和/etc/group

/etc/passwd、/etc/shadow和/etc/group

Debian學習筆記

http://man.chinaunix.net/linux/debian/debian_learning/index.html

這三個配置文件用於系統帳號管理,都是文本文件,可用vi等文本編輯器打開。/etc/passwd用於存放用戶帳號信息,/etc/shadow用於存放每個用戶加密的密碼,/etc/group用於存放用戶的組信息。

  • /etc/passwd文件的內容如下:

    root:x:0:0:root:/root:/bin/bash
    daemon:x:1:1:daemon:/usr/sbin:/bin/sh
    bin:x:2:2:bin:/bin:/bin/sh
    sys:x:3:3:sys:/dev:/bin/sh
    sync:x:4:65534:sync:/bin:/bin/sync
    games:x:5:60:games:/usr/games:/bin/sh
    ...
    

    每一行是由分號分隔的字串組成,它的格式如下:

    username:password:uid:gid:gecos:homedir:shell
    各域對應的中文說明如下:
    用戶名:密碼:用戶ID:組ID:用戶全名:主目錄:登錄shell
    gecos是通用電子計算機操作系統的縮寫,是Bell實驗室中的一臺大型主機。
    

    Unix系統最初是用明文保存密碼的,後來由於安全的考慮,採用crypt()算法加密密碼並存放在/etc/passwd文件。現在,由於計算機處理能力的提高,使密碼破解變得越來越容易。/etc/passwd文件是所有合法用戶都可訪問的,大家都可互相看到密碼的加密字符串,這給系統帶來很大的安全威脅。現代的Unix系統使用影子密碼系統,它把密碼從/etc/pa sswd文件中分離出來,真正的密碼保存在/etc/shadow文件中,shadow文件只能由超級用戶訪問。這樣入侵者就不能獲得加密 密碼串,用於破解。使用shadow密碼文件後,/etc/passwd文件中所有帳戶的password域的內容爲"x",如果password域的內 容爲"*",則該帳號被停用。使用passwd這個程序可修改用戶的密。

  • /etc/shadow存放加密的口令,該文件只能由root讀取和修改。下面是shadow文件的內容:

    root:$1$43ZR5j08$kuduq1uH36ihQuiqUGi/E9:12973:0:99999:7:::
    daemon:*:12973:0:99999:7:::
    bin:*:12973:0:99999:7:::
    sys:*:12973:0:99999:7:::
    sync:*:12973:0:99999:7:::
    ...
    
    我們可用chage命令顯示test用戶的帳號信息:
    debian:~# chage -l test 
    最小:  0
    最大:  99999
    警告日:        7
    失效日:        -1
    最後修改:               7月 09, 2005
    密碼過期:      從不
    密碼失效:      從不
    帳戶過期:      從不
    

    /etc/shadow文件的格式如下:

    username:password:last_change:min_change:max_change:warm:failed_expire:expiration:reserved
    各字段的簡要說明:
    last_change:表示自從Linux使用以來,口令被修改的天數。可用chage -d命令修改。
    min_change:表示口令的最小修改間隔。可用chage -m命令修改。
    max_change:表示口令更改週期。可用chage -M命令修改。
    warm:表示口令失效的天數。可用chage -W命令修改。
    failed_expire:表示口令失效後帳號的鎖定天數。可用chage -I命令修改。
    expiration:表示帳號到期日時間。可用chage -E命令修改。
    reserved:沒有使用,留待以後使用。
    

    在debian系統中,使用shadowconfig on/off命令可控制啓用和禁用shadow口令功能。

  • /etc/group是帳號分組文件,控制用戶如何分組。下面是組文件的內容:

    root:x:0:
    daemon:x:1:
    bin:x:2:
    sys:x:3:
    adm:x:4:
    ...
    

    它的格式如下:

    groupname:password:gid:members
    

    這裏的password代表組口令,很少用到。它可使原先不在這個羣組中的用戶可以通過newgrp命令暫時繼承該組的權限,使用newgrp命令時會新開一個shell。口令的加密方式和passwd文件中的口令一樣,所以如果需設置組口令,要用passwd程序虛設一個用戶,再把該用戶password節中的加密口令拷貝到/etc/group文件中。members列代表組成員,我們可把需加入該組的用戶以逗號分隔添加到這裏即可。同一組的成員可繼承該組所擁有的權限。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章