加密的口令條目包含B l o w f i s h版本號、算法重復次數(shù)以及s a l t和哈?诹畹倪B結—每個之間由“ $”字符隔開。一個編碼“ 8”將聲明2 5 6次循環(huán)。一個有效的B l o w f i s h口令看起來如下:
$2a$12$eIAq8PR8sIUnJlHaohxX209x9O1m2vk97LJ5dsXdmB.eXF42qjchC
在這個例子中,初始的擴展進行4 0 9 6次。給出了很大的重復次數(shù)和長的口令, B l o w f i s h加密的口令比其他基于傳統(tǒng)D E S機制加密的口令更難被攻擊。給出由這些算法改進所提供的額外安全措施后,它被應用在其他U N I X系統(tǒng)中只是一個時間問題了。
2.6----如何得知你的系統(tǒng)使用的加密算法
方法可以有很多,本人簡單列舉幾個:
方法(1)你可以通過查看 libcrypt[._*]鏈接到/usr/lib下的哪些庫文件來得知你的系統(tǒng)密碼所使用的加密算法。如果鏈接到libcrypt*庫,那么使用的為MD5,如果為libdescrypt*,就應該為DES了。具體操作如下:
Í /usr/lib
%ls -l libcrypt[._]*
lrwxr-xr-x 1 root wheel 11 Jun 9 06:18 /usr/lib/libcrypt.a@ ->
libscrypt.a
lrwxr-xr-x 1 root wheel 12 Jun 9 06:19 /usr/lib/libcrypt.so@ ->
libscrypt.so
lrwxr-xr-x 1 root wheel 14 Jun 9 06:21 /usr/lib/libcrypt.so.2@ ->
libscrypt.so.2
lrwxr-xr-x 1 root wheel 13 Jun 9 06:22 /usr/lib/libcrypt_p.a@ ->
libscrypt_p.a
%
FreeBSD4.4中,從FreeBSD 4.4開始就完全由login.conf來控制所使用的加密算法,并且默認已經(jīng)設置為MD5,要改為DES,只須將其中:password_format段的md5替換成des。任何使修改生效,本文后面有詳細的說明。
附:我們強烈建議用戶盡可能的使用MD5庫而非DES.所以往往也很有必要將一些安裝了DES加密算法的系統(tǒng)的DES庫轉換成MD5庫,操作也很簡單,只須先刪除libcrypt[._*]鏈接,然后將它們重新鏈接到相應到md5庫。(即以s代替des):
Links DES MD5
----- --- ---
libcrypt.a libdescrypt.a libscrypt.a
libcrypt.so libdescrypt.so libscrypt.so
libcrypt.so.2 libdescrypt.so.2 libscrypt.so.2
libcrypt_p.a libdescrypt_p.a libscrypt_p.a
方法(2)查看/etc/login.conf中的password_format段。其值md5,des,blf分別對應MD5,DES和blowfish.
方法(3)查看密碼文件/etc/passwd或者/etc/shadow(BSD 下相應為/etc/master.passwd),根據(jù)密碼特征得知使用的加密算法。例如以$1$開頭的為MD5,以$2$開頭的為 blowfish.DES沒有明顯的特征,但它的密碼段相對較短,且均為字母,沒有$之類的字符,也很容易辨別!
3.密碼文件
3.1概述:
正如大家所熟悉的,Unix下都存在一個/etc/passwd文件以存放用戶的密碼文件,但是在不同的Unix,Linux,BSD 中它們所起的作用也不盡相同。某些Unix和Linux還使用shadow文件,但FreeBSD中相應的卻為/etc/master.passwd文件。下面將對這些文件進行詳細說明。
3.2/etc/passwd文件
傳統(tǒng)的Unix中均使用該文件來存放用戶密碼。該文件以加密的方式保存口令,其中的口令必須通過passwd口令來生成(如果使用NIS,相應的為ypasswd),或者從另一賬號中復制過來。
P a s s w d文件中的每個條目看起來如下:
n a m e : c o d e d - p a s s w d : U I D : G I D : u s e r - i n f o : h o m e - d i r e c t o r y : s h e l l
7個域中的每一個由冒號隔開?崭袷遣辉试S的,除非在u s e r- i n f o域中使用。下面總結了
每個域的含義:
、賜ame—給用戶分配的用戶名,這不是私有信息。
、 c o d e d - p a s s w d—經(jīng)過加密的用戶口令。如果一個系統(tǒng)管理員需要阻止一個用戶登錄,則經(jīng)常用一個星號( : * :)代替。該域通常不手工編輯。用戶應該使用p a s s w d命令修改他們的口令。值得注意的一點是許多最近的U N I X 產(chǎn)品依賴“影子口令” — 不在/ e t c / p a s s w d中保存的口令。
③ UID—用戶的唯一標識號。習慣上,小于1 0 0的U I D是為系統(tǒng)帳號保留的。
、 G I D—用戶所屬的基本分組。通常它將決定用戶創(chuàng)建文件的分組擁有權。在Red Hat L i n u x中,每個用戶帳號被缺省賦予一個唯一分組。
⑤ u s e r- i n f o—習慣上它包括用戶的全名。郵件系統(tǒng)和f i n g e r這樣的工具習慣使用該域中的信息。該域也被稱作G E C O S域。
、 home-directory—該域指明用戶的起始目錄,它是用戶登錄進入后的初始工作目錄。
⑦ s h e l l—該域指明用戶登錄進入后執(zhí)行的命令解釋器所在的路徑。有好幾種流行的S h e l l,包括Bourne Shell (/bin/sh),C Shell (/bin/csh),Korn Shell (/bin/ksh)和Bash Shell( / b i n / b a s h )。注意可以為用戶在該域中賦一個/ b i n / f a l s e值,這將阻止用戶登錄。
2015年全國職稱計算機考試教材(2007模 .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 | |
全國職稱計算機考試速成過關系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |