UbuntuまたはLinuxでユーザー名を変更する正しい方法

UbuntuまたはLinuxでユーザー名を変更する正しい方法

いくつかのカスタマイズを含むUbuntu 12.04を使用しています。また、これをカスタムUbuntuの新しいISOにします。

私が尋ねたいのは、ユーザー名を変更する方法です。現在、ホームフォルダには多くの設定があります。したがって、ユーザー名を変更して問題を引き起こしたくありません。

それでは、これを行うためのベストプラクティスやワークフローはありますか?

答え1

これ本物正しい方法は何ですか?ユーザー「peter」を「paul」に変更するとします。

groupadd paul
usermod -d /home/paul -m -g paul -l paul peter

これにより、そのディレクトリとすべてのファイルの名前、グループ、ホームディレクトリ、および所有権とグループが新しいディレクトリに変更されます。元の「ポール」で作成したユーザーと区別できないユーザーが作成されます。

別の方法は、ファイル内のPeterエントリの最初のフィールドを/etc/passwd編集することです。/etc/shadowその後、「peter」を「paul」に変更します/etc/group。次に、ホームディレクトリの名前をからに変更します/home/peter/home/paul次に、chown -R paul /home/paulディレクトリとその下のすべてのファイルとディレクトリの所有権とグループ化関係を取得し、新しいファイルとディレクトリを取得します。

答え2

ユーザー名を変更しないことをお勧めします。ユーザー名が設定ファイルからユーザーのホームディレクトリとして静的に参照されている場合、問題が頻繁に発生します/home/<username>。これは一般的な方法で書かれていることがほとんどないため、通常は新しいユーザー名を作成してから、ユーザーのファイルとデータを新しいアカウントに移行するのが最善です。

答え3

usermodを使用して変更ユーザー名そしてメインディレクトリ。ユーザー peter を paul に変更します。

usermod -l paul peter
grep paul /etc/passwd /etc/shadow       # check

ホームディレクトリを変更し、すべてのエントリをそこに移動します(必要に応じて作成)。

usermod -m -d /home/paul paul
grep paul /etc/passwd               # check

変化チーム名ただし、usermodを使用しないでください。まず、別のグループ(GID 1001など)を作成し、$ HOMEディレクトリ内のすべてのエントリのGIDを更新しても、別の場所を検索し、次を使用してファイルとディレクトリを変更する必要があります。以前のグループの所有権。代わりにグループ名を手動で変更してください。

nano /etc/group

そして変化

peter:x:1000:

到着

paul:x:1000:

使用されているcron、at、およびファイル名を変更する必要があります。その他のサービスUIDの代わりにユーザー名を使用してください。使用

find /var -name "*peter*"

このファイルを見つけるには。

あなたも変えなければなりません。構成ファイルメール処理アプリケーションなどの一部のサービスで使用されます。

ついに、スクリプト「/home/peter/」を使用するには編集が必要です。 「/home/peter/」エントリを「$HOME」に変更します。

ユーザーIDを変更するには多くの作業が必要なく、徹底的に行う必要があります。

答え4

変更できます。ユーザー名をどのように変更しますか?AskUbuntuから。この指示は私にとって大きな助けになりました。設定を維持するには、この質問への回答で説明されているように、以前のホームディレクトリへのシンボリックリンクを作成するだけです。

関連情報