幾乎所有的類(lèi)Unix操作系統的口令文件的格式都雷同,Linux亦不例外??诹畎踩荓inux操作系統的傳統安全問(wèn)題之一。
傳統口令與影子口令
/etc/passwd是存放用戶(hù)的基本信息的口令文件。該口令文件的每一行都包含由6個(gè)冒號分隔的7個(gè)域:
username: passwd: uid: gid: comments: directory: shell
以上從左到右7個(gè)域分別敘述如下:
username:是用戶(hù)登陸使用的名字。
passwd:是口令密文域。密文是加密過(guò)的口令。如果口令經(jīng)過(guò)shadow則口令密文域只顯示一個(gè)x,通常,口令都應該經(jīng)過(guò)shadow以確保安全。如果口令密文域顯示為*,則表明該用戶(hù)名有效但不能登陸。如果口令密文域為空則表明該用戶(hù)登陸不需要口令。
uid:系統用于唯一標識用戶(hù)名的數字,uid系統是這樣分配的:
0 超級用戶(hù)
1~10 守護程序和偽用戶(hù)
11~99 系統保留用戶(hù)
100~ 正常用戶(hù)
gid:表示用戶(hù)所在默認組號。由/etc/group文件決定。
comments:描述用戶(hù)的個(gè)人信息。
directory:定義用戶(hù)的初始工作目錄。
shell:就是指定用戶(hù)登陸到系統后啟動(dòng)的外殼程序。
表1列出了系統在安裝過(guò)程中創(chuàng )建的標準用戶(hù),表中的內容和/etc/passwd文件的描述是一致的。
表2列出系統安裝過(guò)程中創(chuàng )建的標準用戶(hù)組,和/etc/group文件是一致的:
Linux使用不可逆的加密算法如DES來(lái)加密口令,由于加密算法是不可逆的,所以從密文是得不到明文的。但問(wèn)題在于,/etc/passwd文件是全局可讀的,加密的算法是公開(kāi)的,如果有惡意用戶(hù)取得了/etc/passwd文件,他就可以窮舉所有可能的明文通過(guò)相同的算法計算出密文進(jìn)行比較,直到相同,于是他就破解了口令。因此,針對這種安全問(wèn)題,Linux/Unix廣泛采用了“shadow(影子)”機制,將加密的口令轉移到/etc/shadow文件里,該文件只為root超級用戶(hù)可讀,而同時(shí)/etc/passwd文件的密文域顯示為一個(gè)x,從而最大限度減少密文泄露的機會(huì )。
/etc/shadow文件的每行是8個(gè)冒號分割的9個(gè)域,格式如下:
username: passwd: lastchg: min: max: warn: inactive: expire: flag
其中:
lastchg:表示從1970年1月1日起到上次修改口令所經(jīng)過(guò)的天數。
min:表示兩次修改口令之間至少經(jīng)過(guò)的天數。
max:表示口令還會(huì )有效的最大天數,如果是99999則表示永不過(guò)期。
warn:表示口令失效前多少天內系統向用戶(hù)發(fā)出警告。
inactive:表示禁止登陸前用戶(hù)名還有效的天數。
expire:表示用戶(hù)被禁止登陸的時(shí)間。0
flag:無(wú)意義,未使用。
啟用影子口令
RedHat Linux缺省安裝shadow,如果你發(fā)現你的系統的/etc/passwd文件仍然可以看到密文,就說(shuō)明你沒(méi)有啟用shadow??梢詧绦衟wconv來(lái)啟用shadow。
在RedHat Linux 7.1中,影子工具包(shadow utils)包含了幾個(gè)工具支持以下功能:
傳統口令與影子口令之間的轉換工具:pwconv、pwunconv。
驗證口令,組和相應的影子文件:pwck、grpck。
以符合工業(yè)標準的方法增加、刪除和修改用戶(hù)帳戶(hù):useradd、usermod、userdel。
以符合工業(yè)標準的方法增加、刪除和修改用戶(hù)組:groupadd、groupmod、groupdel。
以符合工業(yè)標準的方法管理文件/etc/group。
無(wú)論系統是否啟用shadow機制,上述工具都可以正常使用。
更改Linux口令的最短長(cháng)度
Linux系統默認最短口令長(cháng)度為5個(gè)字符,這個(gè)長(cháng)度不足以保證口令的健壯性,應該改為最短8個(gè)字符,編輯/etc/login.defs文件,在此文件中,將
PASS_MIN_LEN 5
改為:
PASS_MIN_LEN 8
表1
User Uid gid Directory shell
Root 0 0 /root /bin/bash
Bin 1 1 /bin
Daemon 2 2 /sbin
Adm 3 4 /var/adm
Lp 4 7 /var/spool/lpd
Sync 5 0 /sbin /bin/sync
shutdown 6 0 /sbin /sbin/shutdown
Halt 7 0 /sbin /sbin/halt
Mail 8 12 /var/spool/mail
News 9 13 /var/spool/news
Uucp 10 14 /var/spool/uucp
Operator 11 0 /root
Games 12 100 /usr/games
Gopher 13 30 /usr/lib/gopher-data
ftp 14 50 /home/ftp
Nobody 99 99 /
表2
Group Gid Members
Root 0 Root
Bin 1 root,bin,daemon
Daemon 2 root,bin,daemon
Sys 3 root,bin,adm
Adm 4 root,adm,daemon
Tty 5
Disk 6 Root
Lp 7 daemon,lp
Mem 8
Kmem 9
Whell 10 Root
Mail 12 Mail
News 13 News
Uucp 14 Uucp
Man 15
Games 20
Gopher 30
Dip 40
ftp 50
nobody 99
Users 100
floppy 19
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。