MSQL.ACL(5)

NAME
msql.acl - Mini SQL access control file

DESCRIPTION
The file /etc/msql.acl controls access to the mSQL databases. It specifies the type of access as well as local and/or remote hosts. This configuration file is devided in two sections, first the Debian specific section that isn't read by the engine, but only by a script to start the server, and a record for each database. Except for the Debian specific options the format of this file is described in /usr/doc/msql/acl.txt.

DEBIAN OPTIONS
Each of the options that are specific to Debian Linux are comments for the engine, so they're prefixed by a hash mark (``#'').

Configured=no/yes
    This option only informs msqlconfig(8) that the msqld package is already configured by a former install or upgrade.

SuppressMail=no/yes
    This controls wether a user is informed if the mSQL database engine crashes or not. The default behaviour was sending out mail if the server vanishes.

MailTo=msql
    If mail shall be sent out if the mSQL database engine vanishes this is the address to send the mail to.

Port=4333
    You might the mSQL database engine listen on a different port than the default for some reason. Here you have a change to configure it.

Debug=values
    The mSQL database engine might produce debugging output that would be sent via mail. values may contain several keywords separated by a colon (``:''). Possible values are general, cache, query, error, key, malloc, trace (trace of function calls), mmac, access and proctitle.

DATABASE RECORDS
This file is split into entries for each database to be controlled. If the file doesn't exist or details for a particular database aren't configured, access reverts to global read/write. Each record consists of several variables in the form of ``variable=value'', starting with database.

database=name
    Specifies the name of the database. This is the name that is also be displayed by relshow(1).

read=user
    Specifies the user that may have read access, an asterisk means all, ``-*'' stands for none.

write=user
    Specifies the user that have write access to this particular database, an asterisk means all, ``-*'' stands for none.

host=hosts
    Specifies the hosts from who people may have access to the particular database, too.

access=type
    Controls wether the access to the database is granted for local or remote.

option=options
    The only option actually is ident to activate RFC 1413 authentification.

Control is based on the first match found for a given item. So, a line such as "read=-*,bambi" would not deny access to everyone other than bambi because -* will also match bambi. In this case the line would have to be "read=bambi,-*". Note that if a match isn't made for a particular item, it default to a denial. For example, if there is no "read" line (i.e. there are no read tokens after the data is loaded) nobody will be granted read access. This is in contrast to the action taken if the entire database definition is missing in which case access to everything is granted. Another thing to note is that a databases entry _must_ be followed by a blank line to signify the end of the entry. There may also be multiple config lines in the on entry (such as "read=bambi,paulp" "read=root"). The data will be loaded as though it was concatenated onto the same "read" line (i.e. "read=bambi,paulp,root"). The acl info can be reloaded at runtime using "msqladmin reload". This will parse the file before it sends the reload command to the engine. Only if the file is parsed cleanly is it reloaded. Like all msqladmin(8) commands, it will only be accepted if generated by the root user (or whoever the database was installed as) on the localhost.

AUTHOR
Mini SQL has been written by David Hughes of Bond University, Australia as part of the Minerva Network Management Environment. He may be reached via electronic mail using bambi@Bond.edu.au.

SEE ALSO
relshow(1), msqld(8), msqladmin(8), msqlconfig(8).