Users

The server decides what access a client should have based on the username and password provided.  For access to be granted, these credentials must be validated against one of the following three user classes.

Anonymous Users

If a username is not given, the name "ANONYMOUS" is assigned.  There are two ways Anonymous access can be enabled.

The preferred method is to specify an AuthFile and create a record for the username "ANONYMOUS".  The included svpasswd.txt example file shows such a record, though you must remove the leading "#" character to use it.

Alternatively, Anonymous access will be automatically enabled if both AuthFile and SysAuth are disabled.  This will occur only if servedat is run as an unprivileged process or SysAuth is explicitly set to 0.  This is what occurs when using the Quick Start method.  When enabled automatically, the Anonymous user will be restricted the server's Default Home and will read and write with the same privileges as the servedat process.

System Users

If servedat is run with sufficient privileges, it can access the host operating system's authentication databases.  This includes passwd, Active Directory, LDAP, and NIS.  If the server host is a network client, servedat will inherit access to the remote authentication databases as well.  Operations performed using system logons will inherit whatever privileges and limitations are assigned by the operating system.

The preferred method to enable SysAuth is to set "SysAuth 1" in a configuration file, or specify "-S" on the command line.

Alternatively, SysAuth will be turned on by default if servedat is run as root or as a Windows service, and no AuthFile is specified.

See the SysAuth section for more details about System Authentication.

AuthFile Users

You can customize access to the server through the use of a private authorization file.  This allows you specify access controls independent of the operating system's logon databases.  An AuthFile is also the preferred means of enabling Anonymous users as described above.

An AuthFile, is a flat text file with one line per username that lets you set the password, home directory, and access restrictions for that user.  On unix systems you can set user and group ids to govern each user's access.

AuthFile usernames take priority over SysAuth usernames.  So if a username exists in both databases, only the AuthFile record will be used.  This may change in a future version.

See the AuthFile section for more details about the Authentication File.