it-swarm-ja.com

rootと同じUID(0)を持つroot(admin)ユーザーを削除するにはどうすればよいですか?

これは私のpasswdファイルです:

root:x:0:0:root:/root:/bin/bash
m:x:0:100::/home/m:/bin/bash
masoudjjgh:x:1000:100:masoudjjgh:/home/masoudjjgh:/bin/bash

作成したユーザーmを削除しようとしています:

[[email protected]]# userdel m
[[email protected]]# userdel: user m is currently used by process 1

そして、私がこのコマンドでmを殺そうとすると:

[[email protected]]# killall -KILL -u m

デスクトップ(kde)consoleとすべてが終了し、loggedが自動的にオフになります。すべてが終了し、もう一度loginする必要があります。 userdelは再びすべてを閉じます。とにかくmを削除することはありますか?

作成しましたが、削除できません。

1
mlibre
root:x:0:0:root:/root:/bin/bash  
m:x:0:100::/home/m:/bin/bash
[...]
# userdel: user m is currently used by process 1
# killall -KILL -u m

プロセスとファイルは、実際にはユーザー名ではなく、ユーザーID番号によって所有されます。 mrootは同じUIDを持っているため、一方が所有するものはすべて他方も所有します。あなたの説明によると、userdelkillallの両方が、すべてのルートプロセス(UID 0)をこのユーザー「m」に属していると見なしたようです。

このサンプルのマニュアルページ によると、userdelにはアクティブなプロセスがある場合でもアカウントを強制的に削除するオプション-fがあります。そして、userdelおそらく実際のrootアカウントに影響を与えることなく、mのpasswdエントリとホームディレクトリを削除するだけです。

安全のために、パスワードファイルを手動で編集してmのエントリを削除してから、mのホームディレクトリを手動で削除する傾向があるかもしれません。システムにvipwという名前のコマンドがあり、テキストエディタで/etc/passwdを安全に編集できます。

4
Kenster

/ etc/passwdファイルで、削除するユーザーのGUIDを0以外に変更します。次に、userdelを試行します。

ソース: http://www.shellhacks.com/en/HowTo-Create-USER-with-ROOT-Privileges-in-Linux

2
Sindhu S

最初に、/ etcディレクトリのpasswdファイルとshadowファイルの行を手動で削除します。次に、そのユーザーアカウントのホームディレクトリをrm-fRできます。 (あなたの例ではm)

追加のファイルは引き続き削除する必要があります。例えば:

/ var/pool/mail/m

これは、userdelが作業を拒否したときに使用する非常に外科的なアプローチです。

2
Jeff Clayton

いくつかの問題があるので、それはあなたにいくつかの問題を引き起こします、実行するための `root.rootの必要性。私はより良い提案があります:

  1. アカウントを/etc/sudersに次のようにインポートします。

    youraccount   ALL=(ALL) ALL
    
  2. Rootユーザーを非ログインユーザーとして/bin/falseに変更します。
1
PersianGulf