私はUbuntu 12.04を使用しており、いくつかのカスタマイズを行いました。また、ubuntuをカスタマイズした新しいisoにします。
お願いしたいのは、ユーザー名をどのように変更するかです。現在のホームフォルダーには多くの設定があります。だから、ユーザー名の変更を台無しにしたくない。
それを行うためのベストプラクティスやワークフローはありますか?
私はUbuntu 12.04を使用しており、いくつかのカスタマイズを行いました。また、ubuntuをカスタマイズした新しいisoにします。
お願いしたいのは、ユーザー名をどのように変更するかです。現在のホームフォルダーには多くの設定があります。だから、ユーザー名の変更を台無しにしたくない。
それを行うためのベストプラクティスやワークフローはありますか?
回答:
本当に正しい方法?ユーザー「peter」を「paul」に変更するとします。
groupadd paul
usermod -d /home/paul -m -g paul -l paul peter
これにより、名前、グループ、ホームディレクトリ、およびそのディレクトリの所有権とグループが、すべてのファイルとともに新しいディレクトリに変更されます。最初は「paul」として作成されたユーザーと区別できないユーザーになります。
もう1つの方法は、/etc/passwd
と/etc/shadow
ファイル内のピーターのエントリの最初のフィールドを編集することです。次に、「peter」のすべての出現を「paul」に変更し/etc/group
ます。次に、ホームディレクトリの名前をから/home/peter
に変更し/home/paul
ます。そしてchown -R paul /home/peter
、ディレクトリの所有権とグループシップ、およびその下にあるすべてのファイルとディレクトリを取得して、新しいものを取得します。
ユーザーの名前を変更しないでください。これは一般に、ユーザーの名前がユーザーのホームディレクトリの形式で構成ファイルで静的に参照される場合に問題が発生します/home/<username>
。これらは一般的な方法で記述されることはほとんどないため、通常は新しいユーザー名を作成し、ユーザーのファイルとデータを新しいアカウントに移行することをお勧めします。
usermodコマンドを試してください。
exec sudo su
usermod --login newname oldname
変更できます。ユーザー名を変更するにはどうすればよいですか?AskUbuntuで。これらの指示は私にとってはうまくいきました。設定を保存するには、その質問への回答で説明されているように、古いホームディレクトリのシンボリックリンクを作成します。
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
グループ名を変更しますが、最初に別のグループ(GID 1001など)を作成する必要があるため、usermodを使用しないでください。$ HOMEディレクトリ内のすべてのGIDを更新しますが、古いグループの所有権を持つファイルとディレクトリ。代わりに、グループ名を手動で変更するだけです。
nano /etc/group
そして変化
peter:x:1000:
に
paul:x:1000:
UIDの代わりにユーザー名を使用するcron、at、およびその他のサービスで使用されるファイル名を変更する必要があります。つかいます
find /var -name "*peter*"
これらのファイルを見つけます。
また、メール処理アプリケーションなどの一部のサービスで使用される構成ファイルを変更する必要があります。
最後に、「/ home / peter /」を使用するスクリプトを編集する必要があります。「/ home / peter /」の出現箇所を「$ HOME」に変更します。
ユーザーのIDを変更するのはたいした作業ではなく、徹底する必要があります。
usermod
1にコマンドを、あなたも編集に覚えておく必要がある/etc/gshadow
とともに/etc/group
、:GNUで変更することができ、それらの2は、sedのsudo sed -i 's/oldname/newname/g' /etc/{group,gshadow}
にまだ良いですか- sudo groupmod -n newname oldname
。ユーザーのcrontab(もしあれば)の名前を手動で変更しなければならないなど、他の落とし穴を強調するためによくできました。