您好,登錄后才能下訂單哦!
ubuntu中無法修改ROOT密碼如何解決,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
一、版本查看
命令cat /etc/issue
二、進入單用戶模式
按CTRL+ALT+DEL重啟系統,然后按任意鍵停住grub:
選擇 Advanced options for Ubuntu
再選擇:recovery mode
按e進入編輯狀態。
將linux開頭那行的末尾"ro "改為 “rw single quiet splash init=/bin/bash”或 “rw single init=/bin/bash”
(注意:ro 是只讀模式,rw是讀寫模式。)
然后按CTRL+X或F10進入單用戶模式。
注:如果這個地方沒改RO為RW,則可以進入單用戶后#mount -rw -o remount / (mount -no remount,rw / mount -a),否則文件系統此時處于只讀模式下,/etc/passwd和/etc/shadow不能被修改
三、修改密碼
首先查看權限有沒有異常
# ll /etc/passwd
-rwxr–r– 1 root root 2752 Dec 11 10:29 /etc/passwd
# fuser -u /etc/passwd
# lsof |grep passwd
嘗試再次修改密碼仍然出錯,于是嘗試修改/etc/passwd也出現錯誤
# chmod 777 /etc/passwd
chmod: changing permissions of `/etc/passwd': Operation not permitted
執行chattr
# chattr -i /etc/passwd
# lsattr -v /etc/passwd
2095582053 ————- /etc/passwd
# chattr -i /etc/shadow
# lsattr -v /etc/shadow
然后同步passwd和shadow文件
pwconv
最后成功修改密碼
passwd root
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
補充知識:
PS:有時候你發現用root權限都不能修改某個文件,大部分原因是曾經用chattr命令鎖定該文件了。chattr命令的作用很大,其中一些功能是由Linux內核版本來支持的,不過現在生產絕大部分跑的linux系統都是2.6以上內核了。通過chattr命令修改屬性能夠提高系統的安全性,但是它并不適合所有的目錄。chattr命令不能保護/、/dev、/tmp、/var目錄。lsattr命令是顯示chattr命令設置的文件屬性。
這兩個命令是用來查看和改變文件、目錄屬性的,與chmod這個命令相比,chmod只是改變文件的讀寫、執行權限,更底層的屬性控制是由chattr來改變的。
chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…
最關鍵的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]這些字符組合的,這部分是用來控制文件的屬性。
+ :在原有參數設定基礎上,追加參數。
- :在原有參數設定基礎上,移除參數。
= :更新為指定參數設定。
A:文件或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁盤I/O錯誤的發生。
S:硬盤I/O同步選項,功能類似sync。
a:即append,設定該參數后,只能向文件中添加數據,而不能刪除,多用于服務器日志文件安全,只有root才能設定這個屬性。
c:即compresse,設定文件是否經壓縮后再存儲。讀取時需要經過自動解壓操作。
d:即no dump,設定文件不能成為dump程序的備份目標。
i:設定文件不能被刪除、改名、設定鏈接關系,同時不能寫入或新增內容。i參數對于文件 系統的安全設置有很大幫助。
j:即journal,設定此參數使得當通過mount參數:data=ordered 或者 data=writeback 掛 載的文件系統,文件在寫入時會先被記錄(在journal中)。如果filesystem被設定參數為data=journal,則該參數自動失效。
s:保密性地刪除文件或目錄,即硬盤空間被全部收回。
u:與s相反,當設定為u時,數據內容其實還存在磁盤中,可以用于undeletion。
各參數選項中常用到的是a和i。a選項強制只可添加不可刪除,多用于日志系統的安全設定。而i是更為嚴格的安全設定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE處理能力(標識)的進程能夠施加該選項。
應用舉例:
1、用chattr命令防止系統中某個關鍵文件被修改:
# chattr +i /etc/resolv.conf
然后用mv /etc/resolv.conf等命令操作于該文件,都是得到Operation not permitted 的結果。vim編輯該文件時會提示W10: Warning: Changing a readonly file錯誤。要想修改此文件就
要把i屬性去掉: chattr -i /etc/resolv.conf
# lsattr /etc/resolv.conf
會顯示如下屬性
----i-------- /etc/resolv.conf
2、讓某個文件只能往里面追加數據,但不能刪除,適用于各種日志文件:
# chattr +a /var/log/messages
3、chattr與lsattr
如果以前對系統做安全配置,把/etc/passwd, /etc/shadow 設置為不可修改
那就需要取消之前的修改,如下:
[root@station22 ~]# lsattr /etc/passwd /etc/shadow
----i-------- /etc/passwd
----i-------- /etc/shadow
[root@station22 ~]# chattr -i /etc/passwd
[root@station22 ~]# chattr -i/etc/shadow
[root@station22 ~]# lsattr /etc/passwd /etc/shadow
------------- /etc/passwd
------------- /etc/shadow
再修改root的密碼就可以。
修改完之后,再執行
[root@station22 ~]# chattr +i /etc/passwd
[root@station22 ~]# chattr +i/etc/shadow
看完上述內容,你們掌握ubuntu中無法修改ROOT密碼如何解決的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。