Vsftpd : interdir l'acces à /home, / ...

Fermé
xval Messages postés 66 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006 - 2 oct. 2005 à 00:45
xval Messages postés 66 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006 - 2 oct. 2005 à 02:14
Bjr,

J'ai un server ftp qui tourne avec vsftpd.
Je cherche restreindre l'accès ftp des utilisateurs à leur seul répertoire /home/<user>.
J'ai créé un ficher du nom de chaque utilisateur sous le répertoire de configuration /etc/vsftpd/users/
J'ai essayé un peu tout, mais rien n'y fait, impossible d'interdire l'utilisateur de saisir "/home" sur son client ftp et d'aller directement sous /home, ... idem pour / ...
Parcontre, remonter d'un répertoire via ".." n'est pas autorisé (ce qui correspond à ce que je veux).

Quelqu'un aurait-il une idée.
Merci

xval

1 réponse

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
2 oct. 2005 à 01:55
Salut,

Si j'ai bien compris tu veux que chaque utilisateur ait access qu'à son répertoire (par exemple /home/user1).

1. tu as déjà crée /etc/vsftpd/users
Donc tu dois avoir ça dans le fichier /etc/vsftpd/users/user1
[root@localhost vsftpd]# cat /etc/vsftpd/users/user1
local_root=/home/user1
[root@localhost vsftpd]#


2. dans le fichier /etc/vsftpd/chroot_list ( le nom n'est pas celui par defaut)
tu dois avoir les utilisateurs qui sont chrootés dans leur répertoire
[root@localhost vsftpd]# cat /etc/vsftpd/chroot_list
user1
user2
.
.
usern
[root@localhost vsftpd]#


3. Et dans /etc/vsftpd/vsftpd.user_list(ce n'est pas l'emplacement par défaut) tu as la liste des utilisateurs ayant access à ton ftp (voir l'option userlist_deny)
[root@localhost vsftpd]# cat /etc/vsftpd/vsftpd.user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
user1
user2
.
.
usern
[root@localhost vsftpd]#


4. Dans /etc/vsftpd./vsftpd.ftpusers (ce n'est pas l'emplacement par défaut) tu as les utilisateur qui n'ont pas access à ton serveur
[root@localhost vsftpd]# cat /etc/vsftpd/vsftpd.ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
[root@localhost vsftpd]#


5. le ficier de configuration vsftpd.conf

Parmi les options tu dois avoir
chroot_list_enable=YES
#Default: NO

userlist_deny=NO
#Default: YES

userlist_enable=YES
#Default: NO

chroot_list_file=/etc/vsftpd/chroot_list
#Default: /etc/vsftpd.chroot_list

user_config_dir=/etc/vsftpd/users
#Default: (none)

userlist_file=/etc/vsftpd/vsftpd.user_list
#Default: /etc/vsftpd.user_list


En fait moi j'ai garder le fichier original de vsftpd et ensuite j'ai modifié les options en fonction de mes besoins. C'est pour ça que tu vois en commentaire l'option par défaut ( #Default)

lami20j

P.S. Voilà les fichiers installée avec vsftpd
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-fr-4/s2-ftp-vsftpd-conf.html
1
xval Messages postés 66 Date d'inscription samedi 11 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006 2
2 oct. 2005 à 02:14
Slt,

Super !
Merci pour la config.
les liste d'utilisateurs autorisés et non-autorisés ne sont pas existantes par défaut car je ne les ai pas ! Je vais les créer, ça me semble plus sécurisé.

Sinon, en lisant ce que tu a écris, je crois avoir trouvé la solution :
mettre chroot_local_user=YES dans /etc/vsftpd.conf.

j'ai essayé et ça marche, plus moyen d'accéder à autre chose qu'au répertoire de l'utilisateur.

Merci beaucoup !
@+

xval
0