CALIFE(1)
β¨ 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 usecalifeand the users they can become. the VIP list, basically ποΈ/etc/calife.outβ This script is executed just after getting out ofcalife. 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 ansuunless the user ID is0(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
- ubuntu resolute: calife 1:3.0.6-2 Β· GPL-2.0-only
- ubuntu stonking: calife 1:3.0.6-2 Β· GPL-2.0-only
- Copyright (c) 1991, 2008 Ollivier Robert
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms