Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/02/2011, à 15:54

lawr

PROFTPD - Isolation des clients dans leurs repertoires

Bonjour,

Depuis quelque jour, je me tire les cheveux afin de pouvoir isoler mes clients dans leurs répertoires respectifs...

J'aimerai qu'ils ne puissent pas remonter l'arborescence.

mon fichier proftpd.conf

ServerName            "ProFTPD server"
ServerIdent            on "FTP Server ready."
ServerAdmin            xx@xxx.com 
DefaultServer            on
ServerType             standalone
DefaultRoot            /media/DATA    
UseReverseDNS            off
User                nobody
Group                nobody
MaxInstances            20
UseSendfile            off
LogFormat            default    "%h %l %u %t \"%r\" %s %b"
LogFormat            auth    "%v [%P] %h %t \"%r\" %s"
MultilineRFC2228         on
LoadModule mod_sql.c
LoadModule mod_sql_mysql.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_sql.c
LoadModule mod_ctrls_admin.c
LoadModule mod_exec.c
LoadModule mod_geoip.c
AuthPAM             off
timesGMT                        off
AllowStoreRestart         on
AllowRetrieveRestart         on
CreateHome            on
AuthOrder                       mod_sql.c
SQLAuthTypes                    Plaintext Crypt
SQLAuthenticate         users groups
SQLConnectInfo                  proftpd@localhost root ****
SQLUserInfo             users userid passwd uid gid homedir shell 
SQLGroupInfo             groups groupid gid members
SQLLog                          PASS logincount
SQLNamedQuery                   logincount UPDATE "login_count=login_count+1 WHERE userid='%u'" users
SQLLog                          PASS lastlogin
SQLNamedQuery                   lastlogin UPDATE "last_login=now() WHERE userid='%u'" users
SQLLog RETR                     dlbytescount
SQLNamedQuery                   dlbytescount UPDATE "dl_bytes=dl_bytes+%b WHERE userid='%u'" users
SQLLog RETR                     dlcount
SQLNamedQuery                   dlcount UPDATE "dl_count=dl_count+1 WHERE userid='%u'" users
SQLLog STOR                     ulbytescount
SQLNamedQuery                   ulbytescount UPDATE "ul_bytes=ul_bytes+%b WHERE userid='%u'" users
SQLLog STOR                     ulcount
SQLNamedQuery                   ulcount UPDATE "ul_count=ul_count+1 WHERE userid='%u'" users
SQLUserWhereClause              "disabled!=1"
RootLogin off
RequireValidShell off 
SQLLogFile /var/log/proftpd/mysql.log
LogFormat auth "%v [%P] %h %t \"%r\" %s"
ExtendedLog /var/log/proftpd/auth.log AUTH auth
LogFormat write "%h %l %u %t \"%r\" %s %b"
ExtendedLog /var/log/proftpd/access.log WRITE,READ write
IdentLookups off
Umask                022
AllowOverwrite        yes

#<Directory ~>
#<Limit WRITE DIRS READ>
#DenyAll 
#</Limit>
#</Directory>

vous voyez mon code commenté à la fin, si je le dé-commente, je n'est plus accès a mon home de mes utilisateurs.

Effectivement avec cette config je tombe direct dans /home/DATA/nom_du_client // mais il peut remonter...

Du coup je ne sais plus trop comment faire...

puis un Defaultroot   ~

me ramène à la racine de mes users = /user/DATA

et dans ma config, j'utilise mysql via une interface d'admin php...

si vous avez des idées...

Dernière modification par lawr (Le 01/02/2011, à 17:21)

Hors ligne

#2 Le 01/02/2011, à 19:36

demonipuch

Re : PROFTPD - Isolation des clients dans leurs repertoires

Bonsoir

ProFTPD a écrit :

DefaultRoot /path/to/dir group1,group2
will chroot() users who are members of both group1 and group2 into /path/to/dir.

source : http://www.proftpd.org/docs/howto/Chroot.html

Hors ligne

#3 Le 02/02/2011, à 09:53

lawr

Re : PROFTPD - Isolation des clients dans leurs repertoires

merci pour le lien de la doc officiel, que j'avais déjà survolé...

dans mon cas, le propriétaire des dossiers sont " root " du groupe " root " donc pour bloquer mes utilisateurs dans leurs dossiers sans qu'ils puissent remonter d"un cran :

DefaultRoot                              ~     !root

merci.

Hors ligne

#4 Le 02/02/2011, à 10:05

demonipuch

Re : PROFTPD - Isolation des clients dans leurs repertoires

Bonjour

Non vous n'avez pas bien compris le lien.

DefaultRoot         ~     !root

chrootera dans ~ tous les utilisateurs qui ne sont pas membre du groupe root (à cause du !).


Si vous voulez chrooter tous les utilisateurs du groupe root, il faudrait plutôt utiliser :

DefaultRoot        ~        root

Par contre une question : pourquoi vous connectez en root sur votre serveur FTP.
Vous n'avez pas crée un groupe d'utilisateurs FTP? Ça me parait plus sur.

Hors ligne

#5 Le 02/02/2011, à 15:57

Guillaume69

Re : PROFTPD - Isolation des clients dans leurs repertoires

J'imagine déjà les dégats que pourrais faire les clients si ils disposent des droits  "root"  hmm

Hors ligne