[vsFTPD] Droits avec utilisateur chrooté

Droits avec utilisateur chrooté [vsFTPD] - Linux et OS Alternatifs

Marsh Posté le 10-05-2005 à 09:47:55    

bonjour , voici tout d'abord mon fichier de configuration :

listen=YES
 
anonymous_enable=NO
 
local_enable=YES
 
write_enable=YES
 
local_umask=022
 
dirmessage_enable=YES
 
xferlog_enable=YES
 
connect_from_port_20=YES
 
nopriv_user=ftp
 
ftpd_banner=test
 
chroot_local_user=YES
 
chroot_list_enable=YES
 
chroot_list_file=/etc/vsftpd.chroot_list
 
secure_chroot_dir=/var/run/vsftpd
 
pam_service_name=vsftpd
 
rsa_cert_file=/etc/ssl/certs/vsftpd.pem


 
J'ai conc créé des utilisateurs chrooté à leur homedirectory . Jusque là tout va bien . Ce que j'aimerais et n'arrive pas à faire , c'est creer un répertoire commun auquel on accès en lecture/execution tous les utilisateurs du groupe dont font parti les utilisateur du serveur ftp , ce répertoire étant biensur geré par un utilisateur ayant tous les droits dessus .
 
Donc je me dis qu'il faut creer un utilisateur normal avec home directory pareil que les autres , à la différence que je dois y faire un chmod 755 pour obtenir les droits voulu .
 
le seul problème est que mes autres utilisateurs ne voient pas ce répertoire en question . Est-ce parcequ'il est placé plus haut ?
voicis la configuration des répertoires actuels pour les utilisateur :
 
user1 => rep /var/www/user1
user2 => rep /var/www/user2
user3 => rep /user3
 
En gros je veux que user 1 et 2 aient accès en lecture à /user3 .
 
Je me doute que c'est tout bête , mais je sèche .

Reply

Marsh Posté le 10-05-2005 à 09:47:55   

Reply

Marsh Posté le 10-05-2005 à 22:34:49    

personne pour une soluce ?

Reply

Marsh Posté le 11-05-2005 à 00:44:24    

même pas un petit peu ? :)

Reply

Marsh Posté le 11-05-2005 à 03:42:04    

nuitn0ir il serait bien que tu fasses un seul topic vsFTPD au lieu d'en créer plusieurs pour chacun de tes soucis ( en effet tu peux éditer les topics ).


---------------
Intermittent du GNU
Reply

Marsh Posté le 12-05-2005 à 03:34:54    

Vi , mais si je pouvais avoir une réponse s'aurait été merveilleux .
 
Celà dit j'ai trouvé une solution , mais aucune ne convient à mon idée , mais sa peut tout de même servir , la voici :
 
on va dire que /stockage est le répertoire qu'on veut partager à tout le monde .
 
Je créé donc un user vec homedirectory /stockage . J'en créé un 2 eme avec le même homedirectory , ce qui donne pour l'instant :
 
user1 : /stockage
user2 : /stockage
 
maintenant , pour que chacun ait son rep perso , je creer dans /stockage :
 
/stockage/user1
/stockage/user2
 
A chaque utilisateur je donne ensuite l'appartenance respective au sous répertoire . Donc user1 et proprietaire de /stockage/user1 et user2 est proprio de /stockage/user2 .
 
Je change ensuite les droits de /stockage pour n'y donner NON récursivement que les droits de lecture .
 
Et voilà , on a contourné le problème du chroot en ayant un repertoire partagé pour tous .
 
Mais dans mon cas , sa ne va pas , je dois obligatoirement avoir mes repertoire user dans /var/www , ayant un serveur web à charge . J'ai beau essayé de faire un lien symbolique du rep utilisateur vers /stockage , sa ne passe pas , visiblement chroot n'aime pas les liens symboliques .
 
me reste plus qu'à trouver une autre soluce :(


Message édité par nuitn0ir le 12-05-2005 à 03:35:34
Reply

Marsh Posté le 12-05-2005 à 04:28:59    

avec pure-ftpd tu n'aurais pas besoin de faire ces trucs de goret mais bon :D
sinon tu peux aussi faire du mount -bind .


---------------
Intermittent du GNU
Reply

Marsh Posté le 12-05-2005 à 17:57:25    

mh je m'intéresse à mount -bind avec google , mais pour l'instant je ne vois pas trop à quoi celà peut me servir dans mon cas . disons que j'ai vu que sa servait à monter une partition partagée , mais comment la rendre accessible à mes utilisateurs ftp ?
 
je demande pas une réponse , mais un petit indice supplémentaire ;)
 
en tout cas merci déjà pour ta réponse ;p

Reply

Marsh Posté le 12-05-2005 à 18:56:04    

Tu peux modifier la conf de apache (si c'est bien le serveur web que tu utilises). Inutile de mettre tes utilisateurs dans /var/www  :) .
 
<directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS PROPFIND>
        Order allow,deny
        Allow from all
    </Limit>
    <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
        Order deny,allow
        Deny from all
    </Limit>
</directory>
 
Avec cette directive dans httpd.conf tu fais en sorte que chaque utilisateur puisse stocker son site perso dans son répertoire public_html et y accède par http://tonsite/~utilisateur.
 
Tu peux garder ce que tu as fais (/stockage/user1 /stockage/user2 avec les droits etc..) et adapter httpd.conf en changeant /home/*/public_html par /stockage/* ou même /stockage/*/web ainsi tes utilisateurs pourraient stocker leur site dans le dossier web et mettre ce qu'ils veulent au-dessus. A toi de voir.


---------------
Pingouins dans les champs, hiver méchant.
Reply

Marsh Posté le 12-05-2005 à 19:19:35    

l'option user_sub_token de vsftpd.conf a l'air utile dans ton cas pour créer les répertoires utilisateurs dans /stockage, ainsi tu pourrais utiliser des utilisateurs virtuels au lieu de comptes locaux.
 
user_sub_token
    This option is useful is conjunction with virtual users. It is used to automatically generate a home directory for each virtual user, based on a template. For example, if the home directory of the real user specified via guest_username is /home/virtual/$USER, and user_sub_token is set to $USER, then when virtual user fred logs in, he will end up (usually chroot()'ed) in the directory /home/virtual/fred. This option also takes affect if local_root contains user_sub_token.
 


---------------
Pingouins dans les champs, hiver méchant.
Reply

Marsh Posté le 12-05-2005 à 21:15:40    

phoenix-dark> cela ne résoud pas le problème du répertoire commun accessible a tous ;)

Reply

Marsh Posté le 12-05-2005 à 21:15:40   

Reply

Marsh Posté le 12-05-2005 à 21:25:35    

sisi :)
il n'a pas besoin de changer sa config vsftpd actuelle où /stockage est accessible à tous avec à l'interieur les dossiers des users. Ce qui change c'est la config d'apache.
 
Le deuxième point (user_sub_token) c'est pour ne pas avoir à créer les dossiers des users à la main, vsftpd le fait lui-même.
S'il utilise les utilisateurs virtuels, ils seront accueillis dans le répertoire de l'utilisateur sur lequel ils sont mappés (ici on choisi /stockage), ce dossier contiendra alors les dossiers des users.
 
C'est pas aussi bien que si le répertoire commun était accessible sous la nouvelle racine mais avec chroot on peut pas faire je pense :/


---------------
Pingouins dans les champs, hiver méchant.
Reply

Marsh Posté le 12-05-2005 à 23:44:42    

Citation :

Tu peux modifier la conf de apache (si c'est bien le serveur web que tu utilises). Inutile de mettre tes utilisateurs dans /var/www  :) .


 
merci de ta soluce :)
 
sinon cette directive est déjà dans apache avec la config par défaut , mais quand je créé un user , le rep /public_html ne se créé pas :\ La directive étant quand même là . C'est pour contourner ce problème que j'ai tout mis dans /var/www .

Reply

Marsh Posté le 13-05-2005 à 07:26:46    

si le dossier n'y est pas crée-le à la main ...
si tu le fais en root :
mkdir /home/user/public_html
chown user:user /home/user/public_html
chmod 755 /home/user/public_html


---------------
Pingouins dans les champs, hiver méchant.
Reply

Marsh Posté le 13-05-2005 à 13:34:56    

phoenix-dark a écrit :

sisi :)
il n'a pas besoin de changer sa config vsftpd actuelle où /stockage est accessible à tous avec à l'interieur les dossiers des users. Ce qui change c'est la config d'apache.
 
Le deuxième point (user_sub_token) c'est pour ne pas avoir à créer les dossiers des users à la main, vsftpd le fait lui-même.
S'il utilise les utilisateurs virtuels, ils seront accueillis dans le répertoire de l'utilisateur sur lequel ils sont mappés (ici on choisi /stockage), ce dossier contiendra alors les dossiers des users.
 
C'est pas aussi bien que si le répertoire commun était accessible sous la nouvelle racine mais avec chroot on peut pas faire je pense :/


il me semblait qu'il voulait un répertoire commun au niveau du ftp .
et c'est possible avec pure-ftpd avec le chroot :D (option --virtual-chroot a la compilation )
 


---------------
Intermittent du GNU
Reply

Marsh Posté le 13-05-2005 à 15:01:04    

je connais pas pure-ftpd, je vais surement le tester j'en ai lu beaucoup de bien , notamment sur ce forum :)


---------------
Pingouins dans les champs, hiver méchant.
Reply

Sujets relatifs:

Leave a Replay

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