Salut.
Je vais essayer de répondre à tout çà

Le fichier vsftpd.chroot est un fichier texte tout bête.
sa syntaxe est tout simplement
- Code: Tout sélectionner
user1
user2
user3
etc etc etc
Bien évidement il faut que les utilisateurs existent sur ton système.
L'ordre n'a aucune importance.
Il autorise simplement les utilisateurs inscrits à remonter au niveau de la racine de ton système.
Sans celà les utilisateurs sont bloqués dans leur répertoire personnel (/home/user1 par exemple) et ne peuvent pas aller plus haut, c'est ce qu'on appelle un chroot.
Donc un utilisateur qui n'est PAS dans ce fichier ne PEUT PAS aller sur /mnt/disque (par exemple).
Il ne dit pas non plus sur quel disque ils peuvent aller, ils ont accès à toute l'arborescence de ton système (je t'expliquerais plus loin comment faire ceci si c'est ce que tu veux), ainsi si ils veulent aller sur ton disque USB, et admettons que tu l'ais monté sur /mnt/disque, ils devront taper cd /mnt/disque (ou avec un client graphique faire du clic pour remonter au / puis descendre dans mnt/disque:)).
Il ne donne pas non plus un quelconque droit d'écriture ou de lecture, les utilisateurs auront les droits que tu leur as donnés sur le système lui même..
Ansi un fichier dont les droits sont : rw. rw. rw. root:root sera accessible en écriture/lecture à tout le monde, alors qu'un fichier rw. r.. r.. root:root ne sera accessible qu'en lecture (sauf pour root).
Tu peux bien évidement varier ces droits en mettant des groupes en lecture/ecriture etc etc etc, mais c'est tout au niveau de ton système que se gèreront les droits d'accès.
Vsftpd ne gère donc aucun droit tout seul, contrairement à Samba.
Voyons maintenant si tu veux qu'un utilisateur ait accès directement à ton disque quand il se connecte avec ftp..
ATTENTION, lis bien ce paragraphe parce-que ce qui s'avère pratique dans le cas du ftp peut entrainer des problèmes si l'utilisateur a aussi la possibilité de se loguer interactivement sur la machine (par l'écran de login ou par telnet/ssh).
Donc, pour donner un autre répertoire personnel à un utilisateur il te suffit d'éditer le fichier /etc/passwd, et de changer la ligne de l'utilisateur de ceci:
user1:x:1000:1000:user1,,,,:
/home/user1:/bin/bash
en ceci:
user1:x:1000:1000:user1,,,,:
/mnt/disque:/bin/bash
Mais il faut faire très attention avec cette manipulation, parce-que le répertoire personnel de l'utilisateur devient l'endroit que tu as mentionné.
Si cet utilisateur se connecte avec une session interactive, c'est à cet endroit qu'il ira chercher ses fichiers de config, c'est aussi là qu'il ira les écrire.
Sans parler des droits à gérer, il va y avoir un bronx pas possible sur ton disque, et je ne t'en parle même pas si plusieurs utilisateurs pointent sur le même répertoire..
C'est donc réservé à des utilisateurs qui ne font QUE du ftp.
Si, donc, tu veux appliquer ce système, il faut impérativement empêcher les utilisateurs dont tu as changé le répertoire à se connecter interactivement.
Pour celà, il faut encore modifier la ligne de l'utilisateur dans /etc/passwd de ceci:
user1:x:1000:1000:user1,,,,:/mnt/disque:
/bin/bashen ceci:
user1:x:1000:1000:user1,,,,:/mnt/disque:
/bin/falseVoilà, ce fut un peu long, j'espère avoir un peu éclairé ta lanterne.
J'espère aussi n'avoir pas fait un long hors-sujet

Cordialement, Philippe.