Denied acces au partage du serveur nfs

Fermé
hakim - 18 mai 2005 à 16:17
 kuki - 26 mai 2005 à 15:48
bonjour
je veux faire un reseau local avec des machine linux .
j'ai utiliser le serveur nfs. a l'aide dun tutorial que j'ai trouve sur internet je m'en suis sortie . mais mainteant que le partage est fais . je ne peus pas acceder au dossier . je nai pas l(autorisation meme avec root.
jai donner les autorsation pour la machine cliente dans les fichiers /etc/hosts.allow /etc/hosts.deny

sil vous plais vous pouver maider .

oups autre chose ! sur redhat ifconfig ne marche pas !
jutilise linterface graphique redhat-config-network
est ce que ifconfig n'existe pas sous redhat ?

merci

15 réponses

ifconfig existe si tu l'as pas deja cherche pas plus loin c'est que tu n'a pas de reseau du tout !

ensuite pour nfs /etc/hosts.allow /etc/hosts.deny autorisent que des droits d'acces reseau ou non (ping, ip, routage)

nfs = /etc/exports ou /etc/export sans "S" je sais plus si il faut le "s" ou non....
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
18 mai 2005 à 17:01
D'abord pour le ifconfig: Il faut soit taper "/sbin/ifconfig" ou se connectecter en root avec: "su -" au lieu de "su" !!!!!!!!!!!!!! (sinon /sbin/... et /usr/sbin/... ne sont pas dans le chemin de root). Bien-sur ifconfig existe sur Redhat et aussi dans toute autre distribution de Linux.

Pour le mount nfs je suppose que ca a bien marche mais que c'est l'acces a des fichiers qui pose de problemes au niveau des permissions.
Par defaut root (du pc client) n'a pas les "droits root" sur les fichiers sur les partitions montees par nfs (pour de raisons de securite car c'est sur le pc serveur). Pour ca il faut mettre les bonnes options dans /etc/exports du serveur (regarder "man exports") mais je crois il ne faut pas faire ca.

La bonne solution consiste a creer d'utilisateurs sur le client et le serveur nfs qui ont les memes numero "id" ou "uid" et idealement les memes noms. Soit on utilise le script "useradd" (ou "adduser" ??) avec les bonnes options, soit on utilise le bon menu graphique dans kontrol-panel pour editer les infos des utilisateur ou soit le plus directement on edite le fichier /etc/passwd ou le numero uid est la 3eme colonne (separer pas de ":") et le numero de groupe, le "gid" est la 4eme colonne.
Si un utilisateur a le meme id sur le client ET sur le serveur il aura le droit d'acceder a ses fichiers sur le disque monte par nfs.
Si les uid sont les memes les noms d'utilisateur peuvent etre differents mais ce n'est pas recommande pour risque de confusions dans la gestion des utilisateurs etc.

Apres il y a aussi les permission (x, r, ou w) qui jouent pour donner un acces en lecture ou ecriture des fichier d'un utilisateur a un autre utilsateur.
0
merci beucoups pour votre reponse
jai le reseau entre les 2 machines . le ping passe.
jai deja un partage dans le fichier /etc/exports :
/home/hakim 192.168.0.2(rw,sync)
et j'ai monter le fichier sur la machine client
mount 192.168.0.1:/home/hakim /etc/nfs

voila se que j'iai exactement fais . et j'arrive a voir le dossier partage dans /mnt/nfs mais quand je clique sur lui pour acceder il me dis que je n'est pas les permissions.

meme avec root je ne peus pas acceder !
0
merci beaucoup kmf31 .
merci beaucoup toto.
c'est vrai meme si sur les deux machines jai deux utilisateur qui ont le meme nom (hakim !) mais ils ont different id dans le fichiers /etc/passwd et /etc/group
je crois que c'est pour sa que je n'est pas l'autorisation d'acce .
jai essayé de changer manualement mais la machine a plante . je ne pouvais pas entrer avec ma session (hakim). je crois que je n'ai pas changer lla mauvaise colonne dans le fichier.
/sbin/ifconfig marche .
je vais essayer dappliquer se que vous mavez dis .
merci beaucoup de votre aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
efectivement cetait les id differents des utilistaeurs qui causer le probleme.
maitenant que jai donner les memes id au utiliisateurs j'arrive a acceder au partage.
jai fais un faute de frappe dans le precedant message ! je voulais dire :"je crois que j'ai changer la mauvaise colonne dans kle fichier " !!!

je ne sais vraimant pas comment vous remercier de votre precieuse aide.
merci beaucoups.
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
18 mai 2005 à 18:09
En fait c'est assez delicat de changer le numero uid. L'ideal serait de se connecter en root (eventuellement en mode texte apres Ctrl-Alt-F1), de faire le changement id et apres il faut aussi redonner le bon proprietaire a l'utilisateur hakim car avec le changement du numero "id" il a perdu son home qui est toujours avec l'ancien numero (c.-a-d. il a perdu les droits la dessus). Pour reparer il faut faire en root:
chown -R hakim /home/hakim

et apres ca devrait etre bon pour que hakim puissent se reconnecter. La commande "chown ..." sert a modifier le proprietaire (donner le nouveau numero id aux fichiers dans le home) et l'option "-R" est pour le faire recursivement pour tous les sous-repertoires.

Il semble que tu dois encore faire cette commande, seulement tu dois arriver de te connecter en root.
0
ayayayayy !
jai perdu mon repertoire home .
je navais pas encore lus votre derneiere reponse quand je me suis connecté en tant que root . et jai suprimmer l(utilisateur pour le creer un nouvelle fois avec le meme id que celui de l'utilisateur sur le serveur.
merci comme meme de votre generosité.
maitenant ca marche tres bien .

il ne me reste qu'a retelecharger les fichiers que javais dansle /home !!!!
0
Salut
J'ai le même problème que Hakim.
J'ai modifié les id en mode graphique et j'ai fais ensuite le:
chown -R users /home/users
mais ca ne fonctionne tj pas.
Peut-il y avoir d'autres problème ailleur?
Comment modifier les id depuis le shell?
Merci d'avance de votre aide.
0
J'ai oublié de dire que j'ai installer et configurer NIS pour que mes utilisateurs arrive à se loguer au serveur.
0
tu sais Kuki moi j'ai fais le partage entre 2 machines linux: mandrak et redhat et pour resoudre le probleme de l'id diffenrent des utilistaeurs mais qui ont le meme nom , j'ai supprimer l(utilistateur de redhat et puis je l'ai crée avec un programme graphique de redhat et je lui est donne le meme id que l(utisateur de mandrak... mais maleureusement comme je l(ai dis j'ai perdu le repertoire home !!! fais tres attention si tui des donnees dans ce dosssier .. dacord
0
OUi je vois mais est-ce que tu utilise NIS pour contecter ton client à un domaine?
Moi g fais comme tu as fait mais j'ai tj ce même problème. Je pense que l'erreur est ailleur car je crois que c'est NIS qui gère les droits d'accès aux partages...
ça m'enmerde ce truc et ça urge un peu paseque demain je dois rendre ce travail et il faut absulument que ca fonctionne. (travail de diplome)
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
26 mai 2005 à 14:03
Est-ce que c'est le NIS qui gere les utilisateurs avec mot de pass etc ? Si oui ca doit automatiquement assurer le meme numero id ou uid sur tous les pcs relies par le NIS. Regarde sur ton pc client et aussi sur le pc serveur les fichiers /etc/passwd.

Il y a deux cas:

1) Ton utilisateur n'est pas gere par le NIS: Dans ce cas les fichiers /etc/passwd doivent contenir de lignes pour cet utilisateur avec le meme "id" (3 eme colonne) comme decrit le lien que j'ai donne ci-dessus.

2) Ton utilisateur est gere par le NIS. Je crois dans ce cas le fichier /etc/passwd sur le pc client devrait contenir une ligne comme:
+toto::0:0:::

ou "toto" represente le nom de l'utilisateur (a remplacer par le vrai nom de ton utilisateur).
Tu peux aussi mettre une ligne comme
+@nom_net_group::0:0:::

ou "@nom_net_group" serait le nom d'un groupe de reseau defini par le NIS (aussi a remplacer par le bon nom a toi, si ca s'applique a ta situation). Avec ca on ouvre acces a tous les utilisateurs NIS (etant dans le groupe de reseau) a la fois.

Cependant si les utilisateurs peuvent se connecter au pc client ca doit deja etre bon avec le fichier /etc/passwd. Sinon la connexion est impossible. Si la connexion est possible mais les permissions ne le sont pas ca revient au cas 1) (mauvais numeros id). Peut-etre sur le pc client il existe un utilisateur local (hors NIS) qui fait confusion avec un utilisateur NIS du meme nom et c'est pour ca que ca ne marche pas. Dans ce cas soit effacer l'utilisateur local ou soit lui donner le meme id que pour l'utilisateur NIS du meme nom.


De toute facon que donne l'affichage "ls -l ...." du repertoire monte par NFS au niveau des noms utilisateur ?

Avec le "ls -l ..." tu as dans la 3eme colonne le proprietaire du fichier/repertoire et dans la 4eme colonne le groupe. Dans la 3eme colonne il y a soit un vrai nom utilisateur (au cas ou c'est bien fait avec le "id" dans /etc/passwd ou avec le NIS) ou soit un numero, en fait c'est justement le numero "id", (au cas ou le numero id en question n'est pas attribue a un utilisateur, ni par passwd ni par NIS).
Bref si la 3eme colonne est un numero chez toi c'est un probleme de numero id et il te faudra resoudre ca, soit dans le cadre du NIS ou hors NIS. Les deux sont possible mais il faut que ce soit coherent.
0
Enfait ca marche maintenent. youpiiiiiii
Bon si jamais ça interesse qq je pense que j'ai une solutions.

kmf31 merci bcp pour ta réponse et pour le temps que t'as donné.


Les utilisateurs arrivait à se connecter et vois aussi les partages du séerveur.
Le problème était dans le fichier /etc/exports du serveur
avant j'avais les déclarations sur exports comme ceci:

/home 192.168.1.4 (rw)
...
... et ainsi de suite pour mes 7 partages
192.168.1.4 est l'adresse ip du client mdk


maintenent j'ai mis:
/home *(rw)
/boite *(rw)
etc
et ça fonctionne.
c'est sur que niveau sécurité c peut etre pas ce qu'il faut mettre si on est dans une entreprise mais bon au moins ca fonctionne

* veut dire accessible à tout les pc
Mais les droits du serveur empéche les utilisateurs à aller voir le home de qq d'autre par exemple.

Merci les gars...
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
26 mai 2005 à 15:02
Si quelqu'un connait le numero IP de ton serveur il peut eventuellement
mounter ton disque chez lui et "pirater" tous tes fichiers. (meme s'il n'y a pas acces root, il n'a qu'a creer les bons utilisateurs chez lui)

Pour etre seriux le "*" est tres dangereux si tu n'a pas de pare feu sur le serveur qui bloque les ports nfs/rpc pour internet.
Si ca ne marche pas avec le numeros IP essaie le 1er nom de tes clients qui se trouvent eventuellement dans le fichier /etc/hosts. Par exemple si tu as dans /etc/hosts une ligne comme:
192.168.1.4 client1 client1.mon_domaine.fr

il te suffit de mettre le 1er nom (ici "client1") dans le fichier exports. Regarde dans /var/log/messages du serveur avec quels noms les clients se connectent pour faire un mount.
0
oh je suis venu un peu en retard
pardon kuki , je suis tres content que tu trouve la solution tu sais je peu tres bien imaginer se que tu ressent ! et tout ce ci grace a notre merveilleu linuxien Mr kmf31 que je remerci beucoup beucoup beucoup beucoup
merci kmf31 de consacrer avec generosité du temps pour les debutants telle que moi .
0
eh ben c encore mieux comme tu dis.
ça fonctionne comme t'as dis.
J'ai modifié le fichier etc/hosts et également le fichier exports

J'ai remarqué un truc dans le fichier exports ( si je met par exemple: /boite clientmdk (rw)

Entre clientmdk et (rw) il y a une espace et ainsi j'arrive pas à écrire car j'ai pas les droit mais si je supprime l'espace
/boite clientmdk(rw) ça fonctionne.

Voila que mon serveur est plus sécurisé grace à kmf31 now.
merci encore
0