解決策 1:
Linux では、usermod
コマンドはユーザー名を変更します。コマンド ラインで指定された変更を反映するように、システム アカウント ファイルを変更します。
ユーザー名だけを変更するには:
usermod --login new_username old_username
ユーザー名とホーム ディレクトリ名を変更するには:
usermod --login new_username --move-home --home path_to_the_new_home_dir old_username
ユーザーに関連付けられているグループの名前を変更することもできます:
groupmod --new-name new_username old_username
解決策 2:
注: ディレクトリが暗号化されている場合は、これを試さないでください。これがあなたのケースである場合は、最初に確認することをお勧めします:https://askubuntu.com/questions/107410/can-you-unencrypt-remove-encryption-from-a-user-home-folder
これを行う簡単な方法は次のとおりです:
<オール>sudo 権限を持つ新しい一時アカウントを作成します:
sudo adduser temp
sudo adduser temp sudo
現在のアカウントからログアウトし、一時アカウントで再度ログインしてください。
ユーザー名とディレクトリの名前を変更します:
sudo usermod -l new-username -m -d /home/new-username old-username
ユーザー名のデフォルトのグループの名前を変更します:
sudo groupmod -n new-username old-username
temp アカウントからログアウトし、new-username でアカウントに再度ログインします。
一時アカウントを削除:
sudo userdel -r temp
それ以外の場合は、(1) 新しいユーザーを作成し、(2) rsync
するだけです。 古いユーザーのホーム フォルダを新しいフォルダに移動し、(3) chown
解決策 3:
通常、/etc/passwd
でユーザー名を変更することにより、ユーザーの名前を変更できます。 (そして /etc/shadow
、該当する場合) ファイル。ほとんどの UNIX システムでは、vipw
コマンドは、これらのファイルを編集するために使用されます (多くのシステムには、ひどく混乱しないようにするためのいくつかのセーフガードが含まれています)。
passwd(5)
の man ページを参照してください 、 shadow(5)
、および vipw(8)
詳細については、
上記の方法は、元のユーザー名を持つ可能性のある他のものの名前を変更しないことに注意してください (ホームディレクトリが代表的な例であり、ユーザーごとの個人グループ (それらを使用するシステム上) は別です)。 passwd ファイルの適切なフィールドを変更し、ディレクトリの名前を変更して、一貫性を保つためにこれらもクリーンアップすることをお勧めします。
一部のオペレーティング システムでは、ユーザーの名前を変更するシステム固有の方法が提供されています。たとえば、多くの Linux システムには usermod(8)
が含まれています。 コマンド、および AIX では、SMIT (または smitty
を使用してアカウント名を変更できます) 端末で)。
これらのコマンドは、必要に応じて、ホーム ディレクトリの名前変更などのクリーンアップ アイテムを処理します。