RMUSER(8)

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

書式
rmuser [-y] [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 人に対して唯一のグループを与えているためです)。

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

「断言的」に実行されていない場合 (つまり -y オプションが指定されていない場合) は、 rmuser は、選択されたユーザのパスワードファイルエントリを表示し、 本当に消したいユーザであるのか尋ねます。ユーザのホームディレクトリが ユーザ所有であれば、 rmuser はユーザのホームディレクトリ以下の全てを消してもいいのかどうか 訊いてきます。

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

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

-y  断言します - 問われる質問は全て断言 (すなわち肯定) します。 このオプションを指定する場合にはユーザ名も指定する必要があります。

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), 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 は NIS (Yellow Pages) については何も知りませんので、 ローカルパスワードファイルに対してのみ動作します。