GNU/Linux >> Linux Esercitazione >  >> Linux

Comprendere il file /etc/exports

La configurazione principale per il server NFS è il file /etc/exports. Questo è il file che usi per specificare quali directory vuoi condividere con i client NFS. La sintassi di questo file è:

Directory      hostname(options)

Il valore di Directory deve essere sostituito con il nome della directory che si desidera condividere (ad esempio, /usr/share/doc). Il valore nome host dovrebbe essere un nome host del client che può essere risolto in un indirizzo IP. Le opzioni value viene utilizzato per specificare come condividere la risorsa.

Ad esempio, la voce seguente nel file /etc/exports condividerà la directory /usr/share/doc con il client NFS client01 (con le opzioni di lettura-scrittura) e il client NFS client02 (con l'opzione di sola lettura ):

# vi /etc/exports
/usr/share/doc      client01(rw) client02(ro)

Si noti che c'è uno spazio tra il nome/opzioni client01 e client02, ma non c'è spazio tra il nome host e la sua opzione corrispondente. Un errore comune degli amministratori inesperti è fornire una voce come la seguente:

/usr/share/doc client01 (rw)

La riga precedente condivideva la directory /usr/share/doc con l'host client01 con le opzioni predefinite e tutti gli altri host avrebbero accesso a questa condivisione in lettura-scrittura.

Quando specifichi un nome host nel file /etc/exports, sono consentiti i seguenti metodi:

  • nome host :un nome host che può essere risolto in un indirizzo IP.
  • netgroup :Un netgroup NIS che utilizza la designazione di @groupname.
  • dominio :un nome di dominio che utilizza caratteri jolly. Ad esempio, *.onecoursesource.com includerebbe qualsiasi macchina nel dominio onecoursesource.com.
  • Rete :una rete definita da indirizzi IP che utilizzano VLSM (Variable Length Subnet Mask) o CIDR (Classless Inter-Domain Routing). Esempi:192.168.1.0/255.255.255.0 e 192.168.1.0/24.

Ci sono molte diverse opzioni di condivisione NFS, incluse queste:

  • rw :Condividi come lettura-scrittura. Tieni presente che si applicano ancora le normali autorizzazioni Linux. (Nota che questa è un'opzione predefinita.)
  • ro :condividi come di sola lettura.
  • sincronizzazione :le modifiche ai dati dei file vengono apportate immediatamente al disco, il che ha un impatto sulle prestazioni, ma è meno probabile che comporti una perdita di dati. Su alcune distribuzioni questa è l'impostazione predefinita.
  • asincrono :L'opposto della sincronizzazione; le modifiche ai dati del file vengono inizialmente apportate alla memoria. Ciò accelera le prestazioni ma è più probabile che si traduca in una perdita di dati. Su alcune distribuzioni questa è l'impostazione predefinita.
  • root_squash :mappa l'utente root e l'account di gruppo dal client NFS agli account anonimi, in genere l'account nessuno o l'account nfsnobody. Per ulteriori dettagli, vedere la sezione successiva, "Mappatura ID utente". (Nota che questa è un'opzione predefinita.)
  • no_root_squash :mappa l'utente root e l'account di gruppo dal client NFS agli account root e di gruppo locali.
Opzioni di montaggio NFS comuni in Linux

Mappatura ID utente

Per rendere il processo di condivisione delle risorse dal server NFS al client NFS il più trasparente possibile, assicurati che gli stessi UID (ID utente) e GID (ID gruppo) vengano utilizzati su entrambi i sistemi.

Comandi del server NFS

Il comando exportfs può essere utilizzato sul server NFS per visualizzare ciò che è attualmente condiviso:

# exportfs
/share          [world]

Il comando exportfs può essere utilizzato anche per condividere temporaneamente una risorsa, supponendo che i servizi NFS siano già stati avviati:

# exportfs -o ro 192.168.1.100:/usr/share/doc
# exportfs
/usr/share/doc  192.168.1.100
/share          [world]

Il -o opzione viene utilizzata per specificare le opzioni di condivisione. L'argomento include il nome dei sistemi con cui condividere, nonché la directory da condividere, separati da due punti (:).

Se apporti modifiche al file /etc/exports, qualsiasi nuova condivisione aggiunta verrà abilitata dopo un riavvio. Se vuoi abilitare queste modifiche immediatamente, esegui il seguente comando:

# exportfs –a

Il nfsstat comando può visualizzare utili informazioni NFS. Ad esempio, il comando seguente mostra ciò che è attualmente montato dai client NFS:

# nfsstat -m
/access from 10.0.2.15:/share
 Flags: rw,vers=3,rsize=131072,wsize=131072,hard,proto=tcp,timeo=600,
retrans=2,sec=sys,addr=10.0.2.15

Il comando showmount mostra informazioni simili:

# showmount -a
All mount points on onecoursesource.localdomain:
10.0.2.15:/share

Configurazione di un client NFS

Il montaggio di una condivisione NFS non è molto diverso dal montaggio di una partizione o di un volume logico. Per prima cosa crea una directory normale:

# mkdir /access

Quindi, usa il comando mount per montare la condivisione NFS:

# mount 192.168.1.22:/share /access

Puoi verificare che il montaggio sia andato a buon fine eseguendo il comando mount o visualizzando /proc/mounts file. Il vantaggio di visualizzare il file /proc/mounts è che fornisce maggiori dettagli:

# mount | tail -1
192.168.1.22:/share on /access type nfs (rw,addr=192.168.1.22)
# tail -1 /proc/mounts
192.168.1.22:/share /access nfs rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,
timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.22,mountvers=3, 
mountport=772,mountproto=udp,local_lock=none,addr=192.168.1.22 0 0

Se il client NFS fosse stato riavviato, questo montaggio non sarebbe stato ristabilito dopo l'avvio del sistema. Per rendere questo un montaggio persistente tra i riavvii, aggiungi una voce come la seguente in /etc/fstab file:

# tail -1 /etc/fstab
192.168.1.22:/share      /access  nfs      defaults      0      0

Dopo aver aggiunto questa voce al file /etc/fstab, smontare la condivisione NFS (se necessario) e testare la nuova voce fornendo solo il punto di montaggio durante l'esecuzione del comando di montaggio:

# umount /access
# mount /access
# mount | tail -1
192.168.1.22:/share on /access type nfs (rw,addr=192.168.1.22)


Linux
  1. Un'introduzione al file Linux /etc/fstab

  2. Comprensione del file di configurazione dm-multipath /etc/multipath.conf

  3. Comprendere il file /etc/inittab in Linux

  4. CentOS / RHEL:come recuperare dal file /etc/passwd cancellato

  5. Comprensione del file /etc/login.defs

Comprendere il file /etc/passwd

Comprendere il file /etc/shadow

Comprensione del file /etc/group

Comprendere il file /etc/fstab in Linux

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

Qual è il limite di dimensione di /etc/hosts?