Configuration
du noyau
Activez les options suivantes dans la configuration du noyau et
recompilez le noyau si nécessaire :
File systems --->
[*] Network File Systems ---> [CONFIG_NETWORK_FILESYSTEMS]
<*/M> NFS client support [CONFIG_NFS_FS]
<*/M> NFS server support [CONFIG_NFSD]
Sélectionnez les sous-options adéquates qui apparaissent quand les
options ci-dessus sont sélectionnées.
Installation
des outils NFS
Avant de compiler le programme, assurez-vous que l'utilisateur
nobody
et le groupe nogroup
ont été créé dans la version actuelle
du livre LFS. Vous pouvez les ajouter en lançant les commandes
suivantes en tant qu'utilisateur root
:
groupadd -g 99 nogroup &&
useradd -c "Unprivileged Nobody" -d /dev/null -g nogroup \
-s /bin/false -u 99 nobody
Note
Les valeurs d'uid et de gid classiques sont 65534, ce qui
signifie -2 interprété en nombre 16 bits signé. Ces valeurs
affectent d'autres fichiers sur quelques systèmes de fichiers qui
ne supportent pas les fichiers éparpillés. Les valeurs
nobody
et nogroup
sont relativement arbitraires.
L'impact sur un serveur est nul si le fichier exports
est configuré correctement. S'il est
mal configuré, un listage par ls
-l or ps affichera un numéro d'uid ou
de gid de 65534 à la place d'un nom. Le client n'utilise
nobody
qu'en tant qu'utilisateur
qui lance rpc.statd.
Corrigez un problème qui empécherait rpd.statd de démarrer:
sed -i "/daemon_init/s:\!::" utils/statd/statd.c
Installez NFS Utilities en lançant
les commandes suivantes :
./configure --prefix=/usr \
--sysconfdir=/etc \
--without-tcp-wrappers \
--disable-nfsv4 \
--disable-gss &&
make
Si votre répertoire /usr
est monté en
NFS, vous devriez installer les exécutables dans /sbin
en passant un paramètre supplémentaire
--sbindir=/sbin
à la commande
./configure
ci-dessus.
Pour tester les résultats, tapez: make check
Maintenant, en tant qu'utilisateur root
:
make install
Explication des commandes
--without-tcp-wrappers
:
Cette option est nécessaire car TCP Wrappers n'est pas dans BLFS.
--disable-nfsv41
:
Désactive le support des versions 4 de NFS.
--disable-gss
:
Désactive le support de RPCSEC GSS (RPC Security).
Configuration de NFS Utilities
Configuration du serveur
/etc/exports
contient les
répertoires exportés sur des serveurs NFS. Reportez-vous à la
page de manuel exports.5
pour la
syntaxe de ce fichier. Reportez-vous aussi au "guide pratique
NFS" disponible sur http://nfs.sourceforge.net/nfs-howto/
pour des information ons sur la manière de configurer les
serveurs et les clients de façon sécurisée. Par exemple, pour
partager le répertoire /home
via le
réseau local, vous pouvez ajouter la ligne suivante :
/home 192.168.0.0/24
(rw,subtree_check,anonuid=99,anongid=99)
Note
Soyez certain de remplacer le répertoire, l'adresse réseau et
le préfixe pour correspondre à votre réseau. Le seul espace
dans la ligne dessus doit être entre le répertoire et l'adresse
réseau.
Installez le script de démarrage /etc/rc.d/init.d/nfs-server
fourni dans le
paquet blfs-bootscripts-20150924
pour lancer le serveur au démarrage.
make install-nfs-server
Maintenant créez le fichier de configuration /etc/sysconfig/nfs-server
:
cat > /etc/sysconfig/nfs-server << "EOF"
PORT="2049"
PROCESSES="8"
QUOTAS="no"
KILLDELAY="10"
EOF
Note
Les paramètres ci-dessus peuvent être mis, éventuellement,
dans /etc/sysconfig/rc.site
.
Configuration du client
/etc/fstab
contient les répertoires
qui doivent être montés sur le client. Les partitions peuvent
aussi être montées par l'utilisation de mount command avec les bonnes
options. Pour monter les partitions /home
et /usr
,
ajoutez ce qui suit au fichier /etc/fstab
:
<server-name>
:/home /home nfs rw,_netdev 0 0
<server-name>
:/usr /usr nfs ro,_netdev 0 0
Les options qui peuvent être utilisées sont spécifiées dans
man 5 nfs. Si le
client et le server utilisent des versions récentes de linux, la
plupart des options pourront être négociées. vous pouvez
spécifier soit rw
ou ro
, _netdev
si le
système de fichier doit être monté automatiquement au démarrage,
ou noauto
(et peut être user
) pour les autres systèmes de fichiers.
Si le serveur de fichiers n'utilise pas une version récente de
linux, vous devrez spécifier d'autres options.
Si vous utilisez systemd, vous devrez activer autofs v4 dans
votre noyau, et ajouter l'option comment=systemd.automount
. Certaines machines
ont besoin de cela, car systemd tente de monter les fs externes
avant que le réseau soit actif, les autres n'ont pas besoin de
cela. Une alternative est pour root
de lancer mount -a.
Note
Le script de démarrage suivant n'est pas requis si vous avez
installé le script nfs-server.
Installez le script de démarrage /etc/rc.d/init.d/nfs-client
fourni dans le
paquet blfs-bootscripts-20150924
pour lancer les services clients au démarrage.
make install-nfs-client
Pour monter automatiquement des systèmes de fichiers
nfs
, les clients devront
également installer le script de démarrage the netfs
comme décrit au chapitre Configuration
pour les systèmes de fichier réseau.