晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /usr/share/doc/libnfsidmap/ |
Upload File : |
Library to help mapping id's, mainly for NFSv4.
When NFSv4 is using AUTH_GSS (which currently only supports Kerberos v5), the
NFSv4 server mapping functions MUST use secure communications.
We provide several mapping functions, configured using /etc/idmapd.conf
As of the 0.21 version of this library, mapping methods are separate
dynamically-loaded libaries. This allows the separation of any
LDAP requirements from the main libnfsidmap library. The main library
now basically loads and calls the functions in the method-specific
libaries. The method libraries are expected to be named
"libnfsidmap_<method>.so", for example, "libnfsidmap_nsswitch.so".
Several methods may be specified in the /etc/idmapd.conf configuration
file. Each method is called until a mapping is found.
The following translation methods are delivered in the default distribution:
nsswitch
--------
The default method is called nsswitch. This method uses the get password
file entry functions getpwname(), getpwid(), and the get group file entry
functions getgrnam(), getgrgid(). The nsswitch method can therefore be
configured by the /etc/nss_switch.conf passwd data base stanza. If secure
communications are required (AUTH_GSS), the passwd data base stanza can contain
the 'file' entry because the rpc.idmapd and rpc.svcgssd run as root, and/or the
'ldap' entry if the ldap service is configured to use SASL in /etc/ldap.conf.
The 'nis' entry is NOT recommended, it does not have a secure communications
mode.
static
------
This method works only for translating GSS authenticated names to local
names. It uses a static mapping setup defined in the [Static] section
of the idmapd.conf file. The form of the entries are:
<GSS-Authenticated name> = <localuser>
For example:
nfs/host.domain.org@DOMAIN.ORG = root
It is recommended that this module be used in combination with another
module (e.g. the nsswitch module).
umich_ldap
----------
An experimental method, umich_ldap uses an LDAP schema and ldap functions
to perform translations. This method is designed to service remote users,
allowing remote users to set and get ACLs as well as map GSS principals
to id's. The functions are LDAP based, and the ldap search filters look
for attribute names set by idmapd.conf [UMICH_SCHEMA]
NFSv4_name_attr, NFSv4_group_attr, and GSS_principal_attr.
It is assumed that the LDAP server will index these attributes, and that these
attributes will be associated with the nss.schema posixAccount uidNumber and
gidNumber. We expect that the uidNumber and gidNumber attribute will be
configurable via the idmapd.conf file soon.
NFSv4_name_attr holds an NFSv4 name of the form user@domain, where the domain
portion of the name is a valid NFSv4 domain name. There is a one-to-one
mapping between the NFSv4_name_attr name and a UID.
NFSv4_group_attr holds an NFSv4 name of the form group@domain, where the domain
portion of the name is a valid NFSv4 domain name. There is a one-to-one
mapping between the NFSv4_group_attr name and a GID.
GSS_principal_attr holds a GSS security mechanism specific context principal
name. For Kerberos v5, it is a Kerberos principal <service/>principal@REALM.
For SPKM3, it is a PKI DN such as (line is split):`
"/C=US/ST=Michigan/O=University of Michigan/OU=UMICH Kerberos
Certification Authority/CN=andros/USERID=andros/Email=andros@UMICH.EDU".
There is a many-to-one relationship between the GSS_principal_attr
name and a UID plus GID.
We have defined LDAP object classes for our experimental NFSv4 id mapping.
We made the attribute names configurable so that other sites could still use
the TR_UMICH_LDAP translation functions with different LDAP attribute names.
We use the same attribute name, NFSv4Name for the NFSv4_name_attr and the
NFSv4_group_attr. For local users and remote users that we wish to give
a local machine account, we add the NFSv4Name attribute and the GSSAuthName
attribute to the existing inetorgPerson and posixAccount schema.
For remote users that we do not wish to give a local machine account,
we use the NFSv4RemotePerson object to contain the NFSv4Name, uidNumber,
gidNumber, and GSSAuthName.
nfsv4.schema
------------
attributetype ( 1.3.6.1.4.1.250.1.61
NAME ( 'NFSv4Name')
DESC 'NFS version 4 Name'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
SINGLE-VALUE)
attributetype ( 1.3.6.1.4.1.250.1.62
NAME ( 'GSSAuthName')
DESC 'RPCSEC GSS authenticated user name'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
#
# minimal information for NFSv4 access. used when local filesystem
# access is not permitted (nsswitch ldap calls fail), or when
# inetorgPerson is too much info.
#
objectclass ( 1.3.6.1.4.1.250.1.60 NAME 'NFSv4RemotePerson'
DESC 'NFS version4 person from remote NFSv4 Domain'
SUP top STRUCTURAL
MUST ( uidNumber $ gidNumber $ NFSv4Name )
MAY ( cn $ GSSAuthName $ description) )
#
# minimal information for NFSv4 access. used when local filesystem
# access is not permitted (nsswitch ldap calls fail), or when
# inetorgPerson is too much info.
#
objectclass ( 1.3.6.1.4.1.250.1.63 NAME 'NFSv4RemoteGroup'
DESC 'NFS version4 group from remote NFSv4 Domain'
SUP top STRUCTURAL
MUST ( gidNumber $ NFSv4Name )
MAY ( cn $ memberUid $ description) )