[NFS] Problème d'accès au partage

Problème d'accès au partage [NFS] - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 14-08-2006 à 13:07:59    

Bonjour à tous.
 
J'ai un problème d'accès à un partage nfs.
Je possède un TVix (lecteur autonome de fichiers multimédia) qui fonctionne avec un petit pingouin.
Ce tvix me propose d'accéder à un partage réseau de type samba ou NFS.
 
J'utilisais jusqu'a maintenant le partage NFS avec un petit soft (TVix Netshare livré par le constructeur) sur Windows XP. Problème, ce soft ne permet de partager qu'un seul répertoire. J'ai besoin d'en partager plusieurs.
 
J'ai donc décidé d'installer une distrib linux sur un VMware pour y monter des partages samba dans un répertoire (/mnt/tvixhd1...) et partager ce répertoire racine avec NFS pour y accéder par mon TVix.
 
Tout fonctionne bien si je test depuis ma distrib.
Mais lorsque je connecte mon TVix au partage NFS, je ne vois pas le contenu des sous répertoires (provenant des partages windows et monté en smbfs).
 
Description du montage :

# PC Windows XP (192.168.0.1):
 
Partages windows :
c:\video\ => \\192.168.0.1\hda1_video
c:\music\ => \\192.168.0.1\hda1_music
d:\video\ => \\192.168.0.1\hdb1_video
d:\music\ => \\192.168.0.1\hdb1_music
e:\video\ => \\192.168.0.1\hdc1_video
 
User  : cvince
pwd  : xxx
 
Droits en lecture seule pour ce user uniquement.


# PC Linux (192.168.0.5):
 
Création des répertoires suivants :
 
mkdir /mnt/tvixhd1
mkdir /mnt/tvixhd1/video
mkdir /mnt/tvixhd1/video/hda1
mkdir /mnt/tvixhd1/video/hdb1
mkdir /mnt/tvixhd1/video/hdc1
mkdir /mnt/tvixhd1/music
mkdir /mnt/tvixhd1/music/hda1
mkdir /mnt/tvixhd1/music/hdb1
 
Création du lien symbolique suivant :
ln -s /mnt/tvixhd1/ /tvixhd1
 
Fichier /etc/fstab :
------------------
//192.168.0.1/hda1_video /mnt/tvixhd1/video/hda1 smbfs credentials=/root/.smbcredentials 0 0
//192.168.0.1/hda1_music /mnt/tvixhd1/music/hda1 smbfs credentials=/root/.smbcredentials 0 0
//192.168.0.1/hdb1_video /mnt/tvixhd1/video/hdb1 smbfs credentials=/root/.smbcredentials 0 0
//192.168.0.1/hdb1_music /mnt/tvixhd1/music/hdb1 smbfs credentials=/root/.smbcredentials 0 0
//192.168.0.1/hdc1_video /mnt/tvixhd1/video/hdc1 smbfs credentials=/root/.smbcredentials 0 0
 
Fichier /root/.smbcredentials :
-----------------------------
username=cvince
password=xxx
 
Fichier /etc/exports :
--------------------
/tvixhd1 192.168.0.0/24(all_squash,anonuid=65534,anongid=65534,async,secure,ro)
 
j'ai aussi testé :
 
/tvixhd1 192.168.0.0/255.255.255.0(ro)
et
/tvixhd1 192.168.0.0/24(all_squash,sync,ro)


En gros, lorsque je me connecte par le TVix, j'accède à /tvixhd1/video/hda1,mais je ne vois pas les fichiers et répertoires contenu dans hda1. Idem pour les autres répertoires.
 
Il est où le bug là ? Est ce une question de droits ?
 
Merci d'avance. :jap:

Message cité 1 fois
Message édité par cvince le 14-08-2006 à 13:11:07
Reply

Marsh Posté le 14-08-2006 à 13:07:59   

Reply

Marsh Posté le 29-04-2007 à 13:48:01    

Si les répertoires apparaissent vide, c'est à cause du protocole nfs.
Je n'en suis pas tout a fait sur mais nfs étant un protocole de partage de fichier de bas niveau, et ne supporte pas le partage a traverses des point de montage.
 
J’ai eu le même problème.
Solution 1 : Chercher la réponse dans les documentations de nfs … perso j’ai pas encore trouvé.
Solution 2 : Utiliser un Samba pour partager les fichiers entre le serveur Linux et le TVix. C’est moins rapide, mais cela fonctionne bien.
 
En vous remerciant.

Reply

Marsh Posté le 29-04-2007 à 15:23:04    

utiliser des mount --bind

Reply

Marsh Posté le 29-04-2007 à 16:10:07    

cvince a écrit :

Il est où le bug là ? Est ce une question de droits ?

 

Non, NFS fonctionne à partir des inodes, et un link soft est juste un fichier qui indique vers quel inode doit pointer le raccourci. Mais le link a son propre inode, différent du fichier pointé.

 

Si tu veux un fonctionnement équivalent:
- soit tu fais des liens en dur (mais posix l'interdit sur les répertoires, et peu de systèmes de fichiers le font correctement) donc applicable uniquement aux fichiers,
- pour les répertoires, mount --bind (comme le dit splurf)
- soit utiliser un daemon genre smb qui ne se "base" pas sur les inodes.

 

NFS ne laisse pas passer les liens soft vers des arborescences non partagés pour des raisons de sécurité. Rien n'empeche un client de créer un lien soft qui pointe vers un fichier qui n'existerait pas sur son poste, mais sur le serveur, et d'y accéder avec les droits du partage. Exemple:

 

- poste client
# ln -s /etc/shadow /mnt/nfs/toto

 

(en considérant que /mnt/nfs est un répertoire NFS partagé par un serveur lambda)

 

Ensuite, par le lien soft ainsi créé, si le serveur l'honore, le client pourrait accéder au fichier /etc/shadow du serveur, en particulier si le partage est fait sans root_squash.

 

Pourquoi ca marcherait avec un lien hard? Ben vu qu'il te faut l'inode pour faire un hardlink, si tu n'es pas sur le serveur, tu ne peux pas le créer. Au niveau sécurité, c'est mieux.


Message édité par Gf4x3443 le 29-04-2007 à 16:10:59
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed