home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD1.bin
/
new
/
util
/
misc
/
multiuser
/
auto
/
multiuser.doc
Wrap
Text File
|
1994-07-02
|
32KB
|
1,003 lines
TABLE OF CONTENTS
multiuser.library/--background--
multiuser.library/muAddMonitor
multiuser.library/muAllocGroupInfo
multiuser.library/muAllocUserInfo
multiuser.library/muCheckPasswd
multiuser.library/muExtOwner2ULONG
multiuser.library/muFreeExtOwner
multiuser.library/muFreeGroupInfo
multiuser.library/muFreeUserInfo
multiuser.library/muFreeze
multiuser.library/muGetConfigDirLock
multiuser.library/muGetDefProtection
multiuser.library/muGetGroupInfo
multiuser.library/muGetPasswdDirLock
multiuser.library/muGetRelationshipA
multiuser.library/muGetTaskExtOwner
multiuser.library/muGetTaskOwner
multiuser.library/muGetUserInfo
multiuser.library/muKill
multiuser.library/muLimitDOSSetProtection
multiuser.library/muLoginA
multiuser.library/muLogoutA
multiuser.library/muPasswd
multiuser.library/muRemMonitor
multiuser.library/muSetDefProtectionA
multiuser.library/muSetProtection
multiuser.library/muUnfreeze
multiuser.library/muUserInfo2ExtOwner
multiuser.library/--background-- multiuser.library/--background--
PURPOSE
MultiUser was developed to get a greather access control than the
standard Amiga Operating System provided. It lets several users work on
the same computer - even at the same time - without losing their privacy.
OVERVIEW
* Users
A user can only use the system if he/she is authorized to login.
* Groups
Every user belongs to at least one group - his/her primary group - and
may belong to some secondary groups too.
* Tasks/processess
Every task or process is owned by a user.
* Objects
Objects are owned by a user (specified by his user identifier and one
of his group identifiers) and generally contain some access flags which
define whether someone has access to the object or not. There can be
three kinds of access flags:
- flags for the owner of the object
- flags for a user who belongs to the same group as stored with the
object
- flags for other users
E.g. the objects used with the MultiUserFileSystem are files and
directories, the access flags are the protection bits.
* Access control
If a user requests access to an object, the system can check whether
he/she has access or not via the owner of the requesting task or
process and via the owner of the wanted object using the access flags.
multiuser.library/muAddMonitor multiuser.library/muAddMonitor
NAME muAddMonitor() (V39)
success = muAddMonitor(monitor);
BOOL muAddMonitor(struct muMonitor *);
D0 A0
DESCRIPTION
Add a monitor to the system. Depending on the monitor flags, you will be
notified on some actions via a signal or message. See
<libraries/multiuser.h> for more information. This call may be made only
by root.
INPUTS
monitor - an initialised muMonitor structure.
RESULT
success - success indicator.
BUGS
none known
SEE ALSO
muRemMonitor(), <libraries/multiuser.h>
multiuser.library/muAllocGroupInfo multiuser.library/muAllocGroupInfo
NAME muAllocGroupInfo() (V39)
info = muAllocGroupInfo();
struct muGroupInfo *muAllocGroupInfo(void);
D0
DESCRIPTION
Allocate a muGroupInfo structure in a future compatible manner. This is
the only valid way to allocate a muGroupInfo structure. The structure
will be made empty for you.
INPUTS
none
RESULT
info - pointer to the allocated muGroupInfo structure or NULL for no
memory.
BUGS
none known
SEE ALSO
muFreeGroupInfo(), muGetGroupInfo()
multiuser.library/muAllocUserInfo multiuser.library/muAllocUserInfo
NAME muAllocUserInfo() (V39)
info = muAllocUserInfo();
struct muUserInfo *muAllocUserInfo(void);
D0
DESCRIPTION
Allocate a muUserInfo structure in a future compatible manner. This is
the only valid way to allocate a muUserInfo structure. The structure
will be made empty for you.
INPUTS
none
RESULT
info - pointer to the allocated muUserInfo structure or NULL for no
memory.
BUGS
none known
SEE ALSO
muFreeUserInfo(), muGetUserInfo()
multiuser.library/muCheckPasswd multiuser.library/muCheckPasswd
NAME muCheckPasswd() (V39)
valid = muCheckPasswd(taglist);
BOOL muCheckPasswd(struct TagItem *);
D0 A0
DESCRIPTION
Check whether the supplied password is the valid password for the owner
of the current task.
This function is mainly intended to support SysLock look-alike programs
(cfr. XLock for the MIT's X Window System).
TAGS
muT_Password - (STRPTR)
The password.
INPUTS
taglist - a pointer to a taglist (may be NULL).
RESULT
valid - indicates the password is valid.
NOTE
This function may be extended in future to let the super user (root)
check passwords for other tasks.
BUGS
none known
SEE ALSO
muPasswd()
multiuser.library/muExtOwner2ULONG multiuser.library/muExtOwner2ULONG
NAME muExtOwner2ULONG() (V39)
user = muExtOwner2ULONG(owner);
ULONG muExtOwner2ULONG(struct muExtOwner *);
DESCRIPTION
This macro converts a muExtOwner structure to a ULONG (cfr. the
difference between muGetTaskExtOwner() and muGetTaskOwner()).
INPUTS
owner - a structure returned by muGetTaskExtOwner() (may be NULL). You
still have to free this structure by yourself!
RESULT
user - the bits 31-16 specify the user id (uid), the bits 15-0 specify
the group id (gid). NULL for nobody.
BUGS
none known
SEE ALSO
muGetTaskExtOwner(), muGetTaskOwner(), muGetRelationshipA()
multiuser.library/muFreeExtOwner multiuser.library/muFreeExtOwner
NAME muFreeExtOwner() (V39)
muFreeExtOwner(info);
void muFreeExtOwner(struct muExtOwner *);
A0
DESCRIPTION
Free a muExtOwner structure returned by muGetTaskExtOwner or
muUserInfo2ExtOwner.
INPUTS
info - a pointer to the muExtOwner structure you want to free. May be
NULL.
RESULT
none
BUGS
none known
SEE ALSO
muGetTaskExtOwner(), muUserInfo2ExtOwner
multiuser.library/muFreeGroupInfo multiuser.library/muFreeGroupInfo
NAME muFreeGroupInfo() (V39)
muFreeGroupInfo(info);
void muFreeGroupInfo(struct muGroupInfo *);
A0
DESCRIPTION
Free a muGroupInfo structure allocated with muAllocGroupInfo.
INPUTS
info - a pointer to the muGroupInfo structure you want to free. May be
NULL.
RESULT
none
BUGS
none known
SEE ALSO
muAllocGroupInfo(), muGetGroupInfo()
multiuser.library/muFreeUserInfo multiuser.library/muFreeUserInfo
NAME muFreeUserInfo() (V39)
muFreeUserInfo(info);
void muFreeUserInfo(struct muUserInfo *);
A0
DESCRIPTION
Free a muUserInfo structure allocated with muAllocUserInfo.
INPUTS
info - a pointer to the muUserInfo structure you want to free. May be
NULL.
RESULT
none
BUGS
none known
SEE ALSO
muAllocUserInfo(), muGetUserInfo()
multiuser.library/muFreeze multiuser.library/muFreeze
NAME muFreeze() (V39)
success = muFreeze(task);
BOOL muFreeze(struct Task *);
D0 A0
DESCRIPTION
Freeze a specified task. You cannot freeze yourself nor the
MultiUser.server. This call may be made only by root.
INPUTS
task - a pointer to the task you want to freeze.
RESULT
success - success indicator.
BUGS
none known
SEE ALSO
muKill(), muUnfreeze()
multiuser.library/muGetConfigDirLock multiuser.library/muGetConfigDirLock
NAME muGetConfigDirLock() (V39)
lock = muGetConfigDirLock();
BPTR muGetConfigDirLock(void);
D0
DESCRIPTION
Get a shared lock on the directory of the configuration and