一、Centos7/RHEL7
在古城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),古城網(wǎng)站建設(shè)費(fèi)用合理。
entos7/rhel7進(jìn)入單用戶方式和重置密碼方式發(fā)生了較大變化,GRUB由b引導(dǎo)變成了ctrl+x引導(dǎo)。
重置密碼主要有rd.break和init兩種方法。
rd.break方法:
1、啟動(dòng)的時(shí)候,在啟動(dòng)界面,相應(yīng)啟動(dòng)項(xiàng),內(nèi)核名稱上按“e”;
2、進(jìn)入后,找到linux16開(kāi)頭的地方,按“end”鍵到最后,輸入rd.break,按ctrl+x進(jìn)入;
3、進(jìn)去后輸入命令mount,發(fā)現(xiàn)根為/sysroot/,并且不能寫,只有ro=readonly權(quán)限;
4、mount
-o
remount,rw
/sysroot/,重新掛載,之后mount,發(fā)現(xiàn)有了r,w權(quán)限;
5、chroot
/sysroot/
改變根;
(1)echo
redhat|passwd
–stdin
root
修改root密碼為redhat,或者輸入passwd,交互修改;
(2)還有就是先cp一份,然后修改/etc/shadow文件
6、touch
/.autorelabel
這句是為了selinux生效
7、ctrl+d
退出
8、然后reboot
至此,密碼修改完成
init方法:
1.
啟動(dòng)系統(tǒng),并在GRUB2啟動(dòng)屏顯時(shí),按下e鍵進(jìn)入編輯模式。
2.
在linux16/linux/linuxefi所在參數(shù)行尾添加以下內(nèi)容:init=/bin/sh
3.
按Ctrl+x啟動(dòng)到shell。
4.
掛載文件系統(tǒng)為可寫模式:mount
–o
remount,rw
/
5.
運(yùn)行passwd,并按提示修改root密碼。
6.
如何之前系統(tǒng)啟用了selinux,必須運(yùn)行以下命令,否則將無(wú)法正常啟動(dòng)系統(tǒng):touch
/.autorelabel
7.
運(yùn)行命令exec
/sbin/init來(lái)正常啟動(dòng),或者用命令exec
/sbin/reboot重啟
二、較前版本的密碼重置
開(kāi)機(jī)后,點(diǎn)擊“e”進(jìn)入維護(hù)模式,選擇“內(nèi)核選項(xiàng)”,如下圖所示:
再按“e”鍵,進(jìn)入到編輯,在后面輸入1,按回車退出,如下圖:
再按“b”鍵,進(jìn)入到單用戶模式下,如下圖:
進(jìn)入到單用戶模式后,輸入密碼設(shè)置指令:passwd
root,按提示輸入指令,修改后重啟即可,如下圖所示:
openssl是可以加解密,但是你的要求是創(chuàng)建用戶并輸入密碼,據(jù)我所知,linux的passwd命令好象只能用鍵盤交互,沒(méi)法用腳本預(yù)設(shè)的。有個(gè)可用的法是:用useradd命令創(chuàng)建完用戶后,再用腳本修改/etc/shadow(這個(gè)文件是真正存放用戶密碼的地方)里的密碼段,這個(gè)密碼段是用hash算法加密的,好象是sha256還是sha512之類的吧,例如'000000',加密后是$6$7z4nJy/C69Wj$A65GjO61mBtErCbGNxIt1IUumPs/YUmeu1Zb7jElxNU/5TNmIDNx/YY0cA5CBBlgbjKyQlNpyofDL2k0UtKft1/etc/shadow的權(quán)限只有root用戶可以修改,因此這個(gè)腳本要由root來(lái)執(zhí)行。
1. 使用命令 pwgen 來(lái)生成一個(gè)長(zhǎng)度為 10 個(gè)字符的獨(dú)特的隨機(jī)密碼。假如你還沒(méi)有安裝 pwgen,請(qǐng)使用 Apt 或 YUM 等包管理器來(lái)安裝它。
$ pwgen 101
生成一個(gè)獨(dú)特的隨機(jī)密碼
一口氣生成若干組長(zhǎng)度為 50 個(gè)字符的唯一的隨機(jī)密碼!
$ pwgen 50
生成多組隨機(jī)密碼
2. 你還可以使用 makepasswd 來(lái)每次生成一個(gè)給定長(zhǎng)度的獨(dú)特的隨機(jī)密碼。在你把玩 makepasswd 命令之前,請(qǐng)確保你已經(jīng)安裝了它。如若沒(méi)有安裝它,試試使用 Apt 或 YUM 包管理器來(lái)安裝 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ù),可以參考這里 ) 來(lái)加密一個(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 來(lái)加密密碼
現(xiàn)在讓我們來(lái)手動(dòng)定義 “鹽” 的值。每次它將產(chǎn)生相同的結(jié)果。請(qǐng)注意你可以輸入任何你想輸入的值來(lái)作為 “鹽” 的值。
$ mkpasswd tecmint -s tt
帶“鹽”加密密碼
另外, mkpasswd 還是交互式的,假如你在命令中沒(méi)有提供密碼,它將主動(dòng)詢問(wèn)你來(lái)輸入密碼。
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 命令的輸出通過(guò)管道傳遞給了 openssl 命令,使得該輸出通過(guò)加密編碼方式(enc:Encoding with Cipher ) 所加密,這個(gè)過(guò)程中使用了 aes-256-cbc 加密算法,并附帶了密碼 (tecmint) 和 “鹽” 。
5. 使用 openssl 命令的 -aes-256-cbc 解密選項(xiàng)來(lái)解密上面的字符串。
# echo U2FsdGVkX18Zgoc+dfAdpIK58JbcEYFdJBPMINU91DKPeVVrU2k9oXWsgpvpdO/Z | openssl enc -aes-256-cbc -a -d -salt -pass pass:tecmint
在 Linux 中解密字符串
現(xiàn)在就是這些內(nèi)容了。
該機(jī)搭載的是筆者RedhatLinux7.2操作系統(tǒng),安裝了KDE和GNOME桌面,因?yàn)楫?dāng)你只安裝設(shè)置了超級(jí)用戶root,但root用戶的權(quán)限也僅適用于系統(tǒng)維護(hù)的軟件和安裝,平時(shí)使用應(yīng)該使用普通用戶登錄。因此,需要?jiǎng)?chuàng)建一個(gè)普通用戶。這是很簡(jiǎn)單的,打開(kāi)“菜單→系統(tǒng)→客戶經(jīng)理”,添加一個(gè)用戶不就得了!五月麻煩就來(lái)了:退出后,然后以root身份登錄,輸入密碼??!密碼錯(cuò)誤,無(wú)法進(jìn)入系統(tǒng)。我知道Redhat7.2用戶密碼存放在/ etc / shadow中出現(xiàn),我們應(yīng)該在這兒找到突破口。
我們1,插入安裝光盤,重新啟動(dòng)機(jī)器,迅速按下啟動(dòng)過(guò)程中的Del鍵,進(jìn)入CMOS,將啟動(dòng)順序改為光盤先啟動(dòng),這樣啟動(dòng)Linux安裝程序,按F5,按提示進(jìn)入Linuxrescue進(jìn)入救援模式,然后選擇語(yǔ)言和鍵盤,直接回車即可,程序會(huì)提示Linux系統(tǒng)已經(jīng)安裝在/ mnt / sysimage下的硬盤上,然后出現(xiàn)了超級(jí)用戶提示符#。 - 第2,進(jìn)入硬盤等目錄:cd到/ mnt / sysimage下的/ etc,做到以防不測(cè)第一次備份:
cpshadowshadow.oldshadow文件的屬性為可寫的:chmod + wshadow然后VI:找到含root用戶信息的行:根:......:,前兩個(gè)冒號(hào)之間就是加密的密碼,刪除它(冒號(hào)不能刪),存盤退出。因此,root密碼為空。
不使用vi的用戶可以采取如下方法:找一張DOS盤插入軟盤驅(qū)動(dòng)器,卷影復(fù)制到DOS盤:mcopyshadowa:/然后在Windows下用它來(lái)附件的筆記本,請(qǐng)注意打開(kāi)文件類型一定要選所有文件(*。*),保存并退出。最后,拷貝回去:
mcopya:/ shadowmnt / sysimage下的/ etc
頁(yè)3,暗屬性的回只讀命令:chmod-wshadow,最后輸入Exit(退出)退出,取出光盤。
4,為了安全起見(jiàn),重啟后應(yīng)該給在終端窗口中根加密碼。