一意でないIDを持つユーザーを削除する

一意でないIDを持つユーザーを削除する

一意でないIDを持つユーザーを作成し、コマンド-o -u 1000 -mにオプションを渡しました。useraddIDは同じですが、名前とホームディレクトリが異なる2人のユーザーがいます。
私はこれが(テスト目的で)新しいクリーンな環境を作成し、いくつかの開発ディレクトリとファイルへの同じアクセスを維持するソリューションであると考えました。

ユーザーが自分のデスクトップ環境で正常に作成されログインしたが、端末で手動で起動されたアプリケーションは、元のユーザーのホームディレクトリを使用していました。それでは、始めましょidea.sh足りない_2まだユーザーのホームディレクトリを使用しています。キラキラ

どうやってこれができますか?このアプリケーションを2回目の使用で実行しましたが、まだ元のユーザーのホームディレクトリを使用しているのはなぜですか?

以下はいくつかの環境変数の内容です。

$> echo $HOME
/home/scantlight_2

$> echo $USER
scantlight_2

$> cd ~
$> pwd
/home/scantlight_2

すべてのテストが終了した後、
コマンドを使用して「scantlight_2」ユーザーを削除するのは安全ですか?それとも、一部の競合を避けるために手動でファイルから削除する必要userdelがありますか?/etc/shadow

編集:これはidea.sh「IntelliJ IDEA」IDEの起動スクリプトです。grepgetentコマンドを使用せずにbinディレクトリの内容に対して迅速な再帰を実行しました。以下は私が使用するコマンドです。

grep -r -i "getent|passwd" ./idea_install/bin

ありがとうございます。

答え1

ユーザー名に興味があるほとんどのプログラムはUIDを見つけるために照会を実行し、getent()それからそれを使用します。これは、ユーザーがuid(番号)として識別されるためです。名前はきれいな印刷と便利さ以上です。

たとえば、id 1000またはを実行するgetent passwd 1000と、そのuidの最初の項目のみが表示されます。

2番目のユーザーを削除するために同様のコマンドを使用するuserdelことは安全ではありません。deluser

削除される可能性が高いからです。最初彼らはuid 1000を持つユーザーを見つけました。

代わりに、passwdファイルとgroupファイルを手動で編集する必要があります。

  • vipw編集してvipw -s/etc/passwd/etc/shadow
  • vigr編集してvigr -s/etc/group/etc/gshadow

関連情報