CALIFE(1)

πŸ“¦
version 3.0.6 Β· 2 versions
, in ubuntu resolute, ubuntu stonking

✨ CALIFE ✨ (section 1 of the manual, bestie)

okay so this is calife(1) β€” general commands manual energy β€” and it's the little tool that lets you become root (or literally anyone else) legally. no shady business. πŸ’…


πŸŽ€ NAME πŸŽ€

calife β€” becomes root (or another user) legally.

yes bestie, legally is doing a lot of work in that sentence and we love her for it.


🌸 SYNOPSIS 🌸

calife [-] [login]

or, plot twist:

... [-] [login] for some sites (check with your administrator).
not every site does it the same way!! go ask your admin, iykyk 🫢

πŸ’– DESCRIPTION πŸ’–

So here's the tea. calife asks for your own password so you can become login β€” or root, if you didn't hand it a login at all. Then, after it's verified you actually have the rights to do that (no gatekeeping without receipts ✨), it switches to that user and group ID. And then? A shell gets executed. That's it. That's the whole vibe. πŸ‘‘

If calife is executed by root, no password is requested at all, and a shell with the appropriate user ID is just executed. root stays unbothered, fr fr.

The shell it invokes is the user's own shell β€” except when a shell is specified in the configuration file calife.auth. so if your shell is weird, that's on calife.auth, not on us πŸ™ˆ

If - is specified on the command line, the user's profile files are read as if it was a login shell. cute little detail, very demure.

this is not the traditional behavior of su. not me pointing that out dramatically but like. it isn't. πŸ’€

Only users specified in calife.auth can use calife to become another one with this method. no invite, no entry.

You can specify in the calife.auth file the list of logins allowed for users when using calife. See calife.auth(5) for more details β€” she has the full breakdown.

And heads up: calife.auth is installed as /etc/calife.auth. πŸ—‚οΈ


🌈 FILES 🌈

  • /etc/calife.auth β€” List of users authorized to use calife and the users they can become. the VIP list, basically 🎟️
  • /etc/calife.out β€” This script is executed just after getting out of calife. the little goodbye party on your way out πŸŽ‰

πŸ¦‹ SEE ALSO πŸ¦‹

su(1), calife.auth(5), group(5), environ(7)

(the whole friend group. go say hi. πŸ’œ)


πŸ“ ENVIRONMENT πŸ“

The original environment is kept. And ngl, that's not a security problem β€” because you have to be yourself at login (i.e. it does not have the same security implications as in su(1)). so breathe, bestie, it's fine 🌸

Environment variables used by calife:

  • HOME β€” Default home directory of real user ID. 🏠
  • PATH β€” Default search path of real user ID unless modified as specified above. 🧭
  • TERM β€” Provides terminal type which may be retained for the substituted user ID. πŸ’»
  • USER β€” The user ID is always the effective ID (the target user ID) after an su unless the user ID is 0 (root). πŸ‘€

😭 BUGS 😭

The MD5-based crypt(3) function is slower and probably stronger than the DES-based one β€” but it is usable only among FreeBSD 2.0+ systems. so like, stronger but picky. the way that it's both. πŸ’…


⭐ HISTORY ⭐

A calife command appeared in DG/UX, written for Antenne 2 in 1991. it has evolved considerably since this period β€” more OS support, user lists handling, and improved logging. glow-up of the century, no cap. ✨

PAM support was introduced in 2005 to port it to MacOS X variants (Panther and up). iconic behavior for a 1991 girlie 🧚


πŸ‘‘ AUTHOR πŸ‘‘

Ollivier Robert <roberto@keltia.freenix.fr>


and that's the whole page bestie!! this one came out of the Debian corner of the world, dated September 25, 1994 β€” old money, honestly πŸ’– slay, mwah, bye!! πŸŽ€βœ¨
πŸ“¦ where this page comes from