# [vsFTPd] Anonymous et partage d'autre repertoire (résolu)

## loopx

Bonsoir, je cherche le moyen de faire un serveur anonymous. Pour l'instant, j'ai réussis à faire un FTP anonymous (/home/ftp) qui n'accepte pas l'upload, pas moyen de faire un seul envoye malgré les directives dans le /etc/vsftpd/vsftpd.conf. Probablement un problème de droit sur les fichiers. J'ai fais un chown ftp /home/ftp et la, plus moyen de me connecter :

```

Connected to localhost (127.0.0.1).

220 Welcome to loopx Ftp ...

Name (localhost:loopx): anonymous

530 Please login with USER and PASS.

SSL not available

331 Please specify the password.

Password:

500 OOPS: vsftpd: refusing to run with writable anonymous root

Login failed.

421 Service not available, remote server has closed connection

```

Mais si je chown ce rep et que je le donne à nobody, j'arrive à me connecter, mais l'upload ne fonctionne tjs pas 

```

ftp> put o.mp3

local: o.mp3 remote: o.mp3

200 PORT command successful. Consider using PASV.

550 Permission denied.

```

Questions:

- sous quel utilisateur dois-je utiliser si c'est pas "ftp"

- comment fait-on pour ajouter un repertoire (si l"upload ne fonctionne pas, j'essaye quand meme un partage normal) vu que mon anonymous est coincé dans /home/ftp ??? Pour ajouter un repertoire du style /mnt/data/mes_trucs. J'ai essayé de faire un lien mais c un peu facile hein .... En plus, la partition /mnt/data est une VFAT...

Mon fichier de configuration:

-_--_-_-_--_--__-__-_--_---

```

loop-nb home # cat /etc/vsftpd/vsftpd.conf

#background=YES

listen=YES

pasv_enable=NO

anonymous_enable=YES

local_enable=YES

write_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

ftpd_banner=Welcome to loopx Ftp ...

chroot_local_user=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

connect_from_port_20=NO

anon_root=/home/ftp

ftp_username=ftp

#userlist_enable=YES

#userlist_deny=YES

user_config_dir=/etc/vsftpd_user_conf

```

Help help help

----------

## mccm

heuu moi je me suis cassé les dents avec vsftp donc j'ai testé proftpd qui marche nikel aucun prob donc test proftp qui est vraiment bien!!! il faut pas se faire chi** a mon avis!!

si tu vx vraiment utiliser vsftpd explique moi de nouveau ton prob plus clairement!!!

----------

## truc

un man vsftpd.conf s'impose réelement, ne serait que pour(entre autre!!) l'usage de l'utilisateur nobody, qui est déconseillé, de l'upload pour anonymous qui est (avis perso très partagé) une très mauvaise idée, de plus tu as

```
user_config_dir=/etc/vsftpd_user_conf 
```

mais tu ne nous en as pas parlé non plus  :Question: 

récapitulatif, le man vsftpd.conf s'impose, mais aussi vsftpd peut-être utile:)

----------

## El_Goretto

+1 pour truc.

vsftp est "simple" à configurer, si on ne tente pas trois milles truc à la fois sasn savoir à quoi ça sert.

 *Quote:*   

> anonymous_enable
> 
>               Controls  whether  anonymous logins are permitted or not. If enabled, both the
> 
>               usernames ftp and anonymous are recognised as anonymous logins.
> ...

 

Et puis faudrait être clair: tu veux de l'upload ou pas en anonymous? En user local?

 *Quote:*   

> write_enable
> 
>               This controls whether any FTP commands which change the filesystem are allowed
> 
>               or not. These commands are: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE and SITE.
> ...

 

--

edit:

t'as vérifié que le user ftp (utilisé pour les connexions anonymous) existait dans /et/passwd?

----------

## loopx

Le user ftp est le meme que anonymous. Je tombe dans le meme home (/home/ftp). En ce qui concerne le "user_config_dir=/etc/vsftpd_user_conf", ca sert, d'après ce que j'ai lu, à configurer les répertoires pour l'utilisateur. Mais ca ne fonctionne pas. En fait, voici le contenu cd /etc/vsftpd_user_conf/ftp (je me connecte via l'utilisateur ftp):

```

loop-nb vsftpd_user_conf # cat ftp

guest_username=aaa

cat /etc/passwd:

(la dernière ligne seulement)

aaa:x:21:21::/mnt/data1/divx:

```

C'étais censé me procurer un accès à /mnt/data1/divx pour l'utilisateur ftp, mais rien ne fonctionne. Je vois juste un lien que je ne peux pas utiliser comme répertoire (quand je suis connecté via le ftp)  :Sad: 

----------

## kernelsensei

 *loopx wrote:*   

> En ce qui concerne le "user_config_dir=/etc/vsftpd_user_conf", ca sert, d'après ce que j'ai lu, à configurer les répertoires pour l'utilisateur.

 

Selon la doc que je lis, ca sert à faire de la config au cas par cas pour les users, et pas uniquement les repertoires. (avec des exceptions pour ce qui concerne les options indépendantes du user)

Sinon tu peux toujours essayer de monter en bind les repertoires que tu veux dans le home du user :

1. tu as /home/ftpuser/

2. tu veux lui donner acces, en plus de son home, a /media/mesfichiers/videos_publiques/

3. alors tu fais : mkdir /home/ftpuser/videos_publiques && mount /media/mesfichiers/videos_publiques/ /home/ftpuser/videos_publiques -o bind

----------

## loopx

Merci, c'et exactement ce qu'il me fallait  :Smile: 

Maintenant je peux mettre un résolu  :Wink: 

----------

## loopx

Juste un dernier problème, j'arrive pas à encoder ca (faire un bind d'une partition déjà montée) dans le fstab, pour que ca le fasse tout seul au boot  :Sad: 

Y a rien dans le man fstab

EDIT: c'est bon, j'ai trouvé:

/mnt/data1/divx /home/ftp/divx1 none bind 0 0

----------

## loopx

Bon, il y a encore un problème  :Sad:  :Sad:  :Sad: 

Sur mon portable en x86, tout va bien.

Sur mon serveur (athlonXP), rien ne vas plus. Pourtant, il n'y a pas de firewall, et la configuration est exactement identique. Déjà, je dois ajouter ceci: background=YES sinon il ne se lance pas (alors que le portable n'utilise pas xined et que le serveur non plus, je dois juste mettre cette option pour le serveur sinon ca se lance pas).

Quand je me connecte en ftp, pas moyen de voire quoi que se soit du repertoire:

```

serveur home # ftp localhost

Connected to localhost.

220 Welcome to loopx Ftp ...

Name (localhost:loopx): ftp

530 Please login with USER and PASS.

SSL not available

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

200 PORT command successful. Consider using PASV.

150 Here comes the directory listing.

226 Transfer done (but failed to open directory).

```

J'ai pourtant fait un chown nobody /home/ftp (comme pour mon portable ou ca fonctionne parfaitement)... Moi j'y comprend plus rien. 2 meme ftp, 2 config sencé etre les memes qui ne fonctionne pas de la meme manière pourtant!!!

----------

## truc

[OFF] tu fais deux serveurs ftp en même temps? (un sur chaque machine je veux dire..) c'est pour un réseau local, n'est ce pas? N'aurai tu pas interet à passer par NFS plutôt?

simple proposition..

[/OFF]

```
# Enable vsftpd to run as a standalone daemon

# Comment these two out to run under inetd or xinetd

#background=YES

#listen=YES

```

Si tu ne te sers pas d'inetd ou xinetd tu dois effectivement avoir 

```
background=YES

listen=YES
```

sur les deux..

----------

## loopx

Non, il me faut un ftp car c'est pas toujours du réseau local  :Wink: 

----------

## loopx

Ben non, j'utilise pas xined.

Sur le serveur, LISTEN=YES et BACKGROUND=YES sinon ca démarre pas. Version=2.0.3-r1

Sur le portable, LISTEN=YES et BACKGROUND=NO (ou je commente la ligne) mais avec BACKGROUND=YES, ca démarre pas. Version=2.0.3-r2

Surement qu'il ont changé certaine choses. Mon ftp fonctionne toujours en tout cas. Juste que pour le serveur, le mode anonymous fonctionne tjs pas. Voici le conf:

```

serveur loopx # cat /etc/vsftpd/vsftpd.conf

background=YES

listen=YES

anonymous_enable=YES

local_enable=YES

write_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

ftpd_banner=Welcome to loopx Ftp ...

chroot_local_user=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_root=/home/ftp

ftp_username=ftp

pasv_enable=NO

port_enable=YES

#userlist_enable=YES

#userlist_deny=YES

#user_config_dir=/etc/vsftpd_user_conf

anon_max_rate=4000000

max_clients=2

idle_session_timeout=60

listen_ipv6=NO

```

Impossible de voir le contenu du repertoire (en annonymous):

```

ftp> ls

200 PORT command successful. Consider using PASV.

150 Here comes the directory listing.

226 Transfer done (but failed to open directory).

```

Bon, voilà, j'ai mis la meme version sur le serveur que celle du portable (=> background commenté). Mais tjs pas d'accès à mon répertoire !!!!

----------

## truc

[On sait jamais]

pourtant les droits de ton (tes) dossier(s) dont corrects? (droits d'execution pour ouvrir un dossier;) ) 

[/On sait jamais]

----------

## loopx

```

serveur home # ls -l

total 0

drwx------  2 colo       users  48 Nov 22 16:43 colo

drwx------  2 fran       root   80 Nov 28 12:20 fran

drwx------  2 nobody     root   72 Dec  1  2005 ftp

serveur home # ls -l ftp

total 4

-rw-r--r--  1 nobody root 63 Dec  1  2005 info.txt

```

J'ai fais un chown nobody /home/ftp (comme pour le portable,ou la ca fonctionne).

----------

## truc

ce qui m'étonne c'est que ça marche sur le portable! 

 *truc wrote:*   

> droits d'execution pour ouvrir un dossier;) 

 

Apparement tu as du oublier les droits d'executions pour tes dossiers;)

Sinon, d'après la man page, l'auteur déconseille (comme je l'avais déjà fait remarqué...) l'utilisation de l'utilisateur (c'est lourd come formulation...) nobody pour quoi que ce soit(s'y référer pour plus de précision...) m'enfin comme tu veux...

----------

## loopx

 *truc wrote:*   

>  *truc wrote:*   droits d'execution pour ouvrir un dossier;)  
> 
> Apparement tu as du oublier les droits d'executions pour tes dossiers;)
> 
> 

 

Heu, tu pourrais m'expliquer ??? Car pour moi, le répertoire appartiens à nobody (comme sur le portable) et le fichier .txt aussi => il à droit d'y accéder...

Pour le nobody, d'accord d'accord, mais je fais un chow de quoi alors ??? (chown XXX /home/ftp) Si je fais un chown ftp /home/ftp, ca va plus, il veux carément plus démarrer, problème de droit de root  :Neutral: 

----------

## El_Goretto

Pas de droit de root... Il parle de la racine du repertoire (cad /home/ftp).

Essaie de créer un sous repertoire où tu mettras les droits en écriture, etc, bref, ce que tu veux actuellement faire avec /home/ftp.

----------

## loopx

Merci, j'ai enfin compris l'erreur. J'arrive maintenant à me connecter avec le /home/ftp donné à l'utilisateur ftp. Mais je vois toujours pas ce qu'il se passe dedant !!! J'ai regardé le man et j'ai pas trouvé d'option (du style une option qui empeche le listing). Regardez ceci, moi j'y comprend rien, jamais vu une tel choses:

```

serveur home # ls -l

total 0

drwx------  2 angel      root   80 Dec  1 12:26 angel

drwx------  2 colo       users  48 Nov 22 16:43 colo

drwx------  2 fran       root   80 Nov 28 12:20 fran

dr-x------  3 ftp        root   96 Dec  1 13:54 ftp

drwx------  2 loopx      users 208 Dec  1 06:25 loopx

drwx------  2 yggdrasill users  80 Nov 22 16:50 yggdrasill

serveur home # ls -l ftp

total 4

-rw-r--r--  1 ftp root 63 Dec  1 06:30 info.txt

drwx------  2 ftp root 48 Dec  1 13:54 upload

serveur home # ftp localhost

Connected to localhost.

220 Welcome to loopx Ftp ...

Name (localhost:loopx): ftp

530 Please login with USER and PASS.

SSL not available

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

200 PORT command successful. Consider using PASV.

150 Here comes the directory listing.

226 Transfer done (but failed to open directory).

ftp> cd upload

250 Directory successfully changed.

ftp> ls

200 PORT command successful. Consider using PASV.

150 Here comes the directory listing.

226 Transfer done (but failed to open directory).

```

----------

## El_Goretto

Erf, je crois qu'il est temps que je t'avoue maintenant un petit détail que je t'ai (honteusement) caché: je viens de me rendre compte que mon accès anonymous (dont je ne me sert jamais, d'ailleurs le FTP n'est utilisé que sur la face LAN, et uniquement pour synchroniser mes bookmarks firefox) souffre des mêmes symptômes... 

Déjà, il demande un password pour l'anonymous, alors que je t'ai carotté une option qui normalement s'en affranchit. Ensuite, pareil, le listing du repertoire ne donne rien.

Donc rassure toi, tu progresses, et dès que j'ai un moment, je me remets sérieusement dessus (je suis en pleine galère avec ma machine serveur en se moment qui s'arrête lorsque sont interface gigabit est up... c'est très drôle).

----------

## truc

bon, moi au dernières nouvelles (je suis également dessus, mais c'est pas l'accès anonymous qui me pose problème...)ça marchait, j'te filerai bien mes conf, mais pour une raison que j'ignore encore, monpc ne démarre plus?! comme ça gratuitement (un petit grub error 22 qui normalement ne fais pas peur, sauf que là jen'arrive pas à booter sur aucun cd (gentoo, knoppix, un vieu gentoo) bref je bade...

M'enfin dansun élan de grande bonté (mdr deuxième degré je précise...) tu peux faire un chown root /home/ftp, en fait quasiment ce que tu veux sauf nobody et ftp.. bref sinon tu dois avoir un truc du style rwxr-xr-x ou même encore rwxrwxr-x pourrait faire l'affaire, mais je ne peux pas faire le test pour toi actuellement  :Confused: 

et enfin, l'option du squizzage du mot de passe de l'anonymous marche très bien chez moi;) (c'était juste à titre d'informations....

J'éspère re dans la soirée, si je fais redémarrer la bête..

EDIT: bon étrangement, j'ai remis le BIOS à zero et tout est repartit  :Question:  il y aura toujours des trucs qui m'échaperont... m'enfin...

----------

## loopx

J'ai encore un autre problème. Sous windows, j'ai une erreur denied a cause que lors du switch to ascii, ca pause une erreur d'accès refusé (c'est un truc comme ca qu'il est noté). Alors, maintenant, mon fichier de config sur le serveur est mis à jour mais ca fonctionne toujours pas, j'arrive à me connecter à aucun de mes comptes sous windows (internet explorer).

```

serveur ~ # cat /etc/vsftpd/vsftpd.conf

#background=YES

listen=YES

anonymous_enable=YES

local_enable=YES

write_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

ftpd_banner=Welcome to loopx Ftp ...

chroot_local_user=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_root=/home/ftp

ftp_username=ftp

pasv_enable=NO

port_enable=YES

#userlist_enable=YES

#userlist_deny=YES

#user_config_dir=/etc/vsftpd_user_conf

anon_max_rate=4000000

max_clients=10

idle_session_timeout=60

ascii_download_enable=YES

ascii_upload_enable=YES

listen_ipv6=NO

```

----------

## truc

ecoute, j'te file ma config qui est encore provisoire mais qui marche en anonymous.. il faut juste noter que moi je lance le serveur ftp avec xinetd.. seul diff notable normalemnet;)

```
anonymous_enable=YES

anon_upload_enable=NO

local_enable=NO

write_enable=NO

guest_enable=YES

local_umask=022

userlist_enable=YES

dirmessage_enable=YES

connect_from_port_20=YES

chown_uploads=NO

xferlog_enable=YES

xferlog_file=/var/log/vsftpdxferlog.log

idle_session_timeout=240

data_connection_timeout=120

nopriv_user=ftp

hide_ids=YES

text_userdb_names=YES

no_anon_password=YES

ascii_upload_enable=NO

ascii_download_enable=NO

ftpd_banner=*******Welcome to truc's Gentoobox********

chroot_list_enable=YES

ls_recurse_enable=NO

```

```
ls -l /home/

lrwxrwxrwx   1 root   root    14 nov 26 01:30 ftp -> /home/data/ftp

```

et 

```
ls -l /home/data/

drwxr-xr-x  4 sam    ftp      1144 déc  1 22:41 ftp

```

si ça peut t'aider.. :Wink: 

----------

## loopx

J'ai essayé ta config, mais le problème du listing des répertoires pose toujours problème:(

----------

## loopx

J'ai trouvé !!!

Enfin  :Smile: 

c'étais juste ca à rajouter (sinon le ls fonctionne que pour les fichiers qui sont pas lisible par tous): 

```

anon_world_readable_only=NO

```

Edit: j'ai toujours le problème de connection ASCII (pas moyen de me connecter avec Internet Explorer et meme avec Firefox  :Sad:  :Sad:  :Sad: 

Help

----------

## loopx

Ca y est, j'y suis enfin arrivé !!!

C'est n'importe quoi sous windows. Il faisait une erreur comme si le mode ASCII n'étais pas disponible, mais en fait, il se connecte en mode passif. Donc, j'ai du rajouter/modifier cette ligne:

```

pasv_enable=YES

ascii_download_enable=NO

ascii_upload_enable=NO

```

Et donc, IE et firefox arrive à se connecter. Mais c'est la que je ne comprend plus le fonctionnement du ftp. 

Le mode passif, c'est bien le serveur qui dit au client sur quel port se connecter non ?

Le mode actif, c'est que le serveur écoute sur le port 21, et le les données sont sur le port 20.

Ma question, comment est-ce que le mode passif fonctionne, vu qu'il n'y a que le port 20 et 21 d'ouvert sur mon ROUTEUR et qui redirige (port forwarding) vers le SERVEUR....

SERVEUR===ROUTEUR===NET

???????????????????????????????

En tout cas, voici mon fichier de config FONCTIONNEL pour le anonymous ET le mode user normal, ACTIF & PASSIF:

```

#option elementaires

listen=YES

ftpd_banner=>>> FTP <<SERVEUR>> <<<

#anonymous options

anonymous_enable=YES

no_anon_password=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_world_readable_only=NO

anon_root=/home/ftp

ftp_username=ftp

#local options

local_enable=YES

chroot_local_user=YES

write_enable=NO

connect_from_port_20=NO

dirmessage_enable=NO

#mode de connexion

pasv_enable=YES

port_enable=YES

#autre règles

max_clients=10

idle_session_timeout=60

ascii_download_enable=NO

ascii_upload_enable=NO

listen_ipv6=NO

xferlog_enable=YES

```

----------

## mccm

Bon alors moi j'arrivai jamais a me loguer avec mes utilisateurs virtuels j'ai touvé LA solution!!

https://forums.gentoo.org/viewforum-f-18.html

voila et ça marche!!!

----------

## truc

merci bien, j'vais tester quelques trucs de ta conf car chez moi ça fonctionne un peu étrangement:

accessible en anonymous en local et depuis le net

accessible en local user en local et depuis le net mais l'accès en écriture ne semble fonctionner que depuis le net et pas en local(  :Question:  !! ) si j'utilise un client graphique ftp ( les uploads semble commencer correctement, mais finalement c'est aléatoire, soit j'ai un dossier qui se créé avec un des fichiers vides et innaccessible, soit rien du tout n'est possible  :Question: 

Bref tout ça pour dire que je vais essayer ta conf:)

PS: c'est pire quand j'éessaie d'activer SSL! ça fou encore plus le bordel  :Confused:  je ne comprends pas tout..

----------

