RMUSER(8)

名称
rmuser - システムからユーザを削除する

書式
rmuser [-yv] [-f file] [username ...]

解説
rmuser ユーティリティは、コマンドラインまたはファイルから提供される、 ひとり以上のユーザの削除を行います。 システムからユーザを削除するときにこのユーティリティは以下を行います:

1.  ユーザの crontab(1) エントリ (存在すれば) を削除します。

2.  ユーザの at(1) ジョブを削除します。

3.  ユーザが所有する全プロセスに SIGKILL を送ります。

4.  システムのローカルパスワードファイルからユーザのエントリを削除します。

5.  ホームディレクトリがユーザ所有であれば削除します。 この際、実際のホームディレクトリまでのパスに存在するシンボリックリンク も削除します。

6.  /var/mail より、 存在すれば入力メールと POP デーモンのメールファイルを削除します。

7.  ユーザが所有する全ファイルを /tmp, /var/tmp, /var/tmp/vi.recover から削除します。

8.  ユーザ名を /etc/group の全てのグループから削除します。 (グループが空になりかつグループ名とユーザ名が等しければ、 グループも削除されます。これは、 adduser(8) がユーザ 1 人に対して唯一のグループを与えているためです)。

9.  ユーザが所有しているメッセージキュー、共有メモリセグメント、セマフォをすべて 削除します。

rmuser ユーティリティは、 ユーザ id が 0 であるユーザ (典型的には root です) の削除は拒否します。 この仕様は、ある動作 (つまり、ユーザの全プロセスを殺したり ユーザのホームディレクトリを削除すること) が実行システムにダメージを 与えうることを考慮しています。 UID が 0 であるユーザを削除することが必要な場合は、 vipw(8) を参照し、パスワードファイルを直接編集する方法を調べてください。

-y オプションと共に rmuser が起動されていない場合、 選択されたユーザのパスワードファイルエントリを表示し、 本当に消したいユーザであるのか尋ねます。 その後、ユーザのホームディレクトリを消しても良いのかどうか確認します。 答が肯定であった場合、 ホームディレクトリと配下のすべてのファイルとサブディレクトリは、 それらがユーザ所有であった場合にのみ削除されます。 更なる詳細は pw(8) を参照してください。

rmuser の動作中、現在なにをやっているかをユーザに知らせます。 エラーが発生すると、標準エラー出力にそれを表示し、 rmuser が動作継続可能であれば動作を継続します。

以下のオプションが利用可能です。

-f file
    rmuser ユーティリティは、削除対象のユーザリストを file から得ます。 このファイルは 1 行に 1 ユーザを含みます。 ハッシュ記号 (‘#’) を含むこれ以降はコメントとみなされ、処理されません。 ファイルの所有者が UID 0 のユーザ以外の場合か、 所有者以外から書き込み可能である場合、 rmuser は継続を拒否します。

-y  すべての問い合わせに暗黙的に “yes” と答えます。 現在のところ、指定したユーザを削除するかどうかの確認と、 ホームディレクトリを削除するかどうかの確認が含まれます。 本オプションを使うには、 -f オプションを使うか、 コマンドライン引数として 1 人以上のユーザを指定する必要があります。

-v  冗長モードを有効にします。 通常は、削除されたユーザごとに 1 行が出力に含まれます。 このオプション付きの場合、 rmuser は処理進捗に関しておしゃべりになります。

username
    消去するユーザを指定します。 指定されていなければ、 rmuser は、対話的に消去するユーザを尋ねます。

関連ファイル
/etc/master.passwd
/etc/passwd
/etc/group
/etc/spwd.db
/etc/pwd.db

関連項目
at(1), chpass(1), crontab(1), finger(1), passwd(1), group(5), passwd(5), adduser(8), pw(8), pwd_mkdb(8), vipw(8)

歴史
rmuser ユーティリティは、 FreeBSD 2.2 から導入されました。

バグ
rmuser ユーティリティは、包括的にファイルシステムを検索して 削除されたユーザの全ファイルを消すわけではありません; あらゆる規模のシステムにおいてもこのようなことをしてしまうと、 法外なほど遅くなり I/O 負荷がかかります。また、 rmuser ユーティリティは、ユーザが /tmp や /var/tmp に作成したシンボリックリンクを削除できません。 なぜなら、 4.4BSD ファイルシステムではシンボリックリンクを誰が作成したかの情報 を持たないからです。 さらに、 /var/mail には、 /var/mail/username でも /var/mail/.pop.username でもないファイルで、削除されたユーザ所有ではないものの、 削除すべきファイルが有るかもしれません。

rmuser ユーティリティは YP/NIS については何も知りませんので、 ローカルパスワードファイルに対してのみ動作します。