Droits avec utilisateur chrooté [vsFTPD] - Linux et OS Alternatifs
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 ).
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
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
sinon tu peux aussi faire du mount -bind .
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
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.
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.
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
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
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 .
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
Marsh Posté le 13-05-2005 à 13:34:56
phoenix-dark a écrit : sisi |
il me semblait qu'il voulait un répertoire commun au niveau du ftp .
et c'est possible avec pure-ftpd avec le chroot (option --virtual-chroot a la compilation )
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
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 .