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/passwd
foo: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
存在するのかわからず、誤ってルートを削除したくないので、このようなツールを使用しないことをお勧めします。foo
0
代わりに、アイテムは独自/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のプロセスまたはファイルはすべてルートとして表示されます。 (またはすべてのルートプロセスとファイルが代わりに表示されることがありますfoo
)root
。