AmiTCP-SDK/doc/netinfo.doc

231 lines
8.4 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

TABLE OF CONTENTS
netinfo.device/--background--
netinfo.device/group
netinfo.device/passwd
netinfo.device/--background-- netinfo.device/--background--
PURPOSE
The netinfo.device is intended to access various information from
network database. It provides an uniform and well-defined interface
to databases, so it is easy to adopt clients to different
environments. There is a separate unit for each database.
Currently the netinfo.device supports access to local password and
group files. As a new feature since last release it supports file
notification.
The device file is located to "AmiTCP:devs/netinfo.device". It is
recommended that the OpenDevice() call is given the macro NETINFONAME
as device name.
OVERVIEW
Short overview of implemented IO commands is as follows:
CMD_RESET - reset sequential access
This command restarts the sequential database reading.
Inputs: none
Results:
* io_Error contains possaible error code or 0 if command was
successfull
CMD_READ - read next entry
Inputs:
* io_Data contains buffer for database entry. The buffer will
be filled wtih entry data upon successfull execution.
* io_Length contains database len
Results:
* io_Actual contains length of the database entry
* io_Error contains possaible error code or 0 if command was
successfull
CMD_WRITE - alter the database
This command adds a new database entry or replace an old entry.
If a matching entry with same name is found, it is replaced with
the new entry.
Inputs:
* io_Data contains pointer for database entry structure
Results:
* io_Actual contains length of the database entry
* io_Error contains possible error code or 0 if command was
successfull
CMD_UPDATE - copy the previous changes to permanent store
This command updates the permanent copies of database. The
netinfo.device does not ensure that entries updated with
CMD_WRITE will be available by CMD_READ or written to permanent
store before the CMD_UPDATE is executed.
Inputs: none
Results:
* io_Error contains possible error code or 0 if command was
successfull
NI_BYNAME - search by name
Inputs:
* io_Data contains buffer for database entry. The buffer will
be filled wtih entry data upon successfull execution. The name
member of structure should be pointer to a C string containing
the name of desired entry
* io_Length contains database len
Results:
* io_Actual contains length of the database entry
* io_Error contains possaible error code or 0 if command was
successfull
NI_BYUID - search by ID
Inputs:
* io_Data contains buffer for database entry. The buffer will
be filled wtih entry data upon successfull execution. The ID
member of structure should be set to desired value.
* io_Length contains database len
Results:
* io_Actual contains length of the database entry
* io_Error contains possaible error code or 0 if command was
successfull
NI_MEMBERS - find out memberships
This command is implemented only for group unit. It collects
the IDs of groups which have a given user as member.
Inputs:
* io_Data is address to LONG array which is filled with group
IDs
* io_Length is the length of the array in bytes
* io_Offset is a pointer to C string containing the name of
user whose memberships are desired
Results:
* io_Actual contains length of the group ID array in bytes
* io_Error contains possaible error code or 0 if command was
successfull.
netinfo.device/group netinfo.device/group
NAME
group - format of the group permissions file
DESCRIPTION
The file <AmiTCP:db/group> consists of newline separated ASCII
records, one per group, containing four bar `|' separated fields.
These fields are as follows:
group Name of the group.
passwd Group's encrypted password.
gid The group's decimal ID.
member Group members.
The group field is the group name used for granting file access to
users who are members of the group. The gid field is the number
associated with the group name. They should both be unique across
the system (and often across a group of systems) since they control
file access. The passwd field is an optional encrypted password.
This field is rarely used and an asterisk is normally placed in it
rather than leaving it blank. The member field contains the names
of users granted the priviledges of group. The member names are
separated by commas with out spaces or newlines. A user is
automatically in a group if that group was specified in their
AmiTCP:db/passwd entry and does not need to be added to that group
in the AmiTCP:db/group file.
FILES
AmiTCP:db/group
SEE ALSO
passwd
HISTORY
A group file format appeared in Version 6 AT&T UNIX.
netinfo.device/passwd netinfo.device/passwd
NAME
passwd - format of the password file
DESCRIPTION
The passwd files are files consisting of newline separated records,
one per user, containing seven bar (`|') separated fields. These
fields are as follows:
name User's login name.
password User's encrypted password.
uid User's id.
gid User's login group id.
gecos General information about the user.
home_dir User's home directory.
shell User's login shell.
The name field is the login used to access the computer account, and
the uid field is the number associated with it. They should both be
unique across the system (and often across a group of systems) since
they control file access.
While it is possible to have multiple entries with identical login
names and/or identical user id's, it is usually a mistake to do so.
Routines that manipulate these files will often return only one of
the multiple entries, and that one by random selection.
The login name must never begin with a hyphen (`-'); also, it is
strongly suggested that neither upper-case characters or dots (`.')
be part of the name, as this tends to confuse mailers. No field may
contain a bar (`|') as this has been used to separate the fields in
the user database.
The password field is the encrypted form of the password. The actual
format is not restricted by netinfo.device, but usergroup.library
uses same format as Version 7 UNIX (POSIX) or 4.4BSD. The format
used by MultiUser 1.5 or AS225r2<72> is also possible, but its use is
strongly discouraged.
If the password field is empty, no password will be required to gain
access to the machine. This is almost invariably a mistake. Because
these files contain the encrypted user passwords, they should not be
readable by anyone without appropriate privileges.
The group field is the group that the user will be placed in upon
login.
The gecos field normally contains comma (`,') separated subfields as
follows:
name user's full name
office user's office number
wphone user's work phone number
hphone user's home phone number
This information is used by the finger program.
The user's home directory is the full DOS path name where the user
will be placed on login.
The shell field is the command interpreter the user prefers. If
there is nothing in the shell field, the CLI is assumed.
FILES
AmiTCP:db/passwd
SEE ALSO
group
COPYRIGHT
Copyright 1980, 1991 The Regents of the University of California.
Copyright 1993, 1994 AmiTCP/IP Group,
Network Solutions Development Inc.
HISTORY
A passwd file format appeared in Version 6 AT&T UNIX.
The used format is basically the same as in the Multiuser Library
1.3 and AS225r2 use, except the password field.