# rmuser.8

RMUSER(8)

RMUSER(8)

FreeBSD System Manager's Manual

RMUSER(8)

## [名称](#__u540D___u79F0_)

`rmuser` —

从系统中删除用户

## [概要](#__u6982___u8981_)

`rmuser` \[`-yv`] \[`-f` file] \[username ...]

## [描述](#__u63CF___u8FF0_)

`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) 的每个用户的唯一组。）
9. 删除用户拥有的所有消息队列、共享内存段和信号量。

`rmuser` 实用程序拒绝删除 UID 为 0 的用户（通常是 root），因为某些操作（即杀死所有用户的进程，并且可能删除用户的主目录）会损坏正在运行的系统。 如果需要删除 UID 为 0 的用户，请参阅 vipw(8) 了解有关直接编辑密码文件的信息。

如果没有使用 `-y` 选项调用 `rmuser` ，它将显示所选用户的密码文件条目并要求确认删除该用户。 然后它将要求确认删除用户的主目录。 如果答案是肯定的，则只有用户拥有的主目录及其下的所有文件和子目录才会被删除。 有关详细信息，请参阅 pw(8) 。

当 `rmuser` 运行时，它会通知用户有关当前活动的信息。 如果发生任何错误，它们将被发布到标准错误，并且如果 `rmuser` 可以继续，它会继续。

选项如下：

[`-f`](#f) file

`rmuser` 实用程序将获取要从 file 中删除的用户列表，其中每行包含一个用户。 井号 (‘`#`’) 后面的任何内容，包括井号本身，都被视为注释，不会被处理。 如果文件由 UID 0 的用户以外的任何人拥有，或者由所有者以外的任何人可写，则 `rmuser` 将拒绝继续。

[`-y`](#y)

对任何和所有提示都隐含地回答 “`yes`” 。 目前，这包括是否删除指定用户和是否删除主目录的提示。 此选项要求使用 `-f` 选项，或者将一个或多个用户名作为命令行参数提供。

[`-v`](#v)

启用详细模式。 通常，输出包括每个删除的用户一行；但是，使用此选项， `rmuser` 将更加健谈所采取的步骤。

username

标识要删除的一个或多个用户；如果不存在， `rmuser` 会以交互方式要求删除一个或多个用户。

## [文件](#__u6587___u4EF6_)

/etc/master.passwd

/etc/passwd

/etc/group

/etc/spwd.db

/etc/pwd.db

## [参见](#__u53C2___u89C1_)

at(1), chpass(1), crontab(1), finger(1), passwd(1), group(5), passwd(5), adduser(8), pw(8), pwd\_mkdb(8), vipw(8)

## [历史](#__u5386___u53F2_)

`rmuser` 实用程序出现在 FreeBSD 2.2 中。

## [缺陷](#__u7F3A___u9677_)

`rmuser` 实用程序不会在文件系统中全面搜索被删除用户拥有的所有文件并将其删除；在任何规模的系统上执行此操作都非常缓慢且 I/O 密集。 它也无法删除用户在 /tmp 或 /var/tmp 中创建的符号链接，因为 4.4BSD 文件系统上的符号链接不包含有关谁创建它们的信息。 此外，除了 /var/mail/username 和 /var/mail/.pop.username 之外，可能在 /var/mail 中创建的其他文件不属于已删除的用户，但应将其删除。

`rmuser` 实用程序不了解 YP/NIS，它只对本地密码文件进行操作。

May 10, 2002

FreeBSD 13.1-RELEASE
