1,用戶信息文件/etc/passwd
1.1,用戶管理簡介所以越是對服務器安全性要求高的服務器,越選喲建立合理的用戶權限等級隻讀和服務器操作規范。在Linux中主要是通過對用戶配置文件來查看和修改用戶信息。
1.2,/etc/passwd第一字段:用戶名稱第二字段:密碼標志第三字段:UID0:超級用戶1-499:系統用戶500-65535:普通用戶第四字段:GID(用戶初始組ID)第五字段:用戶說明第六字段:傢目錄,普通用戶:/home/用戶名/ 超級用戶/root/第七字段:登錄之後的SHELL
vim /etc/passwd
如果要看這個配置文件的幫助信息,就直接用man 5 passwd 來進行查詢,但是要註意,你要直接輸入passwd名稱就好,而不是完整的配置文件路徑。因為文件名稱已經在Linux系統裡面瞭,查詢的時候是直接以文件名來進行查詢的。
例:man 5 passwd
下面我來講一各字段的意義
第一列是它的用戶名稱。第二列x代表密碼標識,隻是證明我這個用戶是有密碼的,真正的密碼是放在影子文件裡面,這個影子文件我們馬上講解。x是不能省略的,不然系統不會到影子文件裡搜尋密碼,如果省略的話,那麼系統就會默認這個人沒有密碼,誰都可以登錄,這就非常危險。但也僅僅支持本地登錄,對於SSH端口協議是不支持的。第三列是UID,系統內核對我們用戶進行唯一標識的標志,也就是說我們再進行系統用戶調用的時候會根據uid來進行調用,但是為瞭我們普通用戶好記,所以起瞭個用戶名。0:超級用戶 1-499:系統用戶 500-65535:普通用戶。如果要把普通用戶變為超級用戶就把uid改為0。1-499是系統用戶,就是說這些用戶就在系統裡,在系統運行的時候不能刪除,也不能使用它登錄,隻是系統再調用的時候會調用這些用戶的功能。
1.3,初始組和附加組初始組:就是指用戶一登陸就立刻擁有這個用戶組的相關權限,每個用戶的初始組隻能有一個,一般就是和這個用戶的用戶名相同的組名作為這個用戶的初始組。每一個用戶必須有一個初始組,且隻能有一個初始組。附加組:指用戶可以加入多個其他的用戶組,並擁有這些組的權限,附加組可以有多個。
第四個字段是用戶初始組ID,就是0:0中第二個0,要想知道用戶屬於那個組就要匹配etc/group文件來進行匹配才能知道,要想讓用戶擁有其他組的權限就要把他加上附加組。第五字段:用戶說明,對他用戶進行補充。當然也可以不加。第六字段就是傢目錄是固定的,記住就好。
1.4,shell
shell就是Linux的命令解釋器。將ls解釋,然後給內核,內核再把列表列出來。在/etc/passwd當中,除瞭標準shell是/bin/bash之外,還可以寫如/sbin/nologin,就是系統用戶的shell路徑。
第七字段:登錄之後的SHELL,所有用戶必須在/bin/bash
2,影子文件
在影子文件裡保存的是真正的我們加密的密碼串,在passwd裡面是密碼標志
2.1,影子文件/etc/shadow
第一字段:用戶名第二字段:加密密碼,加密算法升級為SHA512散列加密算法,如果密碼位是“!!”或“*”代表沒有密碼,不能登錄第三字段:密碼最後一次修改日期,使用1970年1月1日作為標準時間,每過一天時間戳加一第四字段:兩次密碼的修改時間間隔時間(和第三字段相比)第五字段:密碼有效期(和第三字段相比)第六字段:密碼修改到期的警告天數(和第五字段相比)第七字段:是密碼過期後的寬限天數(和第5字段相比)0:代表密碼過期後立即生效,-1:則代表密碼永遠不會失效。第八字段:賬號失效時間,要用時間戳表示第九字段:保留
vim /etc/shadow
bc5a1e94284a52fdd64a8dcb86585e32
第一字段是用戶名,第二字段是經過加密後的加密密碼,這個文件我們要重點保護,不要被其他人瞭解到。第三字段,我們可以看到,有許多偽用戶的密碼是!或*那麼這些偽用戶是不能登錄的。如果你要禁用某個用戶,
加瞭個!告訴系統不要換算瞭,是不能登錄的,就可以暫時禁用某個用戶。第三字段,是密碼的最後一次修改日期,你看這個時期是16066,它是時間戳,從1970年之後1月1日開始到現在多少天。第四字段兩次密碼的修改時間間隔時間(和第三字段相比),剛開始設置的密碼的第四字段是0,不用間隔就可以改密碼。如果你把它改為10,那麼就是告訴你要間隔十天才能更改密碼。第五字段是密碼的有效期,你看99999天,也就是說在9999天內你的密碼是有效的,你可以理解為永久生效。
如果我改成這樣,那麼就是說在第83天的時候系統會提示你要更改密碼。我們看到上圖的第七字段是空就是0,就告訴我們到九十天不改的話就立即封掉。
如果我改成5,就到九十五天,給你寬限五天如果你還是不改,就給你封掉。第八字段是賬號的失效時間,如果我在那裡寫個用時間戳表示的天數,到瞭那個天數你的賬號就會失效,就算你的密碼沒有過期,你的賬號也會失效。
2.3時間戳換算把時間戳換算成日期,date -d "1970-0101 16066 days"把日期換算成時間戳:echo $(($(date --date="2014/01/06" +%s)/86400+1))
2bfb25d695476567bd25241f370547442cbe210b0d894f6b45d31cc7489c8d88
第九字段是保留字段,還沒有添加功能
3,組信息文件/etc/group和組密碼文件/etc/gshadow
3.1組信息文件/etc/group
第一字段:組名第二字段:組密碼標志第三字段:GID第四字段:組中附加用戶
vim /etc/group
每添加一個用戶就生成一個和用戶名相同的group組。
第一字段是組名,默認和用戶名相同。第二字段是組的密碼標志,和passwd裡面的組密碼標志一樣,真正的組密碼放到/etc/gshadow下裡面。組密碼用的不多,它的作用是,代替root用戶進行組員調配,root用戶給這個組的其中人一個組密碼,那這個人就是小組長,他就可以進行組員刪除和添加,代替root用戶執行一部分權限,但是這是不安全的,並不推薦,知道它是幹什麼就好瞭。第三字段是GID,就是groupid,標識group的唯一標志。和之前的號作用一樣,0是超級用戶組……………………。怎麼知道一個用戶的初始組,就要將passwd和group配置文件都打開,先看passwd組ID為0的組名在group中的組ID為0的名稱是不是root,一樣的話就是初始組。
3.2組密碼文件/etc/gshadow
第一字段:組名第二字段:組密碼第三字段:組管理員用戶名第四字段:組附加用戶
這個文件我們就不仔細講瞭,因為太不安全,這裡建議大傢不要使用。
碼字不易,還望點個贊點個關註多多支持一下,謝謝!
些許內容來自互聯網,如有冒犯請告知刪除。
下一篇