ルートのUIDとGIDの表示

ルートのUIDとGIDの表示

foo私たちはルートのuid、guid、およびグループに何らかの形でリンクされたユーザーアカウントを持っています。実行すると、id fooすべてのルートID情報が返されます。

id foo

uid=0(root) gid=0(root) groups=0(root)

このユーザーアカウントはここにいない古い同僚のアカウントであり、サーバーからそのアカウントを完全に削除したいと思います。実行すると、ps -ef | grep fooそのユーザーのプロセスは返されないため、そのユーザー名で実行されているものは何もないと確信しています。

実行すると、userdel foo表示されるアカウントはrootで、uid = 0であると確信していますが、そのアカウントはまだ表示されるため、fooユーザーアカウントは存在しないとマークされます。/etc/passwdfoo:x:0:0::/home/foo:/bin/bash

このアカウントをキャンセルするにはどうすればよいですか? usermodを実行し、uid、gid、およびグループを変更する必要がありますか?未使用のランダムなuid(例:uid = 1099(foo))を選択すると問題が発生しますか?

私はCentOS 7を使用しており、サーバーはActive Directoryに接続していますが、fooアカウントはLinuxサーバーのローカルアカウントです。 Linux を AD に接続する前にユーザーが終了したため、アカウントは Active Directory に存在しなくなります。

答え1

なぜuidがuserdel存在するのかわからず、誤ってルートを削除したくないので、このようなツールを使用しないことをお勧めします。foo0

代わりに、アイテムは独自/etc/passwdに編集され削除されますfoo。ルート自体に正しいエントリがあることを確認してください。

root:x:0:0:root:/root:/bin/bash

についても同じことを行います/etc/group。削除された項目fooと確認済みの項目root

root:x:0:

その後、パスワードの入力を確認して/etc/shadow削除し、入力をfoo確認してくださいroot。項目は次rootのようになります。

root:SOMEPASSWORDCODE:17219:0:99999:7:::

fooたぶんinのための追加項目があるかもしれません/etc/group。考えられる例:

audio:x:29:foo,pulse

クリーンアップ操作の場合は、これらのアイテムからfooそのコンテンツも削除しますfoo,

存在する場合は/home/foo確認して削除してください。

現在fooと同じですroot。 fooが所有するプロセスまたはファイルはすべてに属しているため、見つかりませんroot。ファイルとプロセスの所有者は、名前ではなくuidとして登録されます。したがって、uidが0のプロセスまたはファイルはすべてルートとして表示されます。 (またはすべてのルートプロセスとファイルが代わりに表示されることがありますfooroot

答え2

vipwとを使用して、そのアカウントの行を削除できます。これが完了すると、そのアカウントは技術的に消えます。foo/etc/passwd/etc/shadow

vipwバージョンに応じて変更操作に使用すると、/etc/passwd「あなたは編集しますか?(Y / N)」というメッセージが表示されるか、編集に/etc/shadow使用することを提案できます。vipw -s/etc/shadow

vigr多くのLinuxディストリビューションには対応する編集コマンドがあります/etc/group/etc/gshadow存在する場合)。

vipwを使用すると、vigrファイルを直接編集するよりも安全です。これは、編集前にファイルのコピーを作成し、元のファイルを編集済みコピーに置き換える前にいくつかの完全性チェックを実行するためです。

アカウントを削除すると、ユーザーのホームディレクトリとローカルメールプールに対して必要なすべての操作を実行/etc/passwdできます。/home/foo/var/mail/foo

また、ジョブスケジューラを確認したい場合があります。レイアウトは若干異なる場合がありますが、少なくともDebianシステムにはディレクトリがありますatjobsatspoolcrontabs/var/spool/cron/foo

関連情報