Ubuntu で不要なユーザを削除する方法
Ubuntu で不要になったユーザーの削除方法について。付けるオプションとかユーザー削除できない時の原因や対処方法とか忘れないようにメモ。
目次 - Contents
前提・環境
- Ubuntu 18.04 LTS
- 作業者が
sudo
(管理者権限)を使える
ユーザを userde で削除する
不要になったユーザーを削除する場合はuserde
コマンドを使う
# 「user_name」は自分のユーザー名に置き換える
$ sudo userdel -r user_name
-r
オプション(または--remove
)を付けることでユーザディレクトリも同時に消す- ユーザーディレクトリを消したくない場合にはこの
-r
オプション(または--remove
)を外して実行。
エラーなどが表示されなければ以上完了。
場合によっては以下のレスポンスが返ってくるがこれは大丈夫。
userdel: user_name mail spool (/var/mail/user_name) not found
userdel: user_name home directory (/home/user_name) not found
1行目は「user_name のメールスプール (/var/mail/user_name) がありません」
2行目は「user_name のホームディレクトリ (/home/user_name) がありません」
という事なので、削除するユーザーがメールを使ってなかったりホームディレクトリが無かったりすると表示される。
エラーが出た場合
Linuxユーザーをuserdel
コマンドで削除できない場合、以下の可能性があるので確認。
- 存在しないユーザーを指定(削除しようと)している
- 対処方法:指定したユーザーが存在するか、またスペルミスとかも確認
- 削除しようとしているユーザーがログイン中
- 確認方法:
who
コマンドでログイン中のユーザーを確認 - 対処方法:そのユーザーをログアウトさせる
- 確認方法:
- スーパーユーザー・root権限(管理者権限)を持たないユーザーで
userdel
を実行している- 対処方法:管理者権限ユーザーで
userdel
コマンドを実行する
- 対処方法:管理者権限ユーザーで
- 削除しようとしているユーザーが何らかのプロセスを実行中
- 確認方法:
ps
コマンドでps aux | grep user_name
などして対象ユーザーが所有者のプロセスを検索 - 対処方法:問題無いかを確認し、同プロセスを
kill
コマンドで削除
- 確認方法:
※kill
したプロセスが Apache や MySQL を起動させていた場合、それらも停止してしまうため注意する
補足・参考
ちなみに以下のコマンドでも上記と同様の事ができるが、こっちはあまり使わなそう。
$ sudo deluser --remove-home user_name
ディスカッション
コメント一覧
まだ、コメントがありません