1、/etc/passwd文件
這個文件的構造是這樣的:每一行都表明一個帳號,有幾行就表明有幾個帳號在你的系統中。不過須要特別留意的是,裏頭不少帳號原本就是系統中必需要的(例如 bin, daemon, adm, nobody 等等),請不要隨意刪除。文件的內容相似:
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
能夠明顯看出,每一行使用「:」分割開,共有7個部分的內容,分別表示:
* 帳號名稱:對於UID。
* 密碼:這裏能夠看到x,這表示密碼已經移到shadow這個加密後的文件中了。
* UID:這就是用戶識別碼(ID),一般Linux對UID有幾種限制,以下表:
0 系統管理員,因此當你要做另外一個系統管理員帳號時,你能夠將該帳號的UID改爲 0 便可;
1~500 保留給系統使用的ID,建議保留500之前的UID給系統。不過,通常來講,1~99會保留給系統默認的帳號,另外100~499則保留給一些服務來使用
500~65535 給通常用戶用。
* GID:與/etc/group有關。其實/etc/group的概念與/etc/passwd差很少,只是它是用來規範用戶組而已。
* 用戶信息說明欄:這個字段基本上並無什麼用途,只是用來解釋這個帳號的意義而已。不過,若是使用finger的功能時,這個字段能夠提供不少的信息。
* 家目錄:用戶的家目錄。若是你有個帳號的使用空間特別的大,想要將該帳號的家目錄移動到其它地方,則能夠在這裏進行修改。
* Shell:用於帳號登入時,其所使用的shell。咱們一般使用/bin/bash這個shell來執行命令。有一個shell能夠用來替代帳號沒法登入的命令,那就是/sbin/nologin。
2、/etc/shadow
咱們先來看一下/etc/shadow的文件:
root:$K.K2.hqu.QfV.dkjjteojiasdlkjeo:11661:0:99999:7:::
bin:*:11661:0:99999:7:::
daemon:*:11661:0:99999:7:::
adm:*:11661:0:99999:7:::
一樣的,shadow以「:」作爲分割,下面對各個部分進行說明,
* 帳號名稱:要求與/etc/passwd相同
* 密碼:這裏的密碼都是加密後的狀態。另外,若是密碼欄的第一個字符爲「*」或者「!」,則表示這個帳號不能登入。因此,咱們能夠在這個文件中,將他的密碼字段最前面多加一個「*」,他就沒法使用該帳號了。
* 最近更改密碼的日期:這個字段記錄了「更改密碼的那一天」的日期。不過linux日期是以1970年1月1日作爲1,因此這個日期是累加的。
* 密碼不可更改的天數:記錄該帳號須要通過幾天才可以修改密碼。若是是0,則表示隨時都可修改。
* 密碼須要從新更改的天數:設置這個表示該帳號,必需要在這個時間內從新設置密碼,不然這個帳號將會暫時失效。若是99999的話,則表示密碼不須要從新輸入。
* 密碼更改期限前的警告期限:當帳號的密碼失效期限快要到的時候,系統會依據這個字段的設置,發出「警告」信息給這個帳號,提醒他「再過n天你的密碼就要失效了,請儘快從新設置你的密碼」
* 密碼過時寬限時間:若用戶過了警告期限沒有從新輸入密碼,使得密碼失效。設置了這個字段後,表示密碼失效後,還可使用這個密碼在n天內登入。若在這個天數後尚未更改密碼,那麼帳號就會失效。
* 帳號失效日期:這個日期也是從1970年1月1日開始累加來設置的。該字段表示,這個帳號在此字段規定的日期後,將沒法使用。一般在「收費服務」的系統中使用。
* 保留:目前沒有使用。用於之後增長新字段。linux