Server IP : 162.241.126.129 / Your IP : 52.15.173.197 Web Server : Apache System : Linux 162-241-126-129.cprapid.com 4.18.0-477.27.2.el8_8.x86_64 #1 SMP Fri Sep 29 08:21:01 EDT 2023 x86_64 User : rvway5nu4 ( 1018) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON 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) )