Liens symboliques

gintoxic Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
je suis assez novice dans le monde Linuxien et je dois lier deux fichier entre eux
c'est à dire que je voudrais que lorsque l'utilisateur se connecte a son ftp (chmod 700 dont il est propriétaire) ait acces a son dossier "www" (chmod 770 dont www-data est le propriétaire) qui est autre part dans le serveur.

- /media/home/sftp/home/utilisateur <<< repertoire d'arrivée (chroot)
- /home/vhosts/utilisateur/www/images <<<< repertoire à linker depuis

j'ai essayé sans succes, j'obtiens un lien (je pense) qui est fermé et lorsque je clique droit une fenetre s'ouvre et me dit : "no such file..."

le résultat que je souhaiterais est :
/media/home/sftp/home/utilisateur/www/images (chmodé à 770 et dont www-data soit le proprio)


pour info, mon serveur est sous debian et je travail en shell sous windows avec Bitvise (il me permet de voir graphiquement l'ensemble des dossiers/fichiers du serveur

merci à vous pour votre aide


4 réponses

mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Le problème c'est que par définition d'un chroot, tu es sensé rester emprisonné dans ton arborescence et donc ne pas pouvoir suivre un lien symbolique qui t'en fait sortir.

La stratégie consiste dans ton cas à faire un "mount bind".
https://forums.commentcamarche.net/forum/affich-16654048-lien-symbolique-sur-ftp
https://forums.commentcamarche.net/forum/affich-1681389-monter-une-partition-dans-home#7

Bonne chance
1
gintoxic Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   10
 
est ce que je me trompe si je commence par fixer dans fstab le point de montage (ou le chemin, je ne sais pas comment appeler cela) ?
puis de lancer comme ligne de commande ?

mount --bind /home/vhosts/utilisateur/www /media/home/sftp/home/utilisateur

tout cela est carrément nouveau pour moi et je ne connais pas l'ordre des répertoires

merci par avance


de cette manière www conservera les droit www-data et le chroot /media/...../utilisateur sera intact ?
0
gintoxic Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   10
 
oki ça a marché mais le souci qui persiste c'est que le chroot étant chmodé à 700 et l'utilisateur en étant le propiétaire, le "nouveau dossier" ainsi créé récupère les droit du propriétaire www-data et donc n'en est plus le proprio

l'utilisateur ne peut plus ouvrir son dossier

je crois que j'ai un souci de manipulation des droits, voire du dossier...
je vais voir mais n'hésitez pas a répondre

merci a vous
0
gintoxic Messages postés 524 Date d'inscription   Statut Membre Dernière intervention   10
 
il s'agit visiblement d'un conflit de permissions
0
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
Pour répondre à ta première question, si tu ne sais pas l'ordre des paramètres, tu peux regarder dans la documentation :

man mount


Tu verras que si on passe une "source de données" (un device, un partage réseau...) et un point de montage (un répertoire vide) la source apparaît toujours avant le point de montage. Plus de précisions sur mount et /etc/fstab ici :
http://www.mistra.fr/tutoriel-linux-monter-peripherique.html

Je ne sais pas trop quel est ton serveur ftp, personnellement j'utilise proftpd qui par défaut est mappé avec des utilisateurs linux (leur home + leur droit).

Peut-être que tu peux (à l'aide des options uid et gid) préciser l'utilisateur et le groupe propriétaires au moment de faire le mount bind.

Ensuite tu peux configurer proftpd pour se coupler avec une base de données (mysql ou postgresql par exemple) pour spécifier des utilisateurs spécifiques, mappé avec les droits d'un utilisateur linux particulier et avec un home particulier.
http://www.xenetis.org/a_29_installer_le_serveur_ftp_proftpd_et_stocker_les_utilisateurs_dans_une_base_de_donnees_mysql_sous_linux_debian_lenny.html

Ça dépend un peu de tes besoins à vrai dire...

Bonne chance
0