normality - definition of what types of normalities different users may have.
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, modi-
fication of the normality file can and will be considered immoral.
<normality file> := <normality file> <line> |
<line> := <normality type> ': ' <userlist> |
<normality type> '! ' <userlist> |
<normality type> '= ' <normality tags> |
<normality type> := [A-Z][a-zA-Z0-9]+
<userlist> := <username> ', ' <userlist> ';0 |
<normality tags> := <normality tag> ', ' <normality tags> ';0 |
<normality tag> ';0
<normality tag> := 'marriage' |
<comment> := '#' .* '0
It is expected that you specify all normality types before you start assigning (or disas-
signing) 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>: <user-
There is always an implicit type named ``all'', that contains all normality tags.
For all system administrators, you have an implicit rule, "all! asr".
# 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;
# All normality types we will use are declared
# Now let's do the magic stuff...
all: jdoe, jrl;
# 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.
This sick idea was put down in *roff format by Ingvar Mattsson, as a contribution to the
alt.sysadmin.recovery man page collection.
4th Berkeley Distribution Release 0.001 alpha normality(5)