用戶和組
用戶和組ID的主要用途:
- 確定各種系統(tǒng)資源的所有權(quán)
- 對賦予進(jìn)程訪問上述資源的權(quán)限加以控制
1灰追、密碼文件:/etc/passwd
系統(tǒng)密碼文件/etc/passwd針對系統(tǒng)的每一個(gè)用戶賬號進(jìn)行描述,心如有:
- 登錄名
- 經(jīng)過加密的密碼:長度是13個(gè)字符,如果啟用了shadow密碼妓布,系統(tǒng)將不會解析該字段,這時(shí)/etc/passwd中的密碼字段通常是"x"祭饭,而經(jīng)過加密的密碼存儲到了shadow密碼文件中图毕,若/etc/passwd中密碼字段為空,那么該賬戶不需要密碼(即便啟用了shadow密碼)
- 用戶ID:0是root賬號
- 組ID
- 注釋:finger(1)顯示描述性文字
- 主目錄
- 登陸shell
2像樊、shadow密碼文件:/etc/shadow
/etc/passwd中維護(hù)所用用戶的信息尤莺,包括加密處理的密碼,但帶來安全問題生棍,許多非特權(quán)用戶需要讀取密碼文件中的其他信息颤霎,密碼文件不得不對用戶開放可讀權(quán)限。
/etc/shadow僅僅特權(quán)程序可讀取
3涂滴、組文件/etc/group
/etc/group文件包含的信息:
- 組名
- 經(jīng)過加密處理的密碼
- 組ID
- 用戶列表
4捷绑、獲取用戶和組的信息
getpwnam
getpwuid
getgrnam
getgrgid
getspnam
getspent
5、密碼加密和用戶認(rèn)證
UNIX采用單向加密算法對密碼進(jìn)行加密氢妈,所以由密碼的加密形式無法還原出原始密碼粹污,加密算法封裝在crypt()函數(shù)中。
char *crypt(const char *key, const char *salt)
crypt()函數(shù)加密密碼的方式與標(biāo)準(zhǔn)login程序相同首量,這需要認(rèn)證用戶的程序來說極為有用壮吩。