ユーザー名を変更しようとしましたが、ユーザーはログインオプションにありません。

ユーザー名を変更しようとしましたが、ユーザーはログインオプションにありません。

ユーザー名を変更しようとしています。端末を開いて正しく覚えたら、 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

おすすめ記事