pureftpd 1.0.5 & chroot

pureftpd 1.0.5 & chroot - Linux et OS Alternatifs

Marsh Posté le 22-12-2001 à 17:16:45    

j'ai compilé pureftpd avec mysql .
 
je suis la FAQ , ca marche nickel sur une machine .
 
Je reproduis la conf sur la machine de 'prod' :D , et pas moyen d'avoir un chroot correct .  
 
en option (pureftpd en standalone) , -a 531 -A  
sur la machine de test : tout est parfait
en revanche sur l'autre , il me dit qu'il n'y a pas moyen d'etablir un chroot jail .  Je vire -A et je suis chrooté MAIS on voit le path complet :/  
 
comment resoudre ce probleme ?
 
/etc/passwd
ftpuser:x:506:531:: /dev/null: /etc   (comme dans la doc ...)

 

[edtdd]--Message édité par saudium--[/edtdd]


---------------
root 66
Reply

Marsh Posté le 22-12-2001 à 17:16:45   

Reply

Marsh Posté le 22-12-2001 à 18:34:00    

c'est meme pire que ca :  
 
j'ai l'option -a 531  
 
d'apres la doc :  
- '-a <gid>' : Authenticated users will be granted access to their home
directory and nothing else (chroot) . This is especially useful for users
without shell access, for instance, WWW-hosting services shared by several
customers. Only member of group number <gid> will have unrestricted access
to the whole filesystem. So add a "staff", "admin" or "ftpadmin" group and
put your trusted users in.
 
Note : 'root' always has full filesystem access.
 
 
le resultat :
230-L'utilisateur nico a un acces de groupe sur:  ftpgroup
230 OK. Le repertoire courant est /home/nico/dl
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd ..
550 Ne peut changer le repertoire en ..: Permission non accordée
ftp> ls /bin
200 Commande PORT executee
150 Connexion au port 4981
-rwxr-xr-x    1 0        root         2712 Sep 20  2000 arch
-rwxr-xr-x    1 0        root        65148 Jul 20  2000 ash
-rwxr-xr-x    1 0        root       262920 Jul 20  2000 ash.static
lrwxrwxrwx    1 0        root            4 Sep  9 17:22 awk -> gawk
-rwxr-xr-x    1 0        root         6396 Jul 28  2000 basename
-rwxr-xr-x    1 0        root       451996 Aug  7  2000 bash
lrwxrwxrwx    1 0        root            4 Sep  9 17:22 bash2 -> bash
lrwxrwxrwx    1 0        root            3 Sep  9 17:22 bsh -> ash
-rwxr-xr-x    1 0        root         9872 Jul 26  2000 cat
-rwxr-xr-x    1 0        root        12952 Aug  7  2000 chgrp
-rwxr-xr-x    1 0        root        15140 Aug  7  2000 chmod
 
etc ....etc ...
 
gros probleme de chroot  avec leur option -a


---------------
root 66
Reply

Marsh Posté le 22-12-2001 à 18:36:45    

et le -A est aux fraises ici  
   
mais curieusement  , a configuration equivalente sur 2 machines , j'ai 2 comportement radicalement different :??:


---------------
root 66
Reply

Marsh Posté le 23-12-2001 à 00:12:00    

Hello.
 
Tout d'abord tu dois utiliser -a <gid> *ou* -A .
-A indique de chrooter tout le monde.
-a <gid> indique de chrooter ceux qui ne sont pas membres de <gid>
 
Utiliser les deux ensemble n'a aucun sens.
 
On dirait sur ton exemple que tes utilisateurs virtuels font partie du groupe 531. Or, justement le numero de groupe que tu mets apres -a est celui dont les membres ne seront *PAS* chrootes. Il est donc normal qu'ils voient l'ensemble de ton disque dur.
 
Utilise simplement -A si tu ne veux pas de groupe "privilegie" qui a acces a tout (auquel cas, tout le monde sera limite a son repertoire) .

Reply

Marsh Posté le 23-12-2001 à 00:17:33    

yopla jed !
ca va ?
 
 
chonk.

Reply

Marsh Posté le 23-12-2001 à 05:21:46    

Le probleme doit venir d'ailleurs .
j'ai meme un chroot failed quand je ne met pas -A ...  
et toujours un :  
 
421 Impossible d'etablir une prison chroot() securisee
Login failed.
No control connection for command: Aucun fichier ou répertoire de ce type


---------------
root 66
Reply

Marsh Posté le 23-12-2001 à 10:49:33    

Tu es sur que le repertoire que tu as mis dans ta table mysql est bon? Il existe? L'utilisateur peut aller dedans? (sinon tu as l'option -j pour le creer automatiquement)

Reply

Marsh Posté le 23-12-2001 à 15:36:36    

pour mysql , c'est tout bon . j'ai verifié le directory, uid et gid . J'ai bien fias gaffe au pureftpd-mysql.conf .  Bref pour mysql tout baigne.  
 
et tout marche bien sur une autre machine .  J'ai  reproduit les  options de compilations (j'ai fait un pti .sh ) ,   dump de la base , path des utilisateurs etc.....
D'ailleurs l'auth fonctionne vu qu'en -a 531 je suis authentifié et arrive dans le bon directory.
 
J'ai un ancien pureftpd sur cette machine et qui chroote parfaitement (en fait j'ai pureftpd installé sur 3 machines ;) )
j'ai pas trop d'idées non plus ;)


---------------
root 66
Reply

Marsh Posté le 23-12-2001 à 15:42:19    

Je suis quasiment sur que c'est un truc tout con, genre un mauvais chmod sur un de tes repertoires.
 
Si vraiment tu t'en sors pas, tu peux me donner un acces SSH temporaire a la machine histoire que je jette un coup d'oeil.

Reply

Marsh Posté le 23-12-2001 à 16:17:16    

info : j'ai mis /tmp en Dir et je suis parfaitement chrooté.  
 
quel sont donc les 'bons' droits à appliquer ???

 

[edtdd]--Message édité par saudium--[/edtdd]


---------------
root 66
Reply

Marsh Posté le 23-12-2001 à 16:17:16   

Reply

Marsh Posté le 23-12-2001 à 16:25:25    

autre info :  
chroot impossible sur /home/nico/dl  
drwx------    2 nico     nico         4096 sep  9 18:56 dl/  
(et meme avec chmod go+rx dl/)
 
chroot impossible sur /home/nico  
drwx------   12 nico     nico         4096 déc 22 06:30 nico/  
 
chroot parfait sur /home  
drwxr-xr-x    9 root     root         4096 déc 22 06:31 home/  
 
moi y'en a pas comprendre :??:

 

[edtdd]--Message édité par saudium--[/edtdd]


---------------
root 66
Reply

Marsh Posté le 23-12-2001 à 17:07:27    

L'utilisateur sous lequel tu essayes de te connecter (via l'auth MySQL) a bien l'uid de 'nico'?

Reply

Marsh Posté le 23-12-2001 à 17:18:29    

ok , j'ai compris .   je suis une #@!  :cry:  
 
2 jours la dessus http://netoid.dynodns.net/forum/smiley/g.gif

 

[edtdd]--Message édité par saudium--[/edtdd]


---------------
root 66
Reply

Marsh Posté le 23-12-2001 à 17:19:14    

tout est rentré dans l'ordre .  
 
et merci encore pour ton aide ;)


---------------
root 66
Reply

Marsh Posté le 23-12-2001 à 23:38:57    

j'y pense : une petite interface web pour generer la ligne d'options serait pas mal .  Avec un controle de coherence . (-a et -A  :/  j'aurais pas du prendre japonais en 1ere langue ;)   )
 
Je commencerais bien qq chose mais je sais pas si je vais etre credible apres tout ca :D  
 
je ne me suis pas trop aventuré sur pure-db , alors que son independance de mysql m'interresse  (je cherche tjs à avoir des softs les plus independants possible ).  
 
 
 
je garde un oeil sur les releases ;)  
++


---------------
root 66
Reply

Marsh Posté le 23-12-2001 à 23:52:51    

l interface existe elle s appelle kcmpureftd : http://lkr.sourceforge.net/kcmpureftpd/
 
de plus dans les sources dans /le_source_de_pure/configuration-file/
il y a 2 scripts pure-config.pl et pure-config.py qui parsent
un fichier de conf plus lisible pure-ftpd.conf.

Reply

Sujets relatifs:

Leave a Replay

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