normality(5)

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> '; |
              <username> ';
<normality tags> := <normality tag> ', ' <normality tags> '; |
                    <normality tag> ';
<normality tag> := 'marriage' |
                   'love-relation' |
                   'nice-job' |
                   'money' |
                   'spare-time' |
                   'friends' |
                   'no-pager' |
                   'vacation'
<comment> := '#' .* '

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.