CALIFE.AUTH(5)
π NAME π
calife.auth β bestie, this is the format of the calife authorization file. it's giving β¨permissionsβ¨, no cap.
π DESCRIPTION π
okay so picture this: a calife.auth file is literally just a bunch of records, newline separated, one per user, and each record has three fields split by colons (:). the way that colon is the whole personality of this file. here's the breakdown:
nameβ the user's login name /@group/%group. like, the vibe check of who we're talking about πshellβ the user's shell. their command interpreter of choice πuser1,user2,...,usernβ the list of logins that this user is allowed to become. it's giving β¨entourageβ¨
so the name field is the login used to access the computer account. that's the main character right there π
and now the rules, bestie, listen up:
the login name must never begin with a hyphen (-). fr fr, never.
also it is strongly suggested that neither upper-case characters nor dots (.) be part of the name, because apparently that "tends to confuse mailers". not me feeling bad for the mailers π they're just little guys.
and no field may contain a colon (:) β because historically that colon has been used to separate the fields in the user database. so like, the colon is taken. it's booked. do not use it. periodt.
one alternative syntax: use @group to say that any user in the given group is allowed to use calife to become root. iconic group energy π
and there's also an alternative syntax using %group, which is allowed just like sudo. yes bestie, just like sudo, we love a familiar format π«Ά
the shell field is the command interpreter the user prefers. simple enough π
but β if there is nothing in the shell field, then the user's current shell as found in the (/etc/passwd) file is assumed. so it just goes and checks. lowkey convenient.
and if the shell field is *, then the account is considered as locked and access is denied. it's giving do-not-pass-go π no entry, bestie.
and if that third parameter is specified, it is assumed to be the list of logins the current user has the right to become. this enables use of calife for non-root only accounts. yes, you heard that right, it's not just for root, we're expanding the roster β¨
and where does calife.auth live? it's placed in /etc. that's home. π
πΈ EXAMPLE πΈ
here's the example, verbatim, slay:
# calife.auth-dist
#
# Format
#
# name[:shell_to_be_run][:user1,user2,usern]
#
fcb
roberto:/bin/tcsh
pb::guest,blaireau
%wheel
π¦ SEE ALSO π¦
go read those too, bestie, they're the supporting cast π
β HISTORY β
so a calife.auth file format appeared in DG/UX and SunOS, written for Antenne 2 in 1991. yes, 1991, it's a vintage icon π
it has evolved with the extra shell specification. glow up β¨
and the login list was reintroduced in 2.7. welcome back king π«Ά
π AUTHOR π
Ollivier Robert <roberto@keltia.frmug.fr.net>
okay that's the whole thing bestie!! this page is from the Debian version of the manual, dated September 25, 1994 β a certified classic, and yes the file formats manual section is where it lives. go forth and write your calife.auth correctly πβ¨ππ¦
π¦ 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