LDAP + KERBEROS + NFS. Perché ho bisogno di idmapd?

Quello che sto cercando di fare

Ho un dominio freeIPA, con pochi clienti e un Synology NAS (anche iscritto in freeIPA).

Ho creato una cartella condivisa sul NAS, con supporto NFSv4 + krb5. Dal cliente ottengo un biglietto per l'utente LDAP user1@mydomain.com e posso montare questa cartella.

Inizialmente, i file creati in questa cartella sarebbero di properties; di nobody utente.

Ho finalmente funzionato, cambiando /etc/idmapd.conf sul NAS

  • avere il dominio impostato correttamente
  • avere una mapping statica tra user1@mydomain.com e un utente locale

Domanda

Capisco il ruolo di idmapd per NFS in generale.

In questo caso tuttavia:

  • perché ho bisogno di mappe esplicite? Non riesco a capire se stesso?
  • perché ho bisogno di una mapping a tutti? Il NAS è anche nello stesso dominio freeIPA, è un client LDAP e dispone dei giusti kerberos principals.It conosce perfettamente chi user1@mydomain.com è, perché non può semplicemente utilizzare THAT uid per la properties; di file in quella cartella, anziché l'utente di un utente locale? Posso evitare di creare utenti locali?

Il mio attuale idmapd.conf aspetto:

 [General] Domain=hq.example.com [Mapping] Nobody-User=guest Nobody-Group=users [Translation] Method=nsswitch GSS-Methods=static,synomap [Static] user1@HQ.EXAMPLE.COM=user1 

Quello che vorrei get è che non ho bisogno di quella mapping statica user1@HQ.EXAMPLE.COM=user1 e, se ansible, non ho nemless bisogno di creare un utente user1 locale sul NAS.

  • l'utente di openldap non può accedere quando si utilizza tcsh
  • Ritardo all'avvio di NIS e NFS fino a quando l'interface di networking è pronta per Fedora 17
  • nfs, l'esecuzione negata
  • Informazioni sulla condivisione di una cartella con NFS che è già una cartella NFS condivisa da un altro server
  • Scegliere una tecnologia SAN per 100 server VM
  • Il migliore sistema per servire i database sqlite ai server web su una networking?
  • NFS Over OpenVPN: Miglior Prestazioni di Prestazioni
  • Pro / Contro dei protocolli di filesharing per un ambiente Mac
  • One Solution collect form web for “LDAP + KERBEROS + NFS. Perché ho bisogno di idmapd?”

    Al contrario, il protocollo NFSv4 support un nome utente condiviso tra il server e il client e non il numero UID / GID (utilizzato nelle versioni precedenti) e l'UID <==> la mapping degli utenti può essere effettivamente diversa sul client e sul server.

    Come parte del protocollo NFSv4, sia il server deve mappare i contesti di protezione comuni / autorizzazioni, il proprietario e il gruppo owner_group a qualcosa che ha senso per le operazioni del file system locale. Quella mapping è fatta da IDMAPD sui sisthemes Linux.

    Su un sistema Linux molte operazioni di file system locali sono basate su UID / GID ma quelle devono essere tradotte nel context NFSv4 condiviso prima che possano essere trasmesse al server NFS.

    Forse RFC 3530 può spiegare meglio:

    § 5.8. Interpretare il proprietario e il gruppo proprietario

    Gli attributi consigliati "owner" e "owner_group" (e anche utenti e gruppi nell'attributo "acl") sono rappresentati in termini di string UTF-8. Per evitare una rappresentazione legata ad una particolare implementazione sottostante al client o al server, è stato scelto l'uso della string UTF-8. Si noti che la sezione 6.1 di [RFC2624] fornisce ulteriori spiegazioni. Si prevede che il client e il server avranno la propria rappresentazione locale del proprietario e del gruppo proprietario che viene utilizzato per l'archiviazione o la presentazione locale all'utente finale. Di conseguenza, si prevede che quando questi attributi siano trasferiti tra il client e il server che la rappresentazione locale sia tradotta in una syntax del module "user@dns_domain" . Ciò consente a un client e un server che non utilizzano la stessa rappresentazione locale la capacità di tradurre in una syntax comune che può essere interpretata da entrambi.


    Modifica in risposta alla tua imapd.conf.

    Si utilizza una mapping statica all'utente locale. Probabilmente vuoi mappare le identity framework; NFSv4 agli utenti LDAP, probabilmente dovrebbero accadere con l'opzione nsswitch , ma a quanto pare non lo è. Potresti provare a vedere cosa sta succedendo aumentando la verbosità del idmapd sul server NFS.

    In alternativa configurare idmapd per interrogare direttamente il server LDAP. La syntax esatta può dipendere dalla versione che utilizzi, ma la pagina man mostra qualcosa lungo le righe di:

     [General] Verbosity = 0 Domain = domain.org Local-Realms = DOMAIN.ORG,MY.DOMAIN.ORG,YOUR.DOMAIN.ORG [Mapping] Nobody-User = nfsnobody Nobody-Group = nfsnobody [Translation] Method = umich_ldap,nsswitch GSS-Methods = umich_ldap,static [Static] johndoe@OTHER.DOMAIN.ORG = johnny [UMICH_SCHEMA] LDAP_server = ldap.domain.org LDAP_base = dc=org,dc=domain 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.