NAME¶
normality - definition of what types of normalities different users may have.
SYNOPSIS¶
/etc/normality
DESCRIPTION¶
The
normality configuration file has a rather simple syntax, as shown in
the diagram in the next section. Some things to remember is that the
normality file's influence is inversely proportional to the user's
cluefulness and that, in certain cirumstances, modification of the
normality file can and will be considered immoral.
NORMALITY GRAMMAR¶
<normality file> := <normality file> <line> |
;
<line> := <normality type> ': ' <userlist> |
<normality type> '! ' <userlist> |
<normality type> '= ' <normality tags> |
<comment>
<normality type> := [A-Z][a-zA-Z0-9]+
<userlist> := <username> ', ' <userlist> ';0 |
<username> ';0
<normality tags> := <normality tag> ', ' <normality tags> ';0 |
<normality tag> ';0
<normality tag> := 'marriage' |
'love-relation' |
'nice-job' |
'money' |
'spare-time' |
'friends' |
'no-pager' |
'vacation'
<comment> := '#' .* '0
SEMANTICS¶
It is expected that you specify all normality types before you start assigning
(or disassigning) users to (or from) them. That is so the system can do an
easier consistency check of the specification.
Let's say that we have a system with three normality types,
foo,
bar and
gazonk and two users,
cucumber and
onion.
Now, a line like "
foo!
onion;" would
exclude
onion from having any of the real-life things specified by the
foo type, even if that (or those) things appear in another normality
type. So, the disallow syntax overrides the allow syntax (specified by
"<type>: <username>...").
There is always an implicit type named ``
all'', that contains all
normality tags.
For all system administrators, you have an implicit rule,
"all!
asr".
EXAMPLES¶
# Normality file for a sad system
# Our users are onion, cucumber, jdoe, jrl and washu
animetype= love-relation, nice-job, friends, spare-time;
notworst= love-relation, nice-job, friends;
sysadm= friends;
# All normality types we will use are declared
# Now let's do the magic stuff...
all: jdoe, jrl;
animetype: washu;
sysadm: cucumber;
all! onion;
# Now, this is fairly easy, OK?
WARNINGS AND BUGS¶
This file messes with the real world, so a bit of caution is recommended. Newer
versions of the
chastise(3) library function modifies this file
on-the-fly.
Has a tendecy to create small discontinuities in the velvet of reality whenever
there are syntax errors in the
normality file.
AUTHOR¶
This sick idea was put down in *roff format by Ingvar Mattsson, as a
contribution to the
alt.sysadmin.recovery man page collection.