如何將一個用戶名更改為另一個用戶名?

如何將一個用戶名更改為另一個用戶名?

我有一個“損壞”我的用戶的問題,我們稱之為olduser。我被困在登入畫面中,我嘗試過的任何方法都無法修復它。

幸運的是我有備份,但我不需要它們,因為檔案仍然在那裡。

登入的唯一方法是透過新用戶newuser。但我所有的別名和安裝位置都在olduser或指向它(別名)。還有我的ssh觀點olduser

例如,我的其他分區位於/media/olduser/,別名指向/home/olduser/Desktop/

所以,

我的問題是:如何重新命名olduser為 foo 或其他名稱,以便我可以重新命名newuserolduser


如果您好奇,這是我的問題和我嘗試過的一些解決方案:

Unity 無法加載,沒有啟動器,沒有出現 Dash

當 Ubuntu 14.10 登入後似乎無法修復卡住時該怎麼辦?

Unity 無法加載,沒有啟動器,沒有出現 Dash

答案1

  1. 在復原模式下啟動至 root shell
  2. 以讀寫模式掛載檔案系統mount -o remount,rw /
  3. 刪除您建立的新用戶
  4. 更改文件中的使用者名稱/etc/passwd
  5. 重啟。

如果需要撤銷更改,請重複步驟 1-2/etc/passwd

答案2

如果您已為 root 提供了密碼,則無需重新啟動至復原模式即可執行此操作。否則,您必須sudo passwd root在開始此程序或重新啟動之前為 root 提供密碼(例如使用 )。

  1. 按 Ctrl-Alt-F1 並以 root 身分登入。或重新啟動到復原模式並啟動 root shell。

  2. 使用vipw和分別vipw -s更改您的用戶名。例如,將兩個文件更改為,然後更改為./etc/passwd/etc/shadowolduserfoousernewuserolduser

    • 請記住更改使用者的主目錄欄位。
  3. 對和文件執行相同的vigr操作。vigr -s/etc/groups/etc/gshadow

  4. cd 到所有使用者主目錄所在的目錄。這幾乎是肯定的/home

  5. mv olduser/ foouser

  6. mv newuser/ olduser
  7. 更改 中所有文件的所有權和群組olduser/

    chown -R olduser olduser/

    chgrp -R olduser olduser/

  8. 更改所有文件的所有權和群組foouser/

    chown -R foouser foouser/

    chgrp -R foouser foouser/

  9. 如果您必須重新啟動到恢復模式,請再次重新啟動,然後以olduser.否則,只需按 Ctrl-Alt-F7(或與 GUI 登入畫面對應的任何 Fn 鍵)並登入olduser

相關內容