Elektra working group                                     Markus Raab
Request for Comments: 0
                                                    23 September 2004


                         Title:   passwd Database
                        Author:   Markus Raab
                          Date:   23 September 2004
             Elektra working group Request for Comment:   0


CONTENTS

INTRODUCTION

The passwd Database stores user Information and allows login to check
if a user is allowed to get access to the system.

DEFINES

Bits per int: Is the value of the Bits for an int on the hosting system.
Date: Days since Jan 1, 1970

DIRECTORY

All values must be stored within system/users. Within this directory
only valid user names are allowed.

PER USER

In a user Directory (e.g. system/user/example) following fields must
be defined:

gid
The group id is a number from 0 - 2^Bits per int - 1.

home
This is the path of the home directory of the user.

shell
This field contains the login shell.

uid
The uid is a number from 0 - 2^Bits per int - 1.
The user id should be unique on the hosting system. If it is not,
the behavier is undefined.

shadowPassword
This field contains the password, an hash value to check or any
other binary data to check the users password.

passwdChangeAfter  
Days since Jan 1, 1970 that password was last changed

passwdWarnBefore   
Days before password may be changed

passwdChangeBefore
Days after which password must be changed

passwdReserved
Days before password is to expire that user is warned

passwdDisableAfter 
Days after password expires that account is disabled

passwdDisabledSince
Days since Jan 1, 1970 that account is disabled

The following fields may be defined:

gecos
This is the contact information.

password
This field can be used for downgrade compatible. It should not
contain the password.

vcard
Here you can store a vcard for systemwide contact information.

SECURITY

Some parts may be used to get Information, which belong to a specfic
user and are private. These values must be stored that only the owner
of the database can access these entries.

Modes

Allowed are following modes:
000
200
400
600
The owner must be root with the UID=0. 

Files

Following entries are meant:

shadowPassword
passwdChangeBefore
passwdChangeAfter  
passwdWarnBefore   
passwdDisableAfter 
passwdDisabledSince
passwdReserved
