Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
889 connectés 

  FORUM HardWare.fr
  Programmation
  C

  chroot();

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

chroot();

n°1319885
gorila
It's not a bug, it's a feature
Posté le 07-03-2006 à 00:05:41  profilanswer
 

Bonjour a tous,
 
 
je suis en train de reecrire un serveur ftp a but pedagogique, et je souhaiterait faire que chaque nouveau client (le serveur fork a chaque connection) soit chroote dans un repertoire de mon choix (defini par un fichier de conf)
 
 
le seul probleme, c'est que je ne suis pas root sur le systeme ou je dois lancer le serveur (chroot() ne marchant que pour le super utilisateur - cf le man- ).
 
 
Existe il une maniere de contourner cette restriction? ou bien de faker un chroot de maniere a ce que les commandes du genre cd, ls et cie executees sur mon serveur ne puissent pas afficher ce qu'il y a autre part sur le systeme?
 
merci d'avance pour vos reponses.

mood
Publicité
Posté le 07-03-2006 à 00:05:41  profilanswer
 

n°1319922
Taz
bisounours-codeur
Posté le 07-03-2006 à 09:32:53  profilanswer
 

ben oui, tu codes to cd différemment

n°1320122
gorila
It's not a bug, it's a feature
Posté le 07-03-2006 à 13:13:07  profilanswer
 

merci pour ta reponse,
 
tu me conseil quoi comme methode verifier que le 'cd' ou le 'ls' ne sorte pas du 'chroot' ?  verifier touce que le mec a tapper et notement les ../../ ?

n°1320618
Sve@r
Posté le 07-03-2006 à 23:14:17  profilanswer
 

gorila a écrit :

merci pour ta reponse,
 
tu me conseil quoi comme methode verifier que le 'cd' ou le 'ls' ne sorte pas du 'chroot' ?  verifier touce que le mec a tapper et notement les ../../ ?


 
T'es pas obligé d'examiner toute la chaîne "../../..etc../..". Tu peux regarder où ça mène en final en faisant un "chdir() + getpwd()" et accepter la position finale que si elle ne dépasse pas le niveau voulu...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1320677
gorila
It's not a bug, it's a feature
Posté le 08-03-2006 à 03:11:32  profilanswer
 

c'est excactement comme ca que j'ai gere pour mon "cd"
 
je me chdir a l'endroit voulu et laisse donc le kernel prendre en charge la chaine que je lui passe.
 
je verifie ensuite si l'endroit ou je suis est au bon endroit par rapport au home attendu du client, sans quoi je re-chdir le client dans son home.
 
pour 'ls' je le ferait peut etre pas de cette maniere, pasque c'est quand meme un poil bourrin...
faudra y aller a la mano.... (snif.... c++.... pas le droit.....)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  chroot();

 

Sujets relatifs
explication chroot[C] - utilisation de chroot() (unistd.h)
Plus de sujets relatifs à : chroot();


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR