ユーザー名を変更しようとしています。端末を開いて正しく覚えたら、
sudo /etc/shadow
変更されて
sudo /etc/passwd
いないことを確認して一時ユーザーを作成し、ログインしてコマンドを使用しました。
sudo usermod -l newusername -d /home/newusername -m oldusername
もう一度ログインしてみたら何も変わりませんでした。
sudo usermod -l newusername oldusername
その後、覚えていないいくつかのタスクをさらに試して、コンピュータを再起動しました。そして一時的なユーザーだけが可能です。ログイン後、元のユーザーのファイルが見つかりますが、アカウントにログインできません。私ができることはありますか?
答え1
すでにユーザーを変更しているため、以下のコマンドの一部は機能しません。したがって、手順を実行して、どれが適切であるかを確認してください。 @doneal24が言ったように、これは単なる推測にすぎません。自分に合ったものを教えてください。
ユーザー名を変更する手順:
変数の定義
new_username=newUSER
old_username=oldUSER
そのIDが既存のユーザーであることを確認してください。
id ${old_username}
ユーザーとホームディレクトリの名前変更
usermod -d /home/${new_username} ${old_username}
usermod -l ${new_username} ${old_username}
グループの変更
groupmod --new-name ${new_username} ${old_username}
メールフォルダと所有者の変更(usermodが変更されていない場合)
mv /var/spool/mail/{${old_username},${new_username}}
chown ${new_username} /var/spool/mail/${new_username}
新しいユーザーのIDを確認してください
id ${new_username}
ホームフォルダの名前変更(usermodが名前を変更していない場合)
mv /home/{${old_username},${new_username}}
名前変更が完了したことを確認
ls -la /home
/ etc / passwdユーザーhomedirを手動で変更します(usermodがそれを変更していない場合)。
grep "${old_username}" /etc/passwd
nano /etc/passwd
SSH公開鍵でユーザーを手動で変更します(デフォルトでは、SSH鍵は作成時に使用したユーザーを保存するため、新しいユーザー名が必要です)。
grep "${old_username}" /home/${new_username}/.ssh/*.pub
nano /home/${new_username}/.ssh/*.pub
visudoでユーザーを手動で変更する(オプション)
visudo