CONSERVER.PASSWD(5)

πŸ’– CONSERVER.PASSWD(5) πŸ’–

okay bestie, welcome to conserver.passwd β€” the manual page for user access info in conserver(8). this is section 5 of the conserver manual and it's literally the VIP list of who gets to touch your consoles. let's go ✨


🌸 SYNOPSIS 🌸

username:password

that's it. two things, one colon, one line. iconic behavior honestly πŸ’…


✨ DESCRIPTION ✨

so the conserver.passwd file is the user authentication and authorization file for conserver(8). every single time a client connection comes in, conserver opens and reads this file fresh β€” so edits take effect immediately, no restart, no nothing. she's always up to date, main character energy fr.

🫢 tiny detail but it matters: conserver reads only until the first username match. first match wins, that's the whole game.
  • Blank lines get ignored. obviously.
  • Comment lines get ignored too β€” those are lines starting with a # (with optional leading whitespace before it, she's flexible like that).
  • Any non-ignored line that starts with whitespace counts as a continuation of the previous line. this lets you stretch one logical line across as many physical lines as you want and drop comments in wherever it feels right 🌈

Each logical line is made of two colon-separated fields. Leading and trailing white space in each field? Ignored. we don't do extra spaces here, periodt.

πŸ‘‘ username

the login name of the authorized user β€” or the string *any* to match any user.

this gets compared against the name the console client sends, which is based on either the user's identity or on the -l option.

and because conserver only uses the first username match, a *any* entry will apply to any user who doesn't have an entry earlier in the file. so like, order matters, bestie. put your *any* at the bottom or it's gonna eat everyone's slot πŸ™ˆ

πŸ” password

the encrypted password β€” or the string *passwd* to tell conserver it should look up the user's password in the system passwd (or shadow) database instead.

⭐ if PAM support has been enabled (--with-pam), PAM lookups will be done instead of passwd (or shadow) lookups. heads up: you may need to edit /etc/pam.conf or create /etc/pam.d/conserver πŸŽ€

and if this field is empty, password checking is bypassed for this user. like, no password at all. just vibes and access. (be careful with that one, ngl)


🌟 EXAMPLE 🌟

mary:r71mXjfALB5Ak      Mary uses the password specified above; it does
                        not matter whether she has a login on the
                        conserver host.

fred:*passwd*           Fred may connect only with his regular login
                        password on the conserver host.

bozo:*                  Bozo is only allowed to access a console if his
                        password isn't used (since it's invalid) which
                        means he needs to come from a trusted host.

*any*:*passwd*          Anyone not listed above uses their regular login
                        and password.

ok so mary has her own little password and it genuinely does not matter whether she has a login on the conserver host. fred uses *passwd* so he's stuck with his regular login password on the conserver host. bozo got * which means his password isn't used (because it's invalid) so he can only get at a console if he comes from a trusted host β€” messy but valid πŸ’€. and *any*:*passwd* is the catch-all at the bottom for everyone not listed above: regular login and password. chef's kiss 🧚


πŸ’œ SEE ALSO πŸ’œ

go read those too, they're all connected, iykyk πŸ”₯


πŸ’€ BUGS πŸ’€

there is currently no way provided by the conserver package to generate the encrypted password strings besides copying them from the system passwd database or running crypt(3) via C or perl or some other language that supports it. so yeah, you're hand-crafting those hashes or borrowing them. no tool for you, bestie 😭


and that's the whole page!! this was conserver-8.3.0 btw, dated 2026/02/02 β€” so if you're reading this way later, vibe check the version first πŸ¦‹ thanks for sticking around, you ate this whole manpage fr fr πŸ’–βœ¨

πŸ“¦ where this page comes from