いくつかの時間前に、私はUbuntuをインストールしたとき、私はもう使用したくない私のアカウントのためにかなり愚かなユーザー名を選択しました。
アプリケーションの設定を失うことなく、これを変更するにはどうすればよいですか(私のホームディレクトリの名前、および端末の名前を含む)?
さまざまな認証(電子メール、SSH、GPGなど)の権限とキーを保持するにはどうすればよいですか?
ユーザー名を変更した場合、どのような設定が失われる可能性がありますか?
いくつかの時間前に、私は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). これを回避するには:
古い資格情報でログインし、新しいユーザーを追加します。TTY1の"temporary"など:
sudo adduser temporary
パスワードを設定します。
ユーザーをsudoグループに追加して、一時ユーザーにsudoの実行を許可します:
sudo adduser temporary sudo
exit
.exit
(ログインプロンプトが表示されるまで)一時ユーザーとフォルダの削除:
sudo deluser temporarysudo rm -r /home/temporary
それをすべて一緒に置くために:
セッションからログアウトするか、コンピュータを再起動してスタート画面に戻ります。
スタート画面でコンソールモードttyに移動します。 プレス Ctrl+Alt+F1 (いくつかのUbuntuのリビジョンでは、これは Ctrl+Alt+F2 代わりに)
ユーザー名とパスワードを使用してログインします。
"Root"アカウントのパスワードを設定します。
sudo passwd root
ログアウトします。
exit
"Root"アカウントと以前に設定したパスワードを使用してログインします。
ユーザー名とホームフォルダーを、必要な新しい名前に変更します。
usermod -l <newname> -d /home/<newname> -m <oldname>
グループ名を必要な新しい名前に変更します。
groupmod -n <newgroup> <oldgroup>
&Quot;root"アカウントをロックします。
passwd -l root
Ecryptfs(暗号化されたホームディレクトリ)を使用していた場合。 を使用して暗号化されたディレクトリをマウントする ecryptfs-recover-private
と編集 <mountpoint>/.ecryptfs/Private.mnt
新しいホームディレクトリを反映します。
ログアウトします。
exit
プレス 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で:
受信時 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によってここに記載されている答えは完全に正常に動作しますが、ここで私はちょうど安全であり、すべての不具合を避けるために何をす:
すべての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をクリックします。 私は、これがユーザー名を変更する最も簡単な方法だろうと思いますか?