GNU/Linux >> Tutoriels Linux >  >> Linux

Comprendre le fichier /etc/exports

La configuration principale du serveur NFS est le fichier /etc/exports. Il s'agit du fichier que vous utilisez pour spécifier les répertoires que vous souhaitez partager avec les clients NFS. La syntaxe de ce fichier est :

Directory      hostname(options)

La valeur de Répertoire doit être remplacé par le nom du répertoire que vous souhaitez partager (par exemple, /usr/share/doc). La valeur nom d'hôte doit être un nom d'hôte client qui peut être résolu en une adresse IP. Les options La valeur est utilisée pour spécifier comment la ressource doit être partagée.

Par exemple, l'entrée suivante dans le fichier /etc/exports partagerait le répertoire /usr/share/doc avec le client NFS client01 (avec les options de lecture-écriture) et le client NFS client02 (avec l'option de lecture seule ):

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

Notez qu'il y a un espace entre les noms/options client01 et client02, mais pas d'espace entre le nom d'hôte et son option correspondante. Une erreur courante des administrateurs novices est de fournir une entrée comme celle-ci :

/usr/share/doc client01 (rw)

La ligne précédente partagerait le répertoire /usr/share/doc avec l'hôte client01 avec les options par défaut, et tous les autres hôtes auraient accès à ce partage en lecture-écriture.

Lorsque vous spécifiez un nom d'hôte dans le fichier /etc/exports, les méthodes suivantes sont autorisées :

  • nom d'hôte  :Un nom d'hôte qui peut être résolu en une adresse IP.
  • netgroup :Un groupe réseau NIS utilisant la désignation de @groupname.
  • domaine :Un nom de domaine utilisant des jokers. Par exemple, *.onecoursesource.com inclura n'importe quelle machine dans le domaine onecoursesource.com.
  • Réseau :Un réseau défini par des adresses IP utilisant soit VLSM (Variable Length Subnet Mask) ou CIDR (Classless Inter-Domain Routing). Exemples :192.168.1.0/255.255.255.0 et 192.168.1.0/24.

Il existe de nombreuses options de partage NFS, notamment :

  • rw :Partager en lecture-écriture. Gardez à l'esprit que les autorisations Linux normales s'appliquent toujours. (Notez qu'il s'agit d'une option par défaut.)
  • ro  :Partager en lecture seule.
  • synchroniser :les modifications de données de fichiers sont apportées immédiatement au disque, ce qui a un impact sur les performances, mais est moins susceptible d'entraîner une perte de données. Sur certaines distributions, c'est la valeur par défaut.
  • asynchrone :Le contraire de la synchronisation ; les modifications des données du fichier sont initialement apportées à la mémoire. Cela accélère les performances, mais est plus susceptible d'entraîner une perte de données. Sur certaines distributions, c'est la valeur par défaut.
  • root_squash :Mappez l'utilisateur racine et le compte de groupe du client NFS aux comptes anonymes, généralement le compte personne ou le compte nfsnobody. Reportez-vous à la section suivante, « Mappage de l'ID utilisateur », pour plus de détails. (Notez qu'il s'agit d'une option par défaut.)
  • no_root_squash :Mappez l'utilisateur racine et le compte de groupe du client NFS vers les comptes racine et de groupe locaux.
Options de montage NFS courantes sous Linux

Mappage de l'ID utilisateur

Pour rendre le processus de partage des ressources du serveur NFS vers le client NFS aussi transparent que possible, assurez-vous que les mêmes UID (ID utilisateur) et GID (ID de groupe) sont utilisés sur les deux systèmes.

Commandes du serveur NFS

La commande exportfs peut être utilisée sur le serveur NFS pour afficher ce qui est actuellement partagé :

# exportfs
/share          [world]

La commande exportfs peut également être utilisée pour partager temporairement une ressource, en supposant que les services NFS ont déjà été démarrés :

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

Le -o option est utilisée pour spécifier les options de partage. L'argument inclut le nom des systèmes avec lesquels partager, ainsi que le répertoire à partager, séparés par un caractère deux-points (:).

Si vous apportez des modifications au fichier /etc/exports, tout partage nouvellement ajouté sera activé après un redémarrage. Si vous souhaitez activer ces modifications immédiatement, exécutez la commande suivante :

# exportfs –a

Le nfsstat La commande peut afficher des informations NFS utiles. Par exemple, la commande suivante affiche ce qui est actuellement monté par les clients 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

La commande showmount affiche des informations similaires :

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

Configuration d'un client NFS

Le montage d'un partage NFS n'est pas très différent du montage d'une partition ou d'un volume logique. Créez d'abord un répertoire normal :

# mkdir /access

Ensuite, utilisez la commande mount pour monter le partage NFS :

# mount 192.168.1.22:/share /access

Vous pouvez vérifier que le montage a réussi en exécutant la commande mount ou en consultant le fichier /proc/mounts dossier. L'avantage d'afficher le fichier /proc/mounts est qu'il fournit plus de détails :

# 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

Si le client NFS était redémarré, ce montage ne serait pas rétabli après le démarrage du système. Pour en faire un montage persistant lors des redémarrages, ajoutez une entrée comme celle-ci dans /etc/fstab fichier :

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

Après avoir ajouté cette entrée au fichier /etc/fstab, démontez le partage NFS (si nécessaire) et testez la nouvelle entrée en fournissant uniquement le point de montage lors de l'exécution de la commande mount :

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


Linux
  1. Comprendre le fichier /etc/xinetd.conf sous Linux

  2. Comprendre le fichier /etc/inittab sous Linux

  3. Comprendre le répertoire /etc/sysconfig

  4. Présentation du fichier de configuration de l'interface réseau /etc/sysconfig/network-scripts/ifcfg-eth#

  5. Comprendre le répertoire /etc/skel sous Linux

Comprendre le fichier /etc/passwd

Comprendre le fichier /etc/shadow

Comprendre le fichier /etc/group

Comprendre le fichier /etc/fstab sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Quelle est la limite de taille de /etc/hosts ?