[pure-ftpd] droits complexes

droits complexes [pure-ftpd] - Linux et OS Alternatifs

Marsh Posté le 27-08-2005 à 00:00:44    

:hello:  
 
 
J'ai configurer pure-ftp coreectement pour que tous les utilisateurs aient un dossier perso ou ils puissent uploader
 
mais je veux plus compliqué :D
 
j'ai fait 2 groupes, avec dedans des users virtuels
 
les users d'un meme groupe doivent voir leur fichiers (ce qui n'est pas la cas la), mais pas ceux de l'autre groupe (2 dossiers differents)
les 2 groupes doivent voir un meme dossier
ils ne doivent pas pouvoir suprimer les fichiers, meme dans leur dossier perso (umask= ???:???)
 
donc ca donne:
              user grp1       user grp2
/home/ftp        r                r
/home/grp1       r                -
/home/grp2       -                r
 
+ leur dossier perso en rw
 
 
donc je dois regler l'umask pour leur dossier perso (quelle valeur ?), mais pour les autre dosier je fais comment ?
 
 
la methode suivante ne marche pas :(, a moins que je m'y sois mal prix [:boidleau]
 
Sur ftp  => chmod ug+r
Sur grp1 => chown grp1 et chmod u+rw et chmod g-rwx
Sur grp2 => chown grp2 et chmod u+rw et chmod g-rwx

Reply

Marsh Posté le 27-08-2005 à 00:00:44   

Reply

Marsh Posté le 27-08-2005 à 15:44:28    

up ?

Reply

Marsh Posté le 27-08-2005 à 15:56:51    

Il y a une raison particulier pour laquelle tu passes par des virtual users ? Ca serait peut-etre plus facile de gerer les droits selon les groupes/utilisateurs si ceux si etaient "reels", non ? C'est un avis perso, parce que je n'ai jamais vraiment utilisé les virtual users :D
 
Pour empecher les users de supprimer les fichiers, regagardes dans la man de pure-ftps, c'est lsurment l'option -K :)
 
Verifie (et eventuellement, montre-nous) que tes utilisateurs appartiennent bien aux bons groupes et que les dossiers ont bien les bonnes permissions (ls -l)


---------------
BOFH excuse #400:We are Microsoft.  What you are experiencing is not a problem; it is an undocumented feature.
Reply

Marsh Posté le 27-08-2005 à 16:08:23    

drwx---r-x   7 grp1   grp1     4096 2005-08-27 15:26 dossier_grp1
drwx---r-x   4 grp2   root     4096 2005-08-26 23:18 dossier_grp2
 
et les users virtuel appartiennent bien aux groupes
 
 
pour les users virtuels, bah j'ai lu un tuto ou ils faisaient comme ca, apres si tu me dit que c'est plsu facil avec des users réel, bah pourquoi pas :D

Reply

Marsh Posté le 27-08-2005 à 16:20:36    

Boulet_Man a écrit :


ils ne doivent pas pouvoir suprimer les fichiers, meme dans leur dossier perso (umask= ???:???)


-K
    Allow users to resume and upload files, but NOT to delete them. Directories can be removed, but only if they are empty.
(cf man pure-ftpd )
 
ensuite pour le reste man chmod pour limiter les accès en fonction des users .
(les utilisateurs virtuels ne sont pas obligés d'utiliser les memes uid/gid )

Reply

Marsh Posté le 27-08-2005 à 16:23:24    

Alors, comme je ne connais pas le fonctionnement des virtual user, ce que je vais dire est peut-etre faux, mais:
 - les permissions pour le dossier_grp1 n'autorise pas les utilisateurs du groupe a ecrire/executer a l'interieur de ce dossier. Seul l'utilisateur grp1 a le droit de tout faire et tout les autres, seulemnet le droit de lire/executer. Ca me parait bizarre :/. Les permissions pour le groupe sont nulles, tu es sûr que c'est ce que tu veux ?
 - les permissions pour le dossier_grp2 sont a peu près les même, a savoir que seul l'utilisateur grp2 aura tous les droits.
 
Tu es sûr que les utilisateurs grp1 et grp2 existent ?
Quoi qu'il en soit, les permissions sont mauvaises.
Montre-nous aussi les permissions des rep perso de chaque utilisateurs


---------------
BOFH excuse #400:We are Microsoft.  What you are experiencing is not a problem; it is an undocumented feature.
Reply

Marsh Posté le 27-08-2005 à 16:24:05    

je vais reessayer avec chmod, si ca marche pas je mettrai des user normaux
 
sinon je met dans quel fichier la commande pour lancer pureftpd, pour le lancer au démarage
 
 
merci :)

Reply

Marsh Posté le 27-08-2005 à 16:26:16    

Ca depend de l'utilisation du ftp. Si tu ne l'utilise qu'occasionnelement, il vaut mieux choisir le mode standalone et le demarrer "manuellement". Sinon, choisi le mode de gestion par (x)inetd. Dans ce cas, il sera lancer au demarrage de (x)inetd.
 
[EDIT] tu peux toujours faire un script avec la ligne d'execution de pure-ftpd avec toute les options que tu veux pour eviter d'avoir a les retaper a chaque fois (dans le cas du choix du mode standalone).


Message édité par sebchap le 27-08-2005 à 16:27:55

---------------
BOFH excuse #400:We are Microsoft.  What you are experiencing is not a problem; it is an undocumented feature.
Reply

Marsh Posté le 27-08-2005 à 16:27:04    

sebchap a écrit :

Alors, comme je ne connais pas le fonctionnement des virtual user, ce que je vais dire est peut-etre faux, mais:
 - les permissions pour le dossier_grp1 n'autorise pas les utilisateurs du groupe a ecrire/executer a l'interieur de ce dossier. Seul l'utilisateur grp1 a le droit de tout faire et tout les autres, seulemnet le droit de lire/executer. Ca me parait bizarre :/. Les permissions pour le groupe sont nulles, tu es sûr que c'est ce que tu veux ?
 - les permissions pour le dossier_grp2 sont a peu près les même, a savoir que seul l'utilisateur grp2 aura tous les droits.
 
Tu es sûr que les utilisateurs grp1 et grp2 existent ?
Quoi qu'il en soit, les permissions sont mauvaises.
Montre-nous aussi les permissions des rep perso de chaque utilisateurs


 
drwxr-xr-x  2 grp1 grp1 4096 2005-08-26 23:18 user1
drwxr-xr-x  2 grp1 grp1 4096 2005-08-26 23:16 user2
 
user1 et user2 ont ete créé dans pureftpd, donc les users virtuels marchent bien
faut que je regle avec chmod alors ? vais etudier le man :D

Reply

Marsh Posté le 27-08-2005 à 16:31:16    

Passe par des users reels :o Je trouve ca plus facile.
Visiblement, pour les virtual users, il suffit de specifier le groupe auquel appartient le virtual user en tant qu'owner pour que ca marche ? Et comme pure-ftpd fait pour differencier le virtual user (designé par le nom du groupe) et le groupe ? Bref, je capte quedal :D
Je vais voir vite fait cette histoire de virtual user mais je te conseil de passer par la gestion des utilisateur "unix"


---------------
BOFH excuse #400:We are Microsoft.  What you are experiencing is not a problem; it is an undocumented feature.
Reply

Marsh Posté le 27-08-2005 à 16:31:16   

Reply

Marsh Posté le 27-08-2005 à 16:31:47    

sebchap a écrit :

tu peux toujours faire un script avec la ligne d'execution de pure-ftpd avec toute les options que tu veux pour eviter d'avoir a les retaper a chaque fois (dans le cas du choix du mode standalone).


 
Ca me parait le plus simple :D
Mais comment je fais un script pour dire qu'a chaque boot il execute telle commande ?

Reply

Marsh Posté le 27-08-2005 à 16:32:26    

sebchap a écrit :

Passe par des users reels :o Je trouve ca plus facile.
Visiblement, pour les virtual users, il suffit de specifier le groupe auquel appartient le virtual user en tant qu'owner pour que ca marche ? Et comme pure-ftpd fait pour differencier le virtual user (designé par le nom du groupe) et le groupe ? Bref, je capte quedal :D
Je vais voir vite fait cette histoire de virtual user mais je te conseil de passer par la gestion des utilisateur "unix"


 
Je pense que c'est ce que je vais faire :o

Reply

Marsh Posté le 27-08-2005 à 16:40:04    

Boulet_Man a écrit :

Ca me parait le plus simple :D
Mais comment je fais un script pour dire qu'a chaque boot il execute telle commande ?


Si tu veux vraiment que ton ftp soit lancer a chaque demarrage, alors c'est peut-etre mieux de laisser (x)inetd le gerer (mode superserver). Sinon, tu fais un script bidon, du genre:


#!/bin/sh
case "$1" in
  start)
    /usr/sbin/pure-ftpd -B..........(options qui vont bien)
    ;;
  stop)
    killall pure-ftpd
    ;;
  restart)
    $0 stop && sleep 1 && $0 start
    ;;
  *)
    echo "usage: mon_script start|stop|restart"
    exit 1
    ;;
esac


 
Tu met ce script dans /etc/init.d/ et tu lance la commande update-rc.d mon_script defaults


Message édité par sebchap le 27-08-2005 à 16:41:29

---------------
BOFH excuse #400:We are Microsoft.  What you are experiencing is not a problem; it is an undocumented feature.
Reply

Marsh Posté le 27-08-2005 à 16:45:19    

Mais le truc bizare c'est qu'il y a deja un script pure-ftpd dans init.d, mais il se lance pas :heink:

Reply

Marsh Posté le 27-08-2005 à 16:50:06    

merci pour le script :)

Reply

Marsh Posté le 27-08-2005 à 16:50:28    

sebchap a écrit :

Passe par des users reels :o Je trouve ca plus facile.
Visiblement, pour les virtual users, il suffit de specifier le groupe auquel appartient le virtual user en tant qu'owner pour que ca marche ? Et comme pure-ftpd fait pour differencier le virtual user (designé par le nom du groupe) et le groupe ? Bref, je capte quedal :D
Je vais voir vite fait cette histoire de virtual user mais je te conseil de passer par la gestion des utilisateur "unix"


un virtual user correspond a un uid et a un gid . ( précisé dans le pureftpd.passwd )
exemple

Citation :

% pure-pw show mikala                                                                                                                                
 
[...]
UID                : 1000 (mikala)
GID                : 1000 (mikala)
Directory          : /home/mikala/./
[...]


le but étant de mettre par exemple plusieurs utilisateurs dans un un meme home en 'économisant' des utilisateurs réels ;)
par exemple on peut imaginer un user toto pouvant uploader dans  /home/mikala/toto et étant restreint a ce répertoire .
En ce qui concerne les umask il est la encore possible de spécifier le umask voulu en se servant de  -U ( cf man pureftpd une fois de plus :D )
boulet_man> tu utilises quel distribution ? cela serait plus simple pour te dire que faire , au lieu notamment de modifier le script de démarrage .
ensuite une fois de plus man chmod pour spécifier les acces lecture/ecriture des users .
 
par contre l'utilisateur mikala lui doit pouvoir modifier si il veut les fichiers présents dans toto .
on s'arrange donc pour donner a toto (utilisateur virtuel ) les uid/gid de mikala .

Reply

Marsh Posté le 27-08-2005 à 16:52:26    

Oui, c'est le script lancer par (x)inetd si tu as configuré pure-ftpd en mode superserver.
Nomme ton script autrement :)


---------------
BOFH excuse #400:We are Microsoft.  What you are experiencing is not a problem; it is an undocumented feature.
Reply

Marsh Posté le 27-08-2005 à 16:53:02    

je suis sous ubuntu
 
le truc c'est que les users virtuels ont bien leur repertoire, mais ils voient pas ceux des autres (ca je verai le man pour umask)
mais le plus important, j'arrive pas a rajouter un dossier visible par tout le monde :sweat:

Reply

Marsh Posté le 27-08-2005 à 16:53:35    

sebchap a écrit :

Oui, c'est le script lancer par (x)inetd si tu as configuré pure-ftpd en mode superserver.
Nomme ton script autrement :)


 
c'est que j'ai fait :)

Reply

Marsh Posté le 27-08-2005 à 17:00:04    

donc debian a  priori .
tu peux peut etre lire le petit tutoque j'ai fait pour comprendre notamment le lancement de pure-ftpd ;)
en résumé tu choisis le mode de fonctionnement dans /etc/default/pure-ftpd-common le choix entre inetd/standalone ( nette préférence pour le mode standalone :D )
Ensuite tu veux un truc de ce genre  
 /data/ftp/user1
 /data/ftp/user2
 /data/ftp/user3
 /data/ftp/commun  
afin que user1 & co puisse uploader dans leur home
et voir ce qui est commun ?
si oui suffit de chrooter les users dans leur home
et de faire un ln -s  vers le commun .
(il faut s'assurer ceci dit que la version de pure-ftpd de unbutu est compilé avec l'option virtual-chroot . )
Tu peux aussi utiliser les directory Alias  ( la encore vérifier que c'est compilé avec le --with-diraliases
 )
 

Reply

Marsh Posté le 27-08-2005 à 17:02:16    

mikala a écrit :

donc debian a  priori .
tu peux peut etre lire le petit tutoque j'ai fait pour comprendre notamment le lancement de pure-ftpd ;)
en résumé tu choisis le mode de fonctionnement dans /etc/default/pure-ftpd-common le choix entre inetd/standalone ( nette préférence pour le mode standalone :D )
Ensuite tu veux un truc de ce genre  
 /data/ftp/user1
 /data/ftp/user2
 /data/ftp/user3
 /data/ftp/commun  
afin que user1 & co puisse uploader dans leur home
et voir ce qui est commun ?
si oui suffit de chrooter les users dans leur home
et de faire un ln -s  vers le commun .
(il faut s'assurer ceci dit que la version de pure-ftpd de unbutu est compilé avec l'option virtual-chroot . )
Tu peux aussi utiliser les directory Alias  ( la encore vérifier que c'est compilé avec le --with-diraliases
 )


 
exactement ce que je voulai faire :)
 
je lirai tout ca demain, un grand merci :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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