Linuxで作成済みのユーザーを削除するにはuserdel
コマンドを実行するだけです。
$ sudo userdel -r (ユーザー名)
なお特に確認は求められず、Enterキーを押した瞬間削除されますので実行には十分気をつけてください。
オプション
-r
-r
オプションを付けると、削除対象のユーザーのホームディレクトリも合わせて消されます。ホームディレクリ以外の場所にあるこのユーザーのファイルは削除されないので、手動で見つけて消す必要があります。
もし指定し忘れた場合は、sudo rm -r /home/foo
などで消せばOKです。
注意事項
ユーザーが削除されないケース
また以下に該当する場合はユーザーの削除が実行されずエラーとなります。
- 削除対象ユーザーが存在しない
- 削除対象ユーザーがログインしている
- 削除対象ユーザーが何らかのプロセスを実行している(バックグラウンド含む)
- killする必要があります
当然と言えば当然ですが、存在しないものを消すことはできません。
$ sudo userdel -r foo userdel: ユーザ 'foo' は存在しません
例えばApacheを実行中のサーバでapache
ユーザーを削除しようとすると以下のようなエラーが表示されます。何らかの方法ですべてのプロセスを停止する必要があります。
$ sudo userdel apache userdel: ユーザ apache は現在ログイン中です
同時に複数ユーザーは指定できない
ユーザーを削除する行為は非常にデリケートなため、同時に複数のユーザーを指定することはできません。実際に指定するとUsageが表示され実行されません。
$ sudo userdel -r foo bar Usage: userdel [options] LOGIN Options: -f, --force force removal of files, even if not owned by user -h, --help display this help message and exit -r, --remove remove home directory and mail spool -Z, --selinux-user remove SELinux user from SELinux user mapping