RMUSER(8)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ’… rmuser(8) β€” like, the manual page, but make it make sense

okay so bestie, welcome to RMUSER(8), from the System Manager's Manual section (that's section 8, the sysadmin one, iykyk). This is the page about rmuser β€” the utility that removes users from the system. Sit down, grab a strawberry πŸ“, we're gonna go through it together.


✨ NAME ✨

rmuser β€” remove users from the system 🫢


🌸 SYNOPSIS 🌸

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

πŸŽ€ DESCRIPTION πŸŽ€

The rmuser utility removes one or more users submitted on the command line or from a file. And when I say "removes a user from the system," I mean it does the whole entire ritual, no crumbs left. Here's the exact run-down, in order, bestie:

  1. Removes the user's crontab(1) entry (if any).
  2. Removes any at(1) jobs belonging to the user.
  3. Sends a SIGKILL signal to all processes owned by the user. yeah. it's giving no mercy πŸ’€
  4. Removes the user from the system's local password file.
  5. 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.
  6. Removes the incoming mail and POP daemon mail files belonging to the user from /var/mail.
  7. Removes all files owned by the user from /tmp, /var/tmp, and /var/tmp/vi.recover.
  8. 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.) β€” cute little team-up, love that for them πŸ’–
  9. Removes all message queues, shared memory segments and semaphores owned by the user.
⚠️ Now the part where you listen to me. 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. Like, it's protecting you from yourself, bestie 🫢. 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. (iconic behavior honestly β€” consent checks ✨)

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. main character energy: keeps going πŸ’…

The options are as follows:


πŸ’… OPTIONS πŸ’…

  • -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. But β€” 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. no cap, it will not budge πŸ™…
  • -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. (yapper mode: activated πŸ”₯)
  • username β€” Identifies one or more users to be removed; if not present, rmuser interactively asks for one or more users to be removed.

πŸ¦‹ FILES πŸ¦‹

/etc/master.passwd
/etc/passwd
/etc/group
/etc/spwd.db
/etc/pwd.db

🌈 SEE ALSO 🌈

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

like, the whole friend group 🫢


⭐ HISTORY ⭐

The rmuser utility appeared in FreeBSD 2.2. she's been around, she's a legend πŸ‘‘


πŸ’€ BUGS πŸ’€

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. (the symlinks are anonymous, they refuse to snitch πŸ™ˆ)

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.


okay that's the whole page, bestie, go forth and remove users responsibly πŸ’œ β€” this lil sign-off comes to you straight from Debian, dated May 10, 2002, and yes the date is older than most of us on this app but she's still slaying πŸŽ€βœ¨

πŸ“¦ where this page comes from