Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Proftpd ... Interdire l'accès à un sous-répertoire...

9 réponses
Avatar
dpn
bonjour à tous,

Sur un serveur Proftpd. J'ai deux utilisateurs autorisés: adminftp et
userftp.
Le répertoire racine de mon serveur est /opt/ftp dans lequel j'ai crée deux
sous-répertoires : public et perso.
J'ai donc dans mon fichier de config :
DefaultRoot /opt/ftp
DefaultChdir /opt/ftp
adminftp a tous les droits mais je ne veux pas que userftp ait accès au
répertoire /opt/ftp/perso
J'ai donc rajouté
<Directory /opt/ftp/perso>
<Limit LOGIN>
DenyUser userftp
</Limit>
</directory>
mais ça ne marche pas ! userftp démarre la session en /opt/ftp et se
promène dans tous les sous-répertoires.

Où est mon erreur ? Merci pour votre aide.

Cordialement

David

9 réponses

Avatar
Cem
Le 11-02-2004, dpn a écrit :
bonjour à tous,
Bonjour


Sur un serveur Proftpd. J'ai deux utilisateurs autorisés: adminftp et
userftp.
Le répertoire racine de mon serveur est /opt/ftp dans lequel j'ai crée deux
sous-répertoires : public et perso.
J'ai donc dans mon fichier de config :
DefaultRoot /opt/ftp
DefaultChdir /opt/ftp
adminftp a tous les droits mais je ne veux pas que userftp ait accès au
répertoire /opt/ftp/perso
J'ai donc rajouté
<Directory /opt/ftp/perso>
<Limit LOGIN>
DenyUser userftp
</Limit>
</directory>
mais ça ne marche pas ! userftp démarre la session en /opt/ftp et se
promène dans tous les sous-répertoires.


Essayez de remplacer <Limit LOGIN> par <Limit READ WRITE DIRS>.

Avatar
gael
dpn wrote:
bonjour à tous,

Sur un serveur Proftpd. J'ai deux utilisateurs autorisés: adminftp et
userftp.
Le répertoire racine de mon serveur est /opt/ftp dans lequel j'ai crée deux
sous-répertoires : public et perso.
J'ai donc dans mon fichier de config :
DefaultRoot /opt/ftp
DefaultChdir /opt/ftp
adminftp a tous les droits mais je ne veux pas que userftp ait accès au
répertoire /opt/ftp/perso
J'ai donc rajouté
<Directory /opt/ftp/perso>
<Limit LOGIN>
DenyUser userftp
</Limit>
</directory>
mais ça ne marche pas ! userftp démarre la session en /opt/ftp et se
promène dans tous les sous-répertoires.

Où est mon erreur ? Merci pour votre aide.

Cordialement

David



l'option DefaultRoot /opt/ftp doit éviter qu'un utilisateur se balade

dans les sous répertoires "/..." en faite il agit comme un chroot
@+

Avatar
laurent terzief
bonsoir,

tu trouveras un article sur proftpd (linux+freebsd) à l'adresse suivante
http://www.coredump.fr.to

il devrait te permettre de résoudre tes problèmes et d'aller un peu plus
loin

LT.

"dpn" a écrit dans le message de news:
402a2cde$0$28635$
bonjour à tous,

Sur un serveur Proftpd. J'ai deux utilisateurs autorisés: adminftp et
userftp.
Le répertoire racine de mon serveur est /opt/ftp dans lequel j'ai crée
deux

sous-répertoires : public et perso.
J'ai donc dans mon fichier de config :
DefaultRoot /opt/ftp
DefaultChdir /opt/ftp
adminftp a tous les droits mais je ne veux pas que userftp ait accès au
répertoire /opt/ftp/perso
J'ai donc rajouté
<Directory /opt/ftp/perso>
<Limit LOGIN>
DenyUser userftp
</Limit>
</directory>
mais ça ne marche pas ! userftp démarre la session en /opt/ftp et se
promène dans tous les sous-répertoires.

Où est mon erreur ? Merci pour votre aide.

Cordialement

David





Avatar
dpn
Bonsoir,

C'est justement dans cet article que j'ai trouvé un exemple avec <Limit
LOGIN> pour interdire l'accès a un répertoire mais apparemment ce n'est pas
le but de cette directive.
La solution proposé par Cem avec <Limit DIRS> répond parfaitement à ma
question
Ceci dit, l'article est très bien et m'a permis de résoudre bien d'autres
problèmes.

Cordialement

David


"laurent terzief" a écrit dans le message de
news: 402a78c3$0$28653$
bonsoir,

tu trouveras un article sur proftpd (linux+freebsd) à l'adresse suivante
http://www.coredump.fr.to

il devrait te permettre de résoudre tes problèmes et d'aller un peu plus
loin

LT.

"dpn" a écrit dans le message de news:
402a2cde$0$28635$
bonjour à tous,

Sur un serveur Proftpd. J'ai deux utilisateurs autorisés: adminftp et
userftp.
Le répertoire racine de mon serveur est /opt/ftp dans lequel j'ai crée
deux

sous-répertoires : public et perso.
J'ai donc dans mon fichier de config :
DefaultRoot /opt/ftp
DefaultChdir /opt/ftp
adminftp a tous les droits mais je ne veux pas que userftp ait accès au
répertoire /opt/ftp/perso
J'ai donc rajouté
<Directory /opt/ftp/perso>
<Limit LOGIN>
DenyUser userftp
</Limit>
</directory>
mais ça ne marche pas ! userftp démarre la session en /opt/ftp et se
promène dans tous les sous-répertoires.

Où est mon erreur ? Merci pour votre aide.

Cordialement

David









Avatar
Cem
Le 11-02-2004, dpn a écrit :
C'est justement dans cet article que j'ai trouvé un exemple avec <Limit
LOGIN> pour interdire l'accès a un répertoire mais apparemment ce n'est pas
le but de cette directive.
La solution proposé par Cem avec <Limit DIRS> répond parfaitement à ma
question
Attention. Il ne faut pas se limiter à <Limit DIRS>. Mais faire <Limit

DIRS READ WRITE> comme je l'avais écrit (ou plus simplement <Limit ALL>).
<Limit DIRS> empêche juste de faire une commande du type cd ou ls sur le
répertoire désigné. L'utilisateur ne voit pas le contenu du répertoire
mais pourrait très bien lire un fichier qui s'y trouve s'il connaît son
nom.

Avatar
dpn
"Cem" a écrit dans le message de news:

C'est justement dans cet article que j'ai trouvé un exemple avec <Limit
LOGIN> pour interdire l'accès a un répertoire mais apparemment ce n'est
pas


le but de cette directive.
La solution proposé par Cem avec <Limit DIRS> répond parfaitement à ma
question
Attention. Il ne faut pas se limiter à <Limit DIRS>. Mais faire <Limit

DIRS READ WRITE> comme je l'avais écrit (ou plus simplement <Limit ALL>).
<Limit DIRS> empêche juste de faire une commande du type cd ou ls sur le
répertoire désigné. L'utilisateur ne voit pas le contenu du répertoire
mais pourrait très bien lire un fichier qui s'y trouve s'il connaît son
nom.


ok. merci pour l'info.


Avatar
dpn
"Cem" a écrit dans le message de news:

C'est justement dans cet article que j'ai trouvé un exemple avec
<Limit



LOGIN> pour interdire l'accès a un répertoire mais apparemment ce
n'est



pas
le but de cette directive.
La solution proposé par Cem avec <Limit DIRS> répond parfaitement à ma
question
Attention. Il ne faut pas se limiter à <Limit DIRS>. Mais faire <Limit

DIRS READ WRITE> comme je l'avais écrit (ou plus simplement <Limit
ALL>).


<Limit DIRS> empêche juste de faire une commande du type cd ou ls sur le
répertoire désigné. L'utilisateur ne voit pas le contenu du répertoire
mais pourrait très bien lire un fichier qui s'y trouve s'il connaît son
nom.


ok. merci pour l'info.




Maintenant j'ai créé 3 nouveaux utilisateurs ftp : user1, 2 et 3 et
j'aimerai que chacun soit chrooté au démarrage de session vers un répertoire
particulier situé dans ma racine FTP et non dans son home.
par exemple : user1 démarre dans /opt/ftp/rep1 et user2 dans /opt/ftp/rep2.
...
En fait il me faudrait une commande comme DefautChdir mais appliquée a
chaque User.
Est-ce possible et si oui, comment ?

Enfin, ma dernière question : est-ce qu'il existe une interface graphique
pour paramétrer proftpd ?

Merci à tous pour vos réponses

Cordialement

David



Avatar
Cem
Le 13-02-2004, dpn a écrit :
Maintenant j'ai créé 3 nouveaux utilisateurs ftp : user1, 2 et 3 et
j'aimerai que chacun soit chrooté au démarrage de session vers un répertoire
particulier situé dans ma racine FTP et non dans son home.
par exemple : user1 démarre dans /opt/ftp/rep1 et user2 dans /opt/ftp/rep2.
...
En fait il me faudrait une commande comme DefautChdir mais appliquée a
chaque User.
Est-ce possible et si oui, comment ?


Si ces users sont uniquement autorisés au FTP, la solution la plus
simple serait de leur affecter comme "Home Directory" le répertoire
/opt/ftp/rep<i> qui va bien. Un simple "DefaultRoot ~" suffit ensuite
pour orienter chaque user vers le bon répertoire.
Autre directive qui te permettrait peut-être de t'en sortir:
UserDirRoot. Voir
http://proftpd.linux.co.uk/localsite/Userguide/linked/config_ref_UserDirRoot.html


Enfin, ma dernière question : est-ce qu'il existe une interface graphique
pour paramétrer proftpd ?


Jette un coup d'oeil à la liste des projets qui tournent autour de
proftpd dans Freshmeat:
http://freshmeat.net/search/?q=proftpd&section=projects&x=0&y=0

Avatar
dpn
"Cem" a écrit dans le message de news:

Maintenant j'ai créé 3 nouveaux utilisateurs ftp : user1, 2 et 3 et
j'aimerai que chacun soit chrooté au démarrage de session vers un
répertoire


particulier situé dans ma racine FTP et non dans son home.
par exemple : user1 démarre dans /opt/ftp/rep1 et user2 dans
/opt/ftp/rep2.


...
En fait il me faudrait une commande comme DefautChdir mais appliquée a
chaque User.
Est-ce possible et si oui, comment ?


Si ces users sont uniquement autorisés au FTP, la solution la plus
simple serait de leur affecter comme "Home Directory" le répertoire
/opt/ftp/rep<i> qui va bien. Un simple "DefaultRoot ~" suffit ensuite
pour orienter chaque user vers le bon répertoire.
Autre directive qui te permettrait peut-être de t'en sortir:
UserDirRoot. Voir

http://proftpd.linux.co.uk/localsite/Userguide/linked/config_ref_UserDirRoot

.html


Enfin, ma dernière question : est-ce qu'il existe une interface
graphique


pour paramétrer proftpd ?


Jette un coup d'oeil à la liste des projets qui tournent autour de
proftpd dans Freshmeat:
http://freshmeat.net/search/?q=proftpd&section=projects&x=0&y=0


Je suis allé faire un tour sur freshmeat et j'ai récupéré le logiciel
Gproftpd qui est une GUI d'administration du serveur. Ca fonctionne bien et
c'est sympa à utiliser.
En consultant le fichier proftpd.conf généré, c'est l'occasion de découvrir
aussi pas mal d'astuces.
Merci pour ton aide

David