【Ubuntu】deluserでユーザー削除|設定ファイルとオプション解説

【Ubuntu】deluserでユーザー削除|設定ファイルとオプション解説

Amazonのアソシエイトとして、ITナレッジライフは適格販売により収入を得ています。

記事の文字数:2991

Ubuntuでユーザー削除する際のdeluserコマンドの使い方を完全解説。/etc/deluser.confの設定項目、ホームディレクトリ削除、バックアップオプション、userdelとの違い、エラー対処法まで実例付きで紹介します。


更新履歴


お役立ちツール


Ubuntuユーザにお勧めの本

Ubuntuでユーザーを削除する際、deluserコマンドを使用します。しかし、単にユーザーアカウントを削除するだけでなく、ホームディレクトリやメールスプールの扱い、バックアップの有無など、考慮すべき点が多くあります。

この記事では、deluserコマンドの基本的な使い方から、設定ファイル(/etc/deluser.conf)の詳細、各種オプション、エラー対処法、さらにuserdelとの違いまで、実例を交えて解説します。

この記事で分かること:

  • deluserコマンドの基本構文とオプション
  • /etc/deluser.confの設定項目と意味
  • ホームディレクトリ削除とバックアップの方法
  • よくあるエラーと対処法
  • userdelコマンドとの違い

確認した環境

Ubuntu 22.04.3 LTS (Jammy Jellyfish)

deluserの設定ファイル(/etc/deluser.conf)を確認する

結論: deluserコマンドの動作は/etc/deluser.confで制御されており、ホームディレクトリの削除やバックアップの有無を事前に設定できます。

理由: コマンド実行時のオプション指定を省略できるため、運用ルールに応じた設定をしておくことで作業効率が向上します。

具体例: 以下のコマンドで設定ファイルを確認します。

コマンド
cat /etc/deluser.conf

deluser.confの設定例

/etc/deluser.conf
# /etc/deluser.conf: `deluser' configuration.
# Remove home directory and mail spool when user is removed
REMOVE_HOME = 0
# Remove all files on the system owned by the user to be removed
REMOVE_ALL_FILES = 0
# Backup files before removing them. This options has only an effect if
# REMOVE_HOME or REMOVE_ALL_FILES is set.
BACKUP = 0
# target directory for the backup file
BACKUP_TO = "."
# delete a group even there are still users in this group
ONLY_IF_EMPTY = 0
# exclude these filesystem types when searching for files of a user to backup
EXCLUDE_FSTYPES = "(proc|sysfs|usbfs|devpts|tmpfs|afs)"

各設定項目の意味は以下の通りです。

項目説明設定例
REMOVE_HOMEユーザー削除時にホームディレクトリとメールスプールを削除する。0:無効,1:有効
REMOVE_ALL_FILES削除するユーザーが所有するシステム上のすべてのファイルを削除する。0:無効,1:有効
BACKUP削除する前にファイルをバックアップする。
このオプションは、REMOVE_HOMEまたはREMOVE_ALL_FILESが
設定されている場合にのみ有効です。
0:無効,1:有効
BACKUP_TOバックアップファイルのターゲットディレクトリ。「.」の場合はコマンドを実行したカレントディレクトリ
ONLY_IF_EMPTYグループに所属するユーザーがいない場合グループを削除する。0:無効,1:有効
EXCLUDE_FSTYPESバックアップするユーザーのファイルを検索する際、
これらのファイルシステムタイプを除外する。
(proc|sysfs|usbfs|devpts|tmpfs|afs)を指定した場合、
これらのディレクトリを除外できる。

まとめ: 設定ファイルを確認し、必要に応じてREMOVE_HOMEBACKUPの値を変更することで、ユーザー削除時の動作をカスタマイズできます。

deluserコマンドの基本構文とオプション

deluserコマンドの構文は以下の通りです。

構文
sudo deluser [削除したいユーザ名]

REMOVE_HOMEなどの項目が無効(0)の場合、アカウント情報だけを削除する挙動になります。
設定ファイルが無効のままホームディレクトリ・メールスプールの削除やバックアップをしたい場合は、コマンドにオプションを以下のように指定します。

deluserでホームディレクトリとメールスプールを削除する方法

構文
sudo deluser --remove-home [削除したいユーザ名]

deluser実行時にバックアップを取得してホームディレクトリを削除

構文
sudo deluser --remove-home --backup [削除したいユーザ名]

バックアップディレクトリを指定する場合は、--backup-toを指定します。

構文
sudo deluser --remove-home --backup-to [バックアップディレクトリ] [削除したいユーザ名]

ユーザーが所有するすべてのファイルを削除する方法

構文
sudo deluser --remove-all-files [削除したいユーザ名]

バックアップ付きですべてのユーザーファイルを削除

構文
sudo deluser --remove-all-files --backup [削除したいユーザ名]

バックアップディレクトリを指定する場合は、--backup-toを指定します。

構文
sudo deluser --remove-all-files --backup-to [バックアップディレクトリ] [削除したいユーザ名]

オプション(deluser)

指定するオプションの意味は以下の通りです。

オプション意味
—remove-homeユーザーのホームディレクトリとメールスプールを削除する。
—remove-all-filesユーザーが所有するすべてのファイルを削除する。
—backup削除する前にファイルをバックアップする。
—backup-toバックアップ先のディレクトリを指定する。

deluserの全オプションを確認する方法

他オプションを調べる際は、deluser-helpを指定してください。

実行コマンド
deluser -help
Kindle Unlimited

技術書が月額980円で読み放題

1冊数千円するエンジニア向け書籍も、Kindle Unlimitedなら定額で読み放題。「いちばんやさしい」シリーズや技術評論社の本など、スキルアップに最適な一冊が見つかります。

30日間無料体験を始める

deluserコマンドでユーザーを削除する手順

deluserコマンドの実行例

test-userユーザを削除する場合は、以下のように指定します。

実行コマンド
sudo deluser test-user

ユーザー削除の実行結果

実行結果
Removing user `test-user' ...
Warning: group `test-user' has no more members.
Done.

ユーザー削除前後の確認方法

ユーザー削除前の確認コマンド

deluser実行前に以下の通り、test-userユーザが存在することを確認しました。

削除前確認
# passwdファイル確認
$ cat /etc/passwd | grep test-user
test-user:x:1001:1001:,,,:/home/test-user:/bin/bash
# ホームディレクトリ確認
$ ls -ld /home/test-user
drwxr-x--- 2 test-user test-user 4096 Aug 31 21:23 /home/test-user
# ログイン確認
$ sudo su - test-user
$ whoami
test-user

deluser実行後の確認方法

deluser実行後に以下の通り、test-userユーザが削除されたことを確認しました。

削除後確認
# passwdファイル確認(結果なし)
$ cat /etc/passwd | grep test-user
$
# ホームディレクトリ確認(未削除のためディレクトリあり)
$ ls -ld /home/test-user
drwxr-x--- 2 1001 1001 4096 Aug 31 21:26 /home/test-user
# ログイン確認(不可)
$ sudo su - test-user
su: 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 deluser test-user
Removing user `test-user' ...
Warning: group `test-user' has no more members.
userdel: user test-user is currently used by process 13372
/usr/sbin/deluser: `/sbin/userdel test-user' returned error code 8. Exiting.

以下のように該当プロセスを確認し、問題なければkillしてから再実行する方法もあります。

プロセスkill
$ ps -f 13372
UID PID PPID C STIME TTY STAT TIME CMD
test-us+ 13372 1 0 21:31 ? Ss 0:00 /lib/systemd/systemd --user
$ sudo kill 13372
$
$ ps -f 13372
UID PID PPID C STIME TTY STAT TIME CMD
$

deluserとuserdelの違いを比較

類似コマンドにuserdelがありますが、違いは以下の通りでdeluserコマンドは設定ファイルで削除やバックアップ等の機能を細かく設定できます。

項目userdeldeluser
ホームディレクトリとメールスプールの削除
ユーザが所有するすべてのファイルを削除×
削除データのバックアップ×

一般的には、Debian/Ubuntu系のシステムではdeluserを使用し、他のディストリビューションではuserdelが使われることが多いです。

関連記事: より汎用的なuserdelコマンドの使い方も合わせてご覧ください。Ubuntuでユーザーを追加する方法については、adduserコマンドの使い方で詳しく解説しています。

deluserコマンドのまとめ

この記事では、Ubuntuのdeluserコマンドを使ったユーザー削除方法について解説しました。

重要なポイント:

  • 設定ファイル: /etc/deluser.confでホームディレクトリ削除やバックアップ有無を設定可能
  • 基本構文: sudo deluser [ユーザー名]でアカウント情報のみ削除
  • オプション: --remove-home--backupなどで柔軟な削除が可能
  • エラー対処: プロセスが使用中の場合はログアウトまたはkillが必要
  • userdelとの違い: deluserはバックアップ機能など、より高機能

次のステップ:

システム管理において、ユーザーの適切な削除は重要なセキュリティ対策の一つです。この記事を参考に、安全にユーザー削除を行ってください。

この記事はお役に立ちましたか?


Ubuntuユーザにお勧めの本

Kindle Unlimited

本の「読み放題」でスキルアップ

月額980円で500万冊以上が読み放題。1冊数千円する技術書も、Kindle Unlimitedなら圧倒的なコスパで学習できます。まずは30日間の無料体験から。

  • 📚 高価な技術書も月額定額で読み放題
  • 📱 PC・タブレット・スマホでいつでもどこでも
  • 30日間の無料体験
無料で30日間試してみる
Python 1年生 第2版 Linux標準教科書 Ver.4.0.0: LinuC(リナック)学習にも役立つ LPI-Japan標準教科書シリーズ Docker絵とき入門

以上で本記事の解説を終わります。
よいITライフを!
目次

記事を評価

Thanks!
Scroll to Top