在Linux下生成crypt加密密碼_Linux教程
當(dāng)我們用紅帽Kickstart腳本或useradd或其他方式寫(xiě)東西的時(shí)候,經(jīng)常會(huì)需要用到crypt命令加密生成的密碼格式。那么,有沒(méi)有其他方式可以生成這種格式的密碼?事實(shí)上,方法有很多。
我們可以用mkpasswd命令:這個(gè)命令就是用來(lái)生成crypt格式的密碼的:
mkpasswd
輸入命令后,程序會(huì)要求輸入一個(gè)密碼,然后生成crypt格式的字符串。
如果用Apache Web服務(wù)器,那么也可以用htpasswd:
htpasswd -nd user
用戶名(user)叫什么都無(wú)所謂,我們關(guān)注的是密碼。這個(gè)命令會(huì)輸出一個(gè)user:password格式的字符串,直接把password字段復(fù)制下來(lái)就ok了。
有OpenSSL的話,可以使用openssl命令:
openssl passwd -crypt myPassword
把上面命令中的myPassword用你想用的密碼字符串代替。
其他還有一些需要把命令在命令行中直接輸入的方式,不過(guò)這種做法有個(gè)問(wèn)題,就是在ps命令中可以看到密碼,同時(shí)密碼也會(huì)被記錄入shell歷史。
不過(guò)這個(gè)問(wèn)題是有解決辦法的:用腳本,或者語(yǔ)言解釋器。
比如使用Perl:
perl -e "print crypt('password','sa');"
Perl需要一個(gè)加密鹽,如這里使用了sa(salt指加密中用到的隨機(jī)字符串,用不同的salt可以生成不同的加密結(jié)果)。
Ruby也一樣需要加密鹽:
ruby -e 'print "password".crypt("JU"); print("\n");'
PHP也可以:
php -r "print(crypt('password','JU') . \"\n\");"
需要注意的是,如果不使用加密鹽(如上面命令中的JU),那么輸出的字符串將不是crypt加密格式,而是MD5加密格式的。所以,加密鹽其實(shí)是必須的參數(shù)。
Python需要導(dǎo)入crypt庫(kù)并使用加密鹽:
python -c 'import crypt; print crypt.crypt("password","Fx")'
這里的加密鹽是Fx。
數(shù)據(jù)庫(kù)也可以生成crypt密碼。比如用MySQL:
echo "select encrypt('password');" | mysql
另外,Tcl,Ubuntu下的trf,還有Lua的lua-crypt插件也可以實(shí)現(xiàn)相同的目的。
歡迎補(bǔ)充其他的方式!
- Linux系統(tǒng)下TOP命令使用與分析詳解
- 安裝Linux我們需要改變20件事情
- 使用Linux系統(tǒng)架設(shè)VSFTP服務(wù)器
- Linux系統(tǒng)上架設(shè)POP3服務(wù)器
- Linux中“Networking Disabled”的解決方法(解決Ubuntu等系統(tǒng)無(wú)法上網(wǎng))
- ubuntu系統(tǒng)清理磁盤教程
- linux下搭建pxe自動(dòng)化安裝環(huán)境
- BIOS不支持導(dǎo)致Linux內(nèi)核耗電增加
- Debian GNU/Linux系統(tǒng)卡片
- Linux操作系統(tǒng)開(kāi)機(jī)自行啟動(dòng)項(xiàng)目詳細(xì)解析
- Linux菜鳥(niǎo)入門級(jí)命令大全
- Linux操作系統(tǒng)中讀取目錄文件信息的過(guò)程
- 相關(guān)鏈接:
- 教程說(shuō)明:
Linux教程-在Linux下生成crypt加密密碼
。