NAME
fns_initial_context − overview of the FNS Initial Context
DESCRIPTION
Every FNS name is interpreted relative to some context, and every FNS naming operation is performed on a context object. The FNS programming interface (XFN) provides a function that allows the client to obtain an Initial Context object. The Initial Context provides the initial pathway to other FNS contexts. FNS defines a set of bindings that the client can expect to find in this context,
FNS assumes that for every process:
1. |
There is a user associated with the process when fn_ctx_handle_from_initial() is invoked. This association is based on the effective uid of the process. In the following discussion this user is denoted by U. The association of user to process may change during the life of a process but does not affect the context handle originally returned by fn_ctx_handle_from_initial(). | ||
2. |
The process is running on a host when fn_ctx_handle_from_initial() is invoked. In the following discussion this host is denoted by H. |
The following atomic names can appear in the Initial Context:
Except for ..., these names with an added underscore (’_’) prefix are also in the Initial Context and have the same binding as their counterpart (for example, thishost and _thishost have the same binding). In addition, org has the same binding as orgunit, and thisuser has the same binding as myself. The bindings for these names are summarized in the following table.
Some of these names may not necessarily appear in all Initial Contexts. For example, a process owned by the super-user of a machine does not have any of the user-related bindings. Or, for another example, an installation that has not set up a site namespace will not have the site-related bindings.
... |
global context for resolving DNS or X.500 names. Synonym: /... |
thishost
H’s host context. Synonym: _thishost
thisens
the enterprise root of H. Synonym: _thisens
thisorgunit
H’s distinguished organizational unit context. In Solaris, this is H’s NIS+ home domain. Synonym: _thisorgunit
myself
U’s user context. Synonyms: _myself, thisuser
myens |
the enterprise root of U. Synonym: _myens |
myorgunit
U’s distinguished organizational unit context. In Solaris, this is U’s NIS+ home domain. Synonym: _myorgunit
user |
the context in which users in the same organizational unit as H are named. Synonym: _user | ||
host |
the context in which hosts in the same organizational unit as H are named. Synonym: _host | ||
org |
the root context of the organizational unit namespace in H’s enterprise. In Solaris, this corresponds to the NIS+ root domain. Synonyms: orgunit, _orgunit | ||
site |
the root context of the site namespace in H’s enterprise, if the site namespace has been configured. Synonym: _site |
EXAMPLES
Example 1: Names beginning with the enterprise root
The types of
objects that may be named relative to the enterprise root
are user, host, service, organizational unit, file, and
site. Here are some examples of names that begin with the
enterprise root:
thisens/orgunit/multimedia.servers.engineering
names an organizational unit multimedia.servers.engineering in H’s enterprise.
thisens/site/northwing.floor3.admin
names the north wing site, on the third floor of the administrations building in H’s enterprise.
myens/user/hdiffie
names the user hdiffie in U’s enterprise.
myens/service/teletax
names the teletax service of U’s enterprise.
Example 2: Names beginning with organizational unit names
The types of
objects that may be named relative to an organizational unit
name are: user, host, service, file, and site. Here are some
examples of names that begin with organizational unit names
(either explicitly via org, or implicitly via
thisorgunit or myorgunit), and name objects
relative to organizational unit names when resolved in the
Initial Context:
org/accounts_payable.finance/site/videoconference.northwing
names a conference room videoconference located in the north wing of the site associated with the organizational unit accounts_payable.finance.
org/finance/user/mjones
names a user mjones in
the organizational unit
finance.
org/finance/host/inmail
names a machine inmail belonging to the organizational unit finance.
org/accounts_payable.finance/fs/pub/blue-and-whites/FY92-124
names a file pub/blue-and-whites/FY92-124 belonging to the organizational unit accounts_payable.finance.
org/accounts_payable.finance/service/calendar
names the calendar service of the organizational unit accounts_payable.finance. This might manage the meeting schedules of the organizational unit.
thisorgunit/user/cmead
names the user cmead in H’s organizational unit.
myorgunit/fs/pub/project_plans/widget.ps
names the file pub/project_plans/widget.ps exported by U’s organizational unit’s file system.
Example 3: Names beginning with site names
The types of
objects that may be named relative to a site name are users,
hosts, services, and files. Here are some examples of names
that begin with site names via site, and name objects
relative to sites when resolved in the Initial Context:
site/b5.mtv/service/printer/speedy
names a printer speedy in the b5.mtv site.
site/admin/fs/usr/dist
names a file directory usr/dist available in the site admin.
Example 4: Names beginning with user names
The types of
objects that may be named relative to a user name are
services and files. Here are some examples of names that
begin with user names (explicitly via user or
implicitly via thisuser), and name objects relative
to users when resolved in the Initial Context:
user/jsmith/service/calendar
names the
calendar service of the user jsmith.
user/jsmith/fs/bin/games/riddles
names the file bin/games/riddles of the user jsmith.
thisuser/service/printer
names the printer service of U.
Example 5: Names beginning with host names
The types of
objects that may be named relative to a host name are
services and files. Here are some examples of names that
begin with host names (explicitly via host or implicitly
via thishost), and name objects relative to hosts when
resolved in the Initial Context:
host/mailhop/service/mailbox
names the
mailbox service associated with the machine
mailhop.
host/mailhop/fs/pub/saf/archives.91
names the directory pub/saf/archives.91 found under the root directory of the machine mailhop.
thishost/service/printer
names the printer service of H.
SEE ALSO
nis+(1), geteuid(2), fn_ctx_handle_from_initial(3XFN), xfn(3XFN), fns(5), fns_policies(5)