Linux |
CentOS 4.8 |
|
exports(5) |
exports − Systèmes de fichiers à exporter par NFS. |
/etc/exports |
Le fichier /etc/exports sert de liste de contrôle d’accès pour les systèmes de fichiers à exporter aux clients NFS. Il est utilisé à la fois par le démon de montage NFS mountd(8) et par le démon serveur NFS nfsd(8). Le format de ce fichier est similaire à celui de SunOS, exports, avec plusieurs options supplémentaires. Chaque ligne correspond à un point de montage, et à une liste de machines, ou de noms de sous-réseaux autorises à monter le système de fichiers situé en ce point. Une liste éventuelle de paramètres est mise entre parenthèses après le nom de machine. Les lignes blanches sont ignorées, et un # indique un commentaire s’étendant jusqu’à la fin de la ligne. |
Options générales |
secure |
Cette option réclame que les requêtes proviennent d’un port internet de numéro inférieur à IPPORT_RESERVED (1024). Elle est en service par défaut. Pour la désactiver, introduire le mot−clé insecure. |
||
ro |
N’autorise que des requêtes en lecture−seule sur ce volume NFS. Le comportement par défaut autorise également les requêtes en écriture, ce que l’on peut également mentionner explicitement en utilisant l’option rw. |
link_relative |
Convertit les liens symboliques absolus (dont le contenu commence par un slash) en lien relatifs en ajoutant le nombre nécessaire de "../" pour aller de l’emplacement du lien à la racine du serveur. Cette option a une sémantique assez subtile, parfois surprenante lorsque la hiérarchie n’est pas montée à la racine. |
link_absolute |
Laisse les liens symboliques tels qu’ils sont. C’est l’attitude par défaut. |
Correspondance des UID |
nfsd effectue les contrôles d’accès aux fichiers du serveur en se basant sur les UID et GID fournis avec chaque requête RPC NFS. L’utilisateur s’attend à pouvoir accéder à ses fichiers sur le serveur NFS exactement comme il y accéderait sur un système de fichiers normal. Ceci nécessite que les mêmes UID et GID soient utilisés sur le serveur et sur la machine cliente. Ce n’est pas toujours vrai, et même parfois indésirable. Il est souvent très gênant que le Super−User d’une machine cliente soit traité comme le Super−User lorsqu’il accède aux fichiers du serveur. Pour éviter ceci, l’UID 0 (root) est normalement transformé en un autre UID : par exemple en UID anonyme nobody. Ce mode opératoire s’appelle ‘root squashing’ et est le comportement par défaut. On peut le supprimer avec l’option no_root_squash. Par défaut nfsd essaye d’obtenir un UID et un GID anonymes en cherchant au démarrage l’utilisateur nobody dans le fichier des mots de passe. S’il n’en trouve pas, un UID et un GID valant −2 (en fait 65534) sont utilisés. Ces valeurs peuvent être modifiées avec les options anonuid et anongid. De plus, nfsd vous permet d’indiquer des UIDs ou GIDs arbitraires qui seront transformés en utilisateur anonymes. Enfin, vous pouvez même transformer les requêtes de tous les utilisateurs en UIG et GID anonymes avec l’option all_squash . Pour être utilisé dans des sites où les UIDs varient suivant les machines, nfsd fournit une méthode de conversion dynamique des UIDs du serveur en UIDs du client et inversement. Ceci est mis en service avec l’option map_daemon et utilise le protocole RPC UGID. Il faut que le démon de conversion ugidd(8) soit actif sur le client. Voici une liste complète des options de conversion : |
root_squash |
Transforme les requêtes des UID/GID 0 en UID/GID anonymes. Ceci ne s’applique pas aux autres UID/GID sensibles comme bin. |
no_root_squash |
Ne pas transformer les UID/GID 0. Cette option est particulièrement utiles pour les stations sans disque. |
squash_uids et squash_gids |
Cette option précise une liste d’UIDs ou de GIDs qui sont convertis en utilisateurs anonymes. Une liste valide d’UIDs se présente ainsi : |
squash_uids=0-15,20,25-50 Habituellement la liste à convertir est plus simple, comme dans : squash_uids=0-100 |
all_squash |
Convertit tous les UID/GID en utilisateurs anonymes. Utiles pour exporter avec NFS des répertoires publics de FTP, des répertoires de News, etc... L’option inverse est no_all_squash, qui s’applique par défaut. |
map_daemon |
Cette option active la conversion dynamique des UID/GID. Chaque UID d’une requête NFS sera transformé en UID équivalent sur le serveur, et l’UID des réponses NFS subira la transformation inverse. Ceci nécessite que le démon rpc.ugidd(8) soit en fonctionnement sur le client. La configuration par défaut est map_identity, qui laisse les UIDs intacts. Les options de ‘squash’ s’appliquent que la conversion dynamique soit utilisée ou non. |
anonuid et anongid |
Ces options donne explicitement l’UID et le GID du compte anonyme. Ceci est surtout utiles pour les clients PC/NFS, où l’on désire que toutes les requêtes semblent provenir d’un utilisateur. C’est le cas de l’entrée /home/joe dans l’exemple ci-dessous, qui transforme toutes les requêtes en UID 150 (probablement celle de l’utilisateur joe). |
# fichier /etc/exports d’exemple / maître(rw) confiance(rw,no_root_squash) /projects proj*.local.domain(rw) /usr *.local.domain(ro) @trusted(rw) /home/joe pc001(rw,all_squash,anonuid=150,anongid=100) /pub (ro,insecure,all_squash) La première ligne exporte l’ensemble du système de fichiers vers les machines maître et confiance. En plus des droits d’écriture, toutes conversions d’UID est abandonnée pour l’hôte confiance. La deuxième et la troisième lignes montrent des exemples de noms d’hôtes génériques, et de sous-réseaux (‘@trusted’). La quatrième ligne montre une entrée pour le client PC/NFS présenté plus haut. La dernière ligne exporte un répertoire public de FTP, à tous les hôtes dans le monde, en effectuant les requêtes sous le compte anonyme. L’option insecure permet l’accès aux clients dont l’implémentation NFS n’utilise pas un port réservé. |
Contrairement à d’autres implémentations NFS, ce nfsd vous autorise à exporter à la fois un répertoire et un sous-répertoire à destination du même hôte, par exemple : /usr et /usr/X11R6. Dans ce cas, l’option de montage la plus spécifique s’applique. Par exemple si un utilisateur sur le client accède à un fichier dans /usr/X11R6, les options de montages fournies avec /usr s’appliquent également. C’est encore vrai lors de l’utilisation de caractères génériques ou de sous-réseaux. |
/etc/exports |
Fichier de configuration pour nfsd(8). |
/etc/passwd |
Fichier des mots de passe. |