ユーザー名を別のユーザー名に変更するにはどうすればいいですか?

ユーザー名を別のユーザー名に変更するにはどうすればいいですか?

ユーザーが「破損」する問題が発生しました。これを「破損」と呼びますolduser。ログイン画面でスタックしてしまい、何を試みても修正できませんでした。

幸運なことにバックアップは取ってありましたが、ファイルはすべて残っているのでバックアップは必要ありませんでした。

ログインする唯一の方法は、新しいユーザーを使用することですnewuser。しかし、私のエイリアスとマウント場所はすべて、それ (エイリアス) 上にあるolduserか、それを指します。また、私のsshは を指しますolduser

たとえば、他のパーティションは にあり/media/olduser/、エイリアスは を指します/home/olduser/Desktop/

それで、

olduser私の質問は、名前をfoo などに変更して、その後に名前を変更できるようにするにはnewuserどうすればいいかolduserということです。


ご興味があれば、私の問題と私が試した解決策のいくつかを以下に示します。

Unityが読み込まれず、ランチャーもダッシュも表示されない

ログイン後に Ubuntu 14.10 が停止し、何も解決しない場合はどうすればよいでしょうか?

Unityが読み込まれず、ランチャーもダッシュも表示されない

答え1

  1. リカバリモードでルートシェルを起動する
  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 シェルを起動します。

  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

関連情報