rmuser
— remove
users from the system
rmuser |
[-yv ] [-f
file] [username ...] |
The rmuser
utility removes one or more
users submitted on the command line or from a file. In removing a user from
the system, this utility:
- Removes the user's
crontab(1)
entry (if any).
- Removes any
at(1)
jobs belonging to the user.
- Sends a
SIGKILL
signal to all processes owned by
the user.
- Removes the user from the system's local password file.
- Removes the user's home directory (if it is owned by the user), including
handling of symbolic links in the path to the actual home directory.
- Removes the incoming mail and POP daemon mail files belonging to the user
from /var/mail.
- Removes all files owned by the user from /tmp,
/var/tmp, and
/var/tmp/vi.recover.
- Removes the username from all groups to which it belongs in
/etc/group. (If a group becomes empty and the
group name is the same as the username, the group is removed; this
complements
adduser(8)'s
per-user unique groups.)
- Removes all message queues, shared memory segments and semaphores owned by
the user.
The rmuser
utility refuses to remove users
whose UID is 0 (typically root), since certain actions (namely, killing all
the user's processes, and perhaps removing the user's home directory) would
cause damage to a running system. If it is necessary to remove a user whose
UID is 0, see
vipw(8)
for information on directly editing the password file.
If rmuser
was not invoked with the
-y
option, it will show the selected user's password
file entry and ask for confirmation that the user be removed. It will then
ask for confirmation to delete the user's home directory. If the answer is
in the affirmative, the home directory and any files and subdirectories
under it will be deleted only if they are owned by the user. See
pw(8) for
more details.
As rmuser
operates, it informs the user
regarding the current activity. If any errors occur, they are posted to
standard error and, if it is possible for rmuser
to
continue, it will.
The options are as follows:
-f
file
- The
rmuser
utility will get a list of users to be
removed from file, which will contain one user per
line. Anything following a hash mark
(‘#
’), including the hash mark
itself, is considered a comment and will not be processed. If the file is
owned by anyone other than a user with UID 0, or is writable by anyone
other than the owner, rmuser
will refuse to
continue.
-y
- Implicitly answer “
yes
” to any and
all prompts. Currently, this includes prompts on whether to remove the
specified user and whether to remove the home directory. This option
requires that either the -f
option be used, or one
or more user names be given as command line arguments.
-v
- Enable verbose mode. Normally, the output includes one line per removed
user; however, with this option
rmuser
will be
much more chatty about the steps taken.
- username
- Identifies one or more users to be removed; if not present,
rmuser
interactively asks for one or more users to
be removed.
- /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)
The rmuser
utility appeared in
FreeBSD 2.2.
The rmuser
utility does not
comprehensively search the file system for all files owned by the removed
user and remove them; to do so on a system of any size is prohibitively slow
and I/O intensive. It is also unable to remove symbolic links that were
created by the user in /tmp or
/var/tmp, as symbolic links on
4.4BSD file systems do not contain information as to
who created them. Also, there may be other files created in
/var/mail other than
/var/mail/username and
/var/mail/.pop.username that
are not owned by the removed user but should be removed.
The rmuser
utility has no knowledge of
YP/NIS, and it operates only on the local password file.