
スポンサーリンク
Linuxでユーザ削除をする際はroot権限でuserdel
コマンドを実行します。
構文
構文は以下の通りです。
sudo userdel -r [削除したいユーザ名]
オプション
指定するオプションの意味は以下の通りです。
オプション | 意味 |
---|---|
-r | ホーム・ディレクトリとメールスプールを削除する |
ホームディレクトリ・メールスプールを残してアカウントのみ削除する場合は、-r
オプションの指定は不要です。
オプションを調べる
他オプションを調べる際は、userdel
に-help
を指定してください。
userdel -help
ユーザ削除
実行コマンド(ユーザ削除)
ホームディレクトリ含めてtest-user
を削除する場合は、以下のように指定します。
sudo userdel -r test-user
メールスプールがなければ、以下のようなログが表示されますが、問題ありません。
$ sudo userdel -r test-useruserdel: test-user mail spool (/var/mail/test-user) not found
削除前後の確認
削除前(userdel実行前)
userdel実行前に以下の通り、test-user
ユーザが存在することを確認しました。
# passwdファイル確認$ cat /etc/passwd | grep test-usertest-user:x:1001:1001:,,,:/home/test-user:/bin/bash
# ホームディレクトリ確認$ ls -ld /home/test-userdrwxr-x--- 2 test-user test-user 4096 Aug 30 21:08 /home/test-user
# ログイン確認$ sudo su - test-user$ whoamitest-user
削除後(userdel実行後)
userdel実行後に以下の通り、test-user
ユーザが削除されたことを確認しました。
# passwdファイル確認(結果なし)$ cat /etc/passwd | grep test-user$
# ホームディレクトリ確認(ディレクトリなし)$ ls -ld /home/test-userls: cannot access '/home/test-user': No such file or directory
# ログイン確認(不可)$ sudo su - test-usersu: user test-user does not exist or the user entry does not contain all the required fields
「user test-user is currently used by process XXXX」となった場合
削除対象ユーザのプロセスが使われていると削除できません。
TeraTerm等で該当ユーザを操作している場合はログアウトしてから再度コマンドを試してください。
$ sudo userdel -r test-useruserdel: user test-user is currently used by process 9598
以下のように該当プロセスを確認し、問題なければkillしてから再実行する方法もあります。
$ ps -f 9598UID PID PPID C STIME TTY STAT TIME CMDtest-us+ 9598 1 0 21:26 ? Ss 0:00 /lib/systemd/systemd --user$ sudo kill 9598$$ ps -f 9598UID PID PPID C STIME TTY STAT TIME CMD$
deluserコマンドとの違い
deluser
コマンドは、userdelの機能をラップするスクリプトであり、追加のオプションや機能が利用できます。
ユーザーが所有するファイルの削除やバックアップなど、設定ファイルを使って挙動をカスタマイズできます。
項目 | userdel | deluser |
---|---|---|
ホームディレクトリとメールスプールの削除 | 〇 | 〇 |
ユーザが所有するすべてのファイルを削除 | × | 〇 |
削除データのバックアップ | × | 〇 |
一般的には、Debian/Ubuntu系のシステムではdeluser
を使用し、他のディストリビューションではuserdel
が使われることが多いです。
deluserコマンドの使い方は、こちらのリンクを参照してください。
まとめ
- userdelコマンドでアカウント情報のみ削除する場合は、
オプションを指定しない
。 - userdelコマンドでホームディレクトリ・メールスプールのデータも削除する場合は、
-rオプションを指定する
。
Linuxでユーザを追加する場合は、こちらのリンクを参照してください。
以上で本記事の解説を終わります。
よいITライフを!