userdel コマンドで UID 0 のユーザーを削除しようとすると、次のエラーが発生します。
# id uid=0(root) gid=0(root) groups=0(root) # userdel userdel: user user01 is currently used by process 1
すべてのプロセスは、ユーザー名ではなくユーザー ID によって所有されます。したがって、ルートが所有するすべてのプロセスは、同じ UID を持つため、ルートと同等のユーザーによって所有されます。この問題を回避するには、以下の手順に従ってください。
UID 0 の root 以外のユーザーの削除
UID 0 を持つ非 root ユーザー (user01 など) を削除する必要がある場合は、以下の手順に従ってください。
1. /etc/passwd ファイルをバックアップします。
# cp /etc/passwd /etc/passwd_bkp
2. /etc/passwd を開き、user01 の UID を 0 から他のユーザーが使用していない UID に変更します。例:
以下のエントリを変更
user01:x:0:0::/home/user01:/bin/bash
以下に示すエントリに:
user01:x:2000:0::/home/user01:/bin/bash
3. 次に、userdel コマンドでユーザーを削除します。今回はエラーは発生しません。
# userdel user01注意 – root ユーザーを削除したり、その UID を変更したりしないでください。