我有一個“損壞”我的用戶的問題,我們稱之為olduser
。我被困在登入畫面中,我嘗試過的任何方法都無法修復它。
幸運的是我有備份,但我不需要它們,因為檔案仍然在那裡。
登入的唯一方法是透過新用戶newuser
。但我所有的別名和安裝位置都在olduser
或指向它(別名)。還有我的ssh
觀點olduser
。
例如,我的其他分區位於/media/olduser/
,別名指向/home/olduser/Desktop/
。
所以,
我的問題是:如何重新命名olduser
為 foo 或其他名稱,以便我可以重新命名newuser
為olduser
?
如果您好奇,這是我的問題和我嘗試過的一些解決方案:
答案1
- 在復原模式下啟動至 root shell
- 以讀寫模式掛載檔案系統
mount -o remount,rw /
- 刪除您建立的新用戶
- 更改文件中的使用者名稱
/etc/passwd
。 - 重啟。
如果需要撤銷更改,請重複步驟 1-2/etc/passwd
答案2
如果您已為 root 提供了密碼,則無需重新啟動至復原模式即可執行此操作。否則,您必須sudo passwd root
在開始此程序或重新啟動之前為 root 提供密碼(例如使用 )。
按 Ctrl-Alt-F1 並以 root 身分登入。或重新啟動到復原模式並啟動 root shell。
使用
vipw
和分別vipw -s
更改您的用戶名。例如,將兩個文件更改為,然後更改為./etc/passwd
/etc/shadow
olduser
foouser
newuser
olduser
- 請記住更改使用者的主目錄欄位。
對和文件執行相同的
vigr
操作。vigr -s
/etc/groups
/etc/gshadow
cd 到所有使用者主目錄所在的目錄。這幾乎是肯定的
/home
。mv olduser/ foouser
mv newuser/ olduser
更改 中所有文件的所有權和群組
olduser/
。chown -R olduser olduser/
chgrp -R olduser olduser/
更改所有文件的所有權和群組
foouser/
chown -R foouser foouser/
chgrp -R foouser foouser/
如果您必須重新啟動到恢復模式,請再次重新啟動,然後以
olduser
.否則,只需按 Ctrl-Alt-F7(或與 GUI 登入畫面對應的任何 Fn 鍵)並登入olduser