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
このブログを応援する
お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。