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

いくつかの時間前に、私はUbuntuをインストールしたとき、私はもう使用したくない私のアカウントのためにかなり愚かなユーザー名を選択しました。

アプリケーションの設定を失うことなく、これを変更するにはどうすればよいですか(私のホームディレクトリの名前、および端末の名前を含む)?
さまざまな認証(電子メール、SSH、GPGなど)の権限とキーを保持するにはどうすればよいですか?
ユーザー名を変更した場合、どのような設定が失われる可能性がありますか?

Unixライクなオペレーティングシステムでは、ユーザー名をユーザー idから切り離すため、IDに影響を与えずに名前を安全に変更できます。 すべての権限、ファイルなどは、あなたのユーザー名ではなく、あなたのid(uid)に関連付けられています。

ユーザーデータベースのすべての側面を管理するには、次の操作を使用します。 usermod ツール。

ユーザー名を変更するには(おそらくログインせずにこれを行うのが最善です):

sudo usermod -l newUsername oldUsername

ただし、これはホームフォルダの名前を変更しません。

Home-folderを変更するには、次を使用します

sudo usermod -d /home/newHomeDir -m newUsername

ユーザー名を変更した後。

例えば、ログアウトし、コンソールにドロップすることができます(Ctrl+Alt+F1)、および sudo su - (とは対照的に)真のルートになるために sudo -s ここで、HOME HOMEはまだ/home/yournameです。)おそらく、このユーザーからまだ実行中のプロセスを最初に強制終了する必要があります。 これを行うには、次のように入力します ps -u username、一致するPIDを探し、それらを殺します kill PID-number.

更新:arrangeが述べたように、一部のファイルは古いホームディレクトリを参照する可能性があります。 後方互換性のためにシンボリックリンクを保持することができます。 ln -s /home/newname /home/oldname または、ファイルの内容を次のように変更できます sed -i.bak 's/*oldname*/*newname*/g' *list of files* これは、各ファイルのバックアップを作成します。bak拡張子。

私のような経験豊富ではないユーザーのためのいくつかの追加情報:
私は1つのユーザーアカウント(管理者)しか持っていないので、ユーザー名を変更することはできません("you are already logged in"はTTY1()の応答でしたCtrl+Alt+F1). これを回避するには:

  1. 古い資格情報でログインし、新しいユーザーを追加します。TTY1の"temporary"など:

    sudo adduser temporary

    パスワードを設定します。

  2. ユーザーをsudoグループに追加して、一時ユーザーにsudoの実行を許可します:

    sudo adduser temporary sudo
  3. コマンドを使用してログアウトする exit.
  4. Tty1に戻る:"一時的な"ユーザーアカウントとパスワードでログインします。 上記のようにユーザー名とフォルダを変更します。 exit (ログインプロンプトが表示されるまで)
  5. TTY7に戻る(Ctrl+Alt+F7)GUI/通常のデスクトップ画面にログインし、これが動作するかどうかを確認します。
  6. 一時ユーザーとフォルダの削除:

    sudo deluser temporarysudo rm -r /home/temporary

それをすべて一緒に置くために:

  1. セッションからログアウトするか、コンピュータを再起動してスタート画面に戻ります。

  2. スタート画面でコンソールモードttyに移動します。 プレス Ctrl+Alt+F1 (いくつかのUbuntuのリビジョンでは、これは Ctrl+Alt+F2 代わりに)

  3. ユーザー名とパスワードを使用してログインします。

  4. "Root"アカウントのパスワードを設定します。

     sudo passwd root
  5. ログアウトします。

     exit
  6. "Root"アカウントと以前に設定したパスワードを使用してログインします。

  7. ユーザー名とホームフォルダーを、必要な新しい名前に変更します。

     usermod -l <newname> -d /home/<newname> -m <oldname>
  8. グループ名を必要な新しい名前に変更します。

     groupmod -n <newgroup> <oldgroup>
  9. &Quot;root"アカウントをロックします。

     passwd -l root
  10. Ecryptfs(暗号化されたホームディレクトリ)を使用していた場合。 を使用して暗号化されたディレクトリをマウントする ecryptfs-recover-private と編集 <mountpoint>/.ecryptfs/Private.mnt 新しいホームディレクトリを反映します。

  11. ログアウトします。

    exit
  12. プレス Ctrl+Alt+F7 Ubuntuグラフィックスモードのログイン画面に戻るには(いくつかのUbuntuのリビジョンでは、これは Ctrl+Alt+F1).

そして今、あなたはあなたの新しいユーザー名を使用してログインすることができます。

回復モードで再起動し、ルートプロンプトシェルに移動します("Drop to root shell prompt")

最初にルートを再マウントします

mount -o remount,rw /

ユーザー名とホームフォルダ名を変更するには,

usermod -l <newname> -d /home/<newname> -m <oldname>

グループ名の場合,

groupmod -n <newgroup> <oldgroup>

Ubuntu13.10、14.04、16.04で:

  1. "システム設定"アイコンをクリックします。
  2. 「ユーザーアカウント」をクリックします。
  3. 管理者アカウントが表示されます。
  4. "ロック解除"ボタンをクリックします。
  5. アカウントの変更を許可するには、要求に応じてユーザーパスワードを入力します。
  6. ロックが解除されたら、変更したい古いユーザー名をクリックして、新しいユーザー名を入力して置き換えることができます。
  7. 新しい名前を入力したら、"ロック"ボタンをクリックして変更を永続的にします。
  8. Ubuntuを再起動します。

受信時 usermod: can't change /etc/password 次のコマンドを実行するだけです:

ルート回復コンソールで実行します:

mount -o remount,rw /

その後、再実行します:

usermod -l <newname> -d /home/<newname> -m <oldname>

あなたがするとき usermod -l <newname> -d /home/<newname> -m <oldname> あなたは得るでしょう useradd: can't change /etc/passwd これを回避するには、エラーメッセージを追加するだけです sudo -- 上記のようなコマンドに

sudo -- usermod -l <newname> -d /home/<newname> -m <oldname>

sudo --  groupmod -n <newgroup> <oldgroup>

@Karthick87によってここに記載されている答えは完全に正常に動作しますが、ここで私はちょうど安全であり、すべての不具合を避けるために何をす:

  1. 別のアカウント/ユーザーを作成し、このアカウント/ユーザーのroot機能を確認するか、root可能なユーザーとしてログインします。
  2. 現在のアカウントでログアウトし、手順1で説明したアカウントでログインします。
  3. 前のユーザーのすべてのプロセスを強制終了します。
  4. 今、@karthick87によって言及された手順に従って、ユーザー名とホームディレクトリの所有者を変更します。
  5. 次に、@Sriraj Hebbarの答えに従ってグループ名を変更します。
  6. 予備のユーザーとログアウトし、ユーザーとログインします。 追加のユーザーを作成した場合は、それを削除します。

すべてのlinucesではないので(ただし Ubuntu それを持っている必要があります)持っている usermod アプリは、あなたが手動でそれを行うことができる方法があります。 ルートオープンの時点で /etc/passwd で編集するには vim またはシステム内に存在する他のエディタ:

sudo vim /etc/passwd

行頭のユーザー名を変更します:

user:x:500:501:username:home/user:/bin/bash

に:

newuser:x:500:501:username:home/user:/bin/bash

その後、あなたがrootで働いていた場合はログインするだけで、あなたがログインしている場合は ユーザー、ログオフ、および再ログイン。

もちろん、あなたは修正する必要があります /etc/shadow、および /etc/グループ また、システムに正常に動作します。 @JohanBouléへのThanx

メモ:あなたは、システムを壊さないように、慎重にこのアプローチを使用する必要があります。

メモ:このアプローチは、Ubuntuのためだけでなく、一般的ですが、ubuntuのためにそれが動作しますが、google検索は、組み込みlinuxのために、例えば、非ubuntuの検索のためのイベン

/Usr/share/applications/usersに移動できないのはなぜですか。デスクトップ>>名前を変更する必要があるユーザーをクリックします。 >>ユーザー名の変更をクリック>>名前の変更>>Okをクリックします。 私は、これがユーザー名を変更する最も簡単な方法だろうと思いますか?