ubuntu無法修改ROOT密碼的問題解決

2021-09-03 05:06:29 字數 3550 閱讀 2989

ubuntu版本14.04.3忘記了root使用者的密碼,然後重啟進入單使用者後,修改密碼提示authentication token manipulation error錯誤,造成修改密碼不成功。那麼如何解決這個問題呢?

錯誤截圖:

一、版本檢視

命令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。

c:即compresse,設定檔案是否經壓縮後再儲存。讀取時需要經過自動解壓操作。

d:即no dump,設定檔案不能成為dump程式的備份目標。

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

mysql忘記root密碼,修改root密碼

修改root密碼的方法 方法一 使用mysqladmin命令 a.沒有設定過密碼 mysql home bin mysqladmin u root password newpass b.設定過初始密碼 mysql home bin mysqladmin u root password oldpass...

修改openstack映象 支援root密碼登陸

使用openstack映象我們發現,無論是ubuntu,centos還是redhat官網提供的openstack映象都是只支援key登陸的,如果你的需求是建立使用root密碼登陸vm,那麼我們可以通過對映象進行修改,使其支援root密碼登陸。我使用guestfish修改映象,對cloud init的...

ubuntu修改root密碼

安裝完ubuntu之後,除了需要新建使用者 設定密碼之外,我們還要設定root密碼,雖然ubuntu預設有root超級管理員賬戶,但是具體的密碼我們可以自行設定 在 sudo password for landry 後輸入當前使用者的密碼 輸入需要設定的root超級管理員賬戶密碼enter new ...