新聞中心
Linux系統(tǒng)的幾種加密
啟動(dòng)流程:
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),深澤企業(yè)網(wǎng)站建設(shè),深澤品牌網(wǎng)站建設(shè),網(wǎng)站定制,深澤網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,深澤網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
BIOS ——》 MBR(主引導(dǎo)記錄,找到系統(tǒng)在哪個(gè)分區(qū)) ——》 boot loader(grub) ——》kernel(內(nèi)核)——》進(jìn)入啟動(dòng)級(jí)別init
硬盤的最小讀取單位是一個(gè)扇區(qū),一個(gè)扇區(qū)大小是512字節(jié)
查看操作系統(tǒng)的版本:cat /etc/redhat-release
查看內(nèi)核版本:uname -r
查看內(nèi)核信息:uname -a
系統(tǒng)的啟動(dòng)級(jí)別:
init 0:關(guān)機(jī)
init 1:?jiǎn)斡脩裟J?,只能root用戶登錄的模式,可以直接跳過密碼
init 2:多用戶模式,但是沒有NFS(network filesystem),即無網(wǎng)絡(luò)模式
init 3:完全多用戶模式,也是命令行模式
init 4:安全模式,一般開發(fā)者調(diào)試使用
init 5:圖形模式
init 6:重啟
更改系統(tǒng)啟動(dòng)級(jí)別:
vim /etc/inittab:在最后一行的?id 修改,如下圖
通過單用戶模式跳過用戶密碼登錄:
通過grub界面進(jìn)入內(nèi)核,操作參數(shù),改變啟動(dòng)級(jí)別,進(jìn)入單用戶模式
在系統(tǒng)讀秒時(shí),按任意鍵進(jìn)入grub界面,然后按 e 進(jìn)入kernel
選擇kernel,按 e 進(jìn)入
進(jìn)入之后,按 空格 進(jìn)入啟動(dòng)級(jí)別設(shè)置
輸入啟動(dòng)級(jí)別為 1 ,再按 enter 返回內(nèi)核,再按 b 進(jìn)入單用戶模式
grub加密:?
首先設(shè)置grub密碼:?
grub-md5-crypt
passwd:123456?
這里會(huì)得到一串加密字符串?
然后編輯grub的配置文件:
vim /etc/grub.conf
grub的配置文件內(nèi)容:
default=0:代表默認(rèn)使用第一個(gè)內(nèi)核
timeout=5:代表進(jìn)入系統(tǒng)時(shí)的讀秒時(shí)間,這里是5秒
hiddenmenu:隱藏它下面的內(nèi)容
password --md5:添加得到的grub密碼的加密字符串
title:內(nèi)核信息
將加密的字符串添加好之后,再通過grub進(jìn)入kernel時(shí)就需要輸入密碼
如果grub被加密了,可以進(jìn)入BIOS,通過外接光盤進(jìn)入救援安裝模式,然后進(jìn)入到系統(tǒng)中,
再 vi?/mnt/sysimage/etc/grub.conf,編輯配置文件,刪除grub加密,就可以再用單用戶模式跳過用戶密碼登陸
轉(zhuǎn)自 嘉為教育-rhce認(rèn)證_rhce培訓(xùn)_linux培訓(xùn)_linux認(rèn)證_linux考證
在Linux下生成crypt加密密碼的方法
我們可以用mkpasswd命令:這個(gè)命令就是用來生成crypt格式的密碼的:
mkpasswd
輸入命令后,程序會(huì)要求輸入一個(gè)密碼,然后生成crypt格式的字符串。
如果用Apache
Web服務(wù)器,那么也可以用htpasswd:
htpasswd
-nd
user
用戶名(user)叫什么都無所謂,我們關(guān)注的是密碼。這個(gè)命令會(huì)輸出一個(gè)user:password格式的字符串,直接把password字段復(fù)制下來就ok了。
有OpenSSL的話,可以使用openssl命令:
openssl
passwd
-crypt
myPassword
把上面命令中的myPassword用你想用的密碼字符串代替。
其他還有一些需要把命令在命令行中直接輸入的方式,不過這種做法有個(gè)問題,就是在ps命令中可以看到密碼,同時(shí)密碼也會(huì)被記錄入shell歷史。
不過這個(gè)問題是有解決辦法的:用腳本,或者語言解釋器。
比如使用Perl:
perl
-e
crypt('password','sa');"
Perl需要一個(gè)加密鹽,如這里使用了sa(salt指加密中用到的隨機(jī)字符串,用不同的salt可以生成不同的加密結(jié)果)。
Ruby也一樣需要加密鹽:
ruby
-e
"password".crypt("JU");
print("n");'
PHP也可以:
php
-r
"print(crypt('password','JU')
.
"n");"
需要注意的是,如果不使用加密鹽(如上面命令中的JU),那么輸出的字符串將不是crypt加密格式,而是MD5加密格式的。所以,加密鹽其實(shí)是必須的參數(shù)。
Python需要導(dǎo)入crypt庫并使用加密鹽:
python
-c
'import
crypt;
crypt.crypt("password","Fx")'
這里的加密鹽是Fx。
數(shù)據(jù)庫也可以生成crypt密碼。比如用MySQL:
echo
"select
encrypt('password');"
|
mysql
另外,Tcl,Ubuntu下的trf,還有Lua的lua-crypt插件也可以實(shí)現(xiàn)相同的目的。
歡迎補(bǔ)充其他的方式!
linux系統(tǒng)中存放加密用戶密碼信息的是哪個(gè)文件?
用戶可以在終端通過cat命令查看:cat /etc/shadow
NIX/Linux的密碼文件原來采bai用/etc/passwd,共有7個(gè)字段。用戶的密碼加密后放在每一行的第二個(gè)字段里,這個(gè) /etc/passwd文件在一般情況下是所有用戶可讀,只有root用戶可寫的,這樣不良用戶就可能讀取加密后的密碼字串來取得密碼。
因?yàn)檫@個(gè)安全原因,設(shè)置一個(gè)/etc/shadow文件專門用于保存密碼且它的權(quán)限一般是root可讀,沒有其他權(quán)限。加密后的密碼文件就不能被普通用戶讀取。做法是把/etc/passwd對(duì)應(yīng)的密碼字段用*號(hào)表示,在/etc/shadow里對(duì)應(yīng)的一行,有用戶名和真正的密碼加密字串,其他的字段一般留空。
擴(kuò)展資料:
在Linux中普通文件和目錄文件保存在稱為塊物理設(shè)備的磁盤或者磁帶上。一套Linux系統(tǒng)支持若干物理盤,每個(gè)物理盤可定義一個(gè)或者多個(gè)文件系統(tǒng)。(類比于微機(jī)磁盤分區(qū))。每個(gè)文件系統(tǒng)由邏輯塊的序列組成,一個(gè)邏輯盤空間一般劃分為幾個(gè)用途各不相同的部分,即引導(dǎo)塊、超級(jí)塊、inode區(qū)以及數(shù)據(jù)區(qū)等。
參考資料來源:百度百科-Linux文件系統(tǒng)
Linux修改用戶密碼的命令是什么?
命令:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]。
名稱:passwd。
使用權(quán)限:所有使用者。
說明:用來更改使用者的密碼。
Linux是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運(yùn)行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
如何在Linux中產(chǎn)生,加密或解密隨機(jī)密碼
1. 使用命令 pwgen 來生成一個(gè)長(zhǎng)度為 10 個(gè)字符的獨(dú)特的隨機(jī)密碼。假如你還沒有安裝 pwgen,請(qǐng)使用 Apt 或 YUM 等包管理器來安裝它。
$ pwgen 101
生成一個(gè)獨(dú)特的隨機(jī)密碼
一口氣生成若干組長(zhǎng)度為 50 個(gè)字符的唯一的隨機(jī)密碼!
$ pwgen 50
生成多組隨機(jī)密碼
2. 你還可以使用 makepasswd 來每次生成一個(gè)給定長(zhǎng)度的獨(dú)特的隨機(jī)密碼。在你把玩 makepasswd 命令之前,請(qǐng)確保你已經(jīng)安裝了它。如若沒有安裝它,試試使用 Apt 或 YUM 包管理器來安裝 makepasswd這個(gè)軟件包。
生成一個(gè)長(zhǎng)度為 10 個(gè)字符的隨機(jī)密碼。該命令產(chǎn)生的密碼的長(zhǎng)度默認(rèn)為 10。
$ makepasswd
使用 makepasswd 生成獨(dú)特的密碼
生成一個(gè)長(zhǎng)度為 50 個(gè)字符的隨機(jī)密碼。
$ makepasswd --char50
生成長(zhǎng)度為 50 的密碼
生成 7 個(gè)長(zhǎng)度為 20 個(gè)字符的隨機(jī)密碼。
$ makepasswd --char20--count 7
3. 使用帶“鹽”的 Crypt(注:這里應(yīng)該指的是一個(gè)函數(shù),可以參考這里 ) 來加密一個(gè)密碼。提供手動(dòng)或自動(dòng)添加 “鹽”。
對(duì)于那些不清楚 鹽 的意義的人,這里的 “鹽” 指的是一個(gè)隨機(jī)數(shù)據(jù),它作為密碼生成函數(shù)的一個(gè)額外的輸入, 目的是保護(hù)密碼免受詞典攻擊。
在執(zhí)行下面的操作前,請(qǐng)確保你已經(jīng)安裝了 mkpasswd。
下面的命令將帶 “鹽” 加密一個(gè)密碼?!胞}” 的值是隨機(jī)自動(dòng)生成的。所以每次你運(yùn)行下面的命令時(shí),都將產(chǎn)生不同的輸出,因?yàn)樗看谓邮芰穗S機(jī)取值的 “鹽”。
$ mkpasswd tecmint
使用 Crypt 來加密密碼
現(xiàn)在讓我們來手動(dòng)定義 “鹽” 的值。每次它將產(chǎn)生相同的結(jié)果。請(qǐng)注意你可以輸入任何你想輸入的值來作為 “鹽” 的值。
$ mkpasswd tecmint -s tt
帶“鹽”加密密碼
另外, mkpasswd 還是交互式的,假如你在命令中沒有提供密碼,它將主動(dòng)詢問你來輸入密碼。
4. 使用 aes-256-cbc 加密算法并使用帶“鹽”的密碼(如 “tecmint”) 加密一個(gè)字符串(如 “Tecmint-is-a-Linux-Community”)。
# echo Tecmint-is-a-Linux-Community | openssl enc -aes-256-cbc -a -salt -pass pass:tecmint
在 Linux 中加密一個(gè)字符串
在上面例子中, echo 命令的輸出通過管道傳遞給了 openssl 命令,使得該輸出通過加密編碼方式(enc:Encoding with Cipher ) 所加密,這個(gè)過程中使用了 aes-256-cbc 加密算法,并附帶了密碼 (tecmint) 和 “鹽” 。
5. 使用 openssl 命令的 -aes-256-cbc 解密選項(xiàng)來解密上面的字符串。
# echo U2FsdGVkX18Zgoc+dfAdpIK58JbcEYFdJBPMINU91DKPeVVrU2k9oXWsgpvpdO/Z | openssl enc -aes-256-cbc -a -d -salt -pass pass:tecmint
在 Linux 中解密字符串
現(xiàn)在就是這些內(nèi)容了。
分享標(biāo)題:linux加密密碼的命令 linux創(chuàng)建用戶設(shè)置密碼命令
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/hpipee.html