Mappatura di UID e GID dell'utente locale sulla condivisione NFS montata


36

Ho un server con NFSv4. Sto montando i contenuti della cartella principale dell'utente remoto sull'host locale. In grado di leggere e scrivere contenuti, ma quando controllo la proprietà dei file sul volume montato dall'host locale, appartengono tutti al corrispondente utente e gruppo remoto (512). C'è un modo per far sembrare che appartengano all'utente locale e al gruppo (1000) sull'host locale?

/ etc / exports su host remoto (IP è 192.168.1.110)

/home/user512 192.168.1.142(rw,sync,all_squash,anonuid=512,anongid=512)

/ etc / fstab sul locale host (IP è 192.168.1.142)

192.168.1.110:/home/user512    /home/localuser/projects/project512   nfs    rw,hard,intr,rsize=32768,wsize=32768    0       0

Risposte:


34

Questo è ciò che si suppone che faccia l'idmapping. Prima di tutto, abilitare è sul client e sul server:

# echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping

pulire la cache idmap e riavviare il demone idmap:

# nfsidmap -c
# service rpcidmapd restart

Ora sul server e il client invierà invece ID principali numerici stringa come bob@YOURDOMAIN.COM . È necessario disporre di un account bob su entrambi gli host: client e server. Tuttavia, gli ID numerici possono essere diversi.


7
Ftr, sul server nfs il percorso è / sys / module / nfsd / parametri / nfs4_disable_idmapping (nfsd, non nfs)
Mike Purcell,

2
Nessun servizio rpcidmapdsul mio client Linux Mint.
Corni,

1
Domanda su questa risposta: echo N > /sys/module/nfsd/parameters/nfs4_disable-idmapping questa impostazione renderà permanente questa impostazione o dovrò ripristinarla ogni volta dopo il riavvio?
mauritslamers,

4
Sotto Ubuntu il servizio viene chiamato idmapdinvece dirpcidmapd
mauritslamers il

2
Debian => idmapd dal pacchetto nfs-common Il servizio è chiamatonfs-idmapd
Philippe Gachoud,

5

Hai tutti i pezzi lì. Dalla pagina man exportfs, all_squashassocia tutti gli uid e le gid alle versioni anonime. Quello che hai scritto ha costretto quei valori a 512. Se tu cambiassi in 1000, il server nfs sull'host remoto renderebbe tutto 1000 e l'accesso dovrebbe essere concesso.


Il mio uid sul client è 1000, l'uid dell'utente con lo stesso nome sul server è 1003. Ho provato a impostare anonuid=1000,anongid=1000e anonuid=1003,anongid=1003(e riavviare nfsserver e annullare / rimontare la condivisione) e nessuno dei due funziona. Downvoting, perché questa risposta non sembra funzionare.
Phrogz,

Solo per confermare, quali sono le voci di esportazione e fstab?
diventando più

1
/home/gkistner *(async,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)nelle esportazioni e 10.20.118.112:/home/gkistner /mnt/r2 nfs rsize=8192,wsize=8192,timeo=14,intrin fstab
Phrogz,

3

sul tuo client nfs, modifica /etc/idmapd.conf e cambia

[Mapping]

Nobody-User = myappuser
Nobody-Group = myappuser

dopo questo riavvio del servizio nfs

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.