ユーザーが「破損」する問題が発生しました。これを「破損」と呼びますolduser
。ログイン画面でスタックしてしまい、何を試みても修正できませんでした。
幸運なことにバックアップは取ってありましたが、ファイルはすべて残っているのでバックアップは必要ありませんでした。
ログインする唯一の方法は、新しいユーザーを使用することですnewuser
。しかし、私のエイリアスとマウント場所はすべて、それ (エイリアス) 上にあるolduser
か、それを指します。また、私のssh
は を指しますolduser
。
たとえば、他のパーティションは にあり/media/olduser/
、エイリアスは を指します/home/olduser/Desktop/
。
それで、
olduser
私の質問は、名前をfoo などに変更して、その後に名前を変更できるようにするにはnewuser
どうすればいいかolduser
ということです。
ご興味があれば、私の問題と私が試した解決策のいくつかを以下に示します。
Unityが読み込まれず、ランチャーもダッシュも表示されない
答え1
- リカバリモードでルートシェルを起動する
- ファイルシステムを読み書きモードでマウントする
mount -o remount,rw /
- 作成した新しいユーザーを削除します
/etc/passwd
ファイル内のユーザー名を変更します。- リブート。
変更を元に戻す必要がある場合は、手順1〜2を繰り返します。/etc/passwd
答え2
root にパスワードを与えている場合は、リカバリ モードで再起動しなくてもこれを実行できます。そうでない場合は、sudo passwd root
この手順を開始する前に root にパスワードを与える (例: を使用) か、再起動する必要があります。
Ctrl + Alt + F1 を押して、root としてログインします。または、リカバリ モードで再起動して、root シェルを起動します。
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