SULOGIN(8)

โœจ SULOGIN(8) โœจ

okay bestie, buckle up โ€” this is sulogin, aka single-user login, and she's the bouncer at the door of your system's most exclusive little party ๐Ÿ’…


๐ŸŒธ NAME ๐ŸŒธ

<sulogin>sulogin</sulogin> โ€” single-user login ๐Ÿซถ


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

sulogin [options] [tty]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so basically sulogin gets summoned by init the moment your system drops into single-user mode. it's giving "we need to talk" energy but for your machine โœจ

then it hits the user with this prompt, verbatim:

Give root password for system maintenance (or type Control-D for normal
startup):

and if the root account is locked and --force was specified? no password needed at all, walk right in ๐Ÿ’€

sulogin will be connected to the current terminal, or to that optional tty device you can drop on the command line โ€” typically /dev/console ๐Ÿ‘‘

when the user exits the single-user shell, or just presses control-D at the prompt, the system keeps on booting. main character exit, honestly ๐ŸŒˆ


๐Ÿ’– OPTIONS ๐Ÿ’–

  • -e, --force โ€” if the normal way of grabbing the root password from the system via getpwnam(3) fails, then it goes digging through /etc/passwd and /etc/shadow instead. and if those files are damaged or straight-up nonexistent, or if the root account is locked by '!' or '*' at the begin of the password, then sulogin just starts a root shell without asking for a password. no cap ๐Ÿ˜ญ
โš ๏ธ only use the -e option if you are sure the console is physically protected against unauthorized access. like, fr fr. this is not a drill ๐Ÿ’€
  • -p, --login-shell โ€” specifying this option causes sulogin to start the shell process as a login shell ๐Ÿš
  • -t, --timeout seconds โ€” specify the maximum amount of time to wait for user input. by default, sulogin will wait forever. and i mean forever forever, bestie โ€” she's patient, she's loyal, she will simply stand there ๐Ÿ•ฐ๏ธ
  • -h, --help โ€” display help text and exit ๐Ÿ‘‹
  • -V, --version โ€” display version and exit โญ

๐ŸŒˆ ENVIRONMENT ๐ŸŒˆ

sulogin goes looking for the environment variable SUSHELL or sushell to figure out what shell to start. if that variable isn't set, it tries to execute root's shell from /etc/passwd. and if that fails? it falls back to /bin/sh. resilient queen ๐Ÿงš


๐Ÿ‘‘ AUTHORS ๐Ÿ‘‘

SULOGIN was written by Miquel van Smoorenburg for sysvinit, and later ported to util-linux by Dave Reisner and Karel Zak. legends, honestly ๐Ÿ’œ


๐Ÿ˜ญ REPORTING BUGS ๐Ÿ˜ญ

for bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>. don't be shy, they wanna hear it ๐Ÿซถ


๐Ÿ“ AVAILABILITY ๐Ÿ“

the sulogin command is part of the util-linux package, which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>. go get her โœจ


and that's the whole vibe, bestie โ€” this page ships with util-linux 2.42.4, dated 2026-09-21, and it's the SULOGIN(8) manual, slay ๐Ÿ’…๐ŸŽ€

๐Ÿ“ฆ where this page comes from
  • arch rolling: util-linux 2.42.4-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms