Linux精講——使用者名稱檔案和密碼檔案

flyingfishzxf發表於2016-02-28

使用者名稱檔案:/etc/passwd

[root@centos01 ~]# 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
......
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
user01:x:500:500::/home/user01:/bin/bash
  • 使用者名稱檔案每一行由冒號分割成了 7
    • 第 1 段表示使用者名稱
    • 第 2 段表示使用者密碼
    • 第 3 段表示 uid
    • 第 4 段表示 gid
    • 第 5 段表示使用者描述
    • 第 6 段表示使用者的家目錄
    • 第 7 段表示使用者的 shell 直譯器

使用id username 命令可以檢視使用者的 uid, gid, groups

[root@centos01 ~]# id user01
uid=500(user01) gid=500(user01) groups=500(user01)

[root@centos01 ~]# id root
uid=0(root) gid=0(root) groups=0(root)

使用者密碼檔案:

[root@centos01 ~]# cat /etc/shadow
root:$6$irz6EL9F$eI.cHwBwBOZMPUZcBRFfqb2U1PEt1J1x1uEWF9DQW4Q8jeVieWl3.8w/ixMDN3CQo2ayatHpuuD9w3wZOeM.r0:16856:0:99999:7:::
ftp:*:15980:0:99999:7:::
nobody:*:15980:0:99999:7:::
dbus:!!:16849::::::
ntp:!!:16856::::::
user01:$6$esFarykZ$h6JjjGcH93CvxbV4vczDdc98uaSfXNwR4Evx6PTH6Zj95TUX9BTIu.5/KQ1POW0VZH5CeTNEEYvYN9tao8wAj.:16859:0:99999:7:::
  • 密碼檔案每一行用冒號分割成了9段
    • 第 1 段表示使用者名稱
    • 第 2 段表示使用者密碼(使用sha-512加密),如果是‘*’表示該帳戶已經被鎖定,若為‘!!’表示該帳戶還未設定密碼
    • 第 3 段表示從1970年1月1日開始到上次設定密碼的天數
    • 第 4 段表示過多久可以更改密碼,0表示無限制
    • 第 5 段表示密碼要過多少天過期,99999表示永不過期
    • 第 6 段表示密碼要過多少天到期
    • 第 7 段表示密碼要過多少天失效,該帳戶將被鎖定,第 2 段將變成‘*’
    • 第 8 段表示帳戶的生命週期,該帳戶可以使用多久
    • 第 9 段是保留用的,沒有實際意義

如何鎖定使用者/密碼和解鎖使用者/密碼

passwd -l username  # 鎖定使用者,在使用者密碼前加上2個‘!’
passwd -u username  # 解鎖使用者,刪除鎖定時加上的‘!’

usermod -L username  # 鎖定使用者密碼,在使用者密碼前加上1個‘!’
usermod -U username  # 解鎖使用者密碼,刪除使用者密碼前面的‘!’

相關文章