Linux でユーザーアカウントを削除する方法

Linux では、複数のユーザアカウントを持つことができます。時には、システムへのアクセスを拒否するために、いくつかのユーザを削除する必要があるかもしれません。そのような場合は、ユーザアカウントを削除する必要があります。Linux では、userdel
コマンドラインユーティリティを用いてユーザアカウントを削除することができます。
構文:userdel
コマンド
userdel [options] user
これはユーザ名 user
を持つユーザをシステムから削除し、options
は削除処理をカスタマイズするために userdel
コマンドに関連付けられた様々なオプションです。ユーザアカウントを削除するには、スーパーユーザとしてログインしていることを確認する必要があります。
例:userdel
コマンド
userdel DelftStack
ユーザ名 DelftStack
のアカウントを削除します。このコマンドは /etc/login.defs
ファイルの内容も読み込む。もし DelftStack
という名前のグループが存在し、その中に DelftStack
というユーザが存在するだけであれば、/etc/login.defs
ファイルで USERGROUPS_ENAB
が yes
に設定されていれば、DelftStack
グループも削除されます。
このコマンドは /etc/passwd
や /etc/shadow
ファイルに存在するユーザの情報もすべてクリアします。
ただし、userdel
コマンドを使ってアカウントを削除しても、メールスプールやユーザホームのように削除されないディレクトリもあります。
ディレクトリを削除するには、userdel
コマンドで -r
または --remove
オプションを使用します。
userdel -r DelftStack
これにより、メールスプールとユーザホームディレクトリが削除されます。ただし、他のファイルシステムのファイルは手動で削除しなければならません。
ユーザがログインしていたり、ユーザに関連付けられたプロセスがシステム内で実行されている場合、ユーザアカウントを削除することはできません。システムからユーザをログアウトし、ユーザに関連付けられたすべてのプロセスを停止するには、以下のコマンドを使用します。
sudo killall -u DelftStack
システムのユーザ DelftStack
をログアウトし、ユーザ DelftStack
に関連付けられたすべてのプロセスを停止します。
これで、コマンドを使ってユーザーアカウントを削除することができます。
userdel DelftStack
あるいは、ログインしているユーザアカウントやそれに関連するプロセスを実行しているユーザを削除するには、userdel
コマンドで -f
または --force
オプションを使用することができます。
userdel -f DelftStack
これにより、ユーザがログインしていたり、ユーザに関連するプロセスが実行中であっても、システムから DelftStack
アカウントを強制的に削除します。
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn