# Debian & vsFTP: Konfiguration (hauptsächlich chroot)



## sam (13. Dezember 2004)

Moin,

       habe vsFTP auf meinem Debian-System installiert. Hat sich alles recht simpel und schön angehört, was es sicher auch ist...wenn nicht gerade ich vor der Kiste sitze ;-]

       Habe mir schon die Anleitung von debianhowto.de und den Artikel von netadmintools.com durchgelesen, was aber bei mir nie zu dem gewünschten Erfolg führte 

 Was ich brauche: Einen FTP-Server, bei dem ich div. Benutzer anlegen kann, die auf ihr Verzeichnis beschränkt auf dem Server werkeln dürfen.
       Im Moment kann jeder hin wo er will und landet am Anfang in seinem /home-Verzeichnis.
       Will den Jungs aber ein Verzeichnis in var/www (htdocs) zuweisen.

       Meine vsftpd.conf zum jetzigen Zeitpunkt:

```
1 listen=YES
      2 background=YES
      3 #listen_ipv6=YES
      4
      5 anonymous_enable=NO
      6 local_enable=YES
      7 write_enable=YES
      8 nopriv_user=ftpsecure
      9
      10 #userlist_deny=NO
      11 #userlist_enable=YES
      12
      13 dirmessage_enable=YES
      14 xferlog_enable=YES
      15 connect_from_port_20=YES
      16
      17 chroot_list_enable=YES
      18 chroot_local_user=YES
      19 #chroot_list_file=/etc/vsftpd.chroot_list
```
 Wenn ich mich nun einlogge, lande ich im /home-Verzeichnis des jeweiligen Users und kann da auch ohne Probleme raus und mir alles anschauen...nicht ganz Sinn und Zweck der Sache 

      Hoffe, dass ihr mir auch hierbei helfen könnt...

      mfg
      sam


----------



## RedWing (13. Dezember 2004)

Die Suchfunktion is dein Freund:

http://www.tutorials.de/forum/showthread.php?s=&threadid=146673
http://www.tutorials.de/tutorials129287.html&highlight=vsftp
http://www.tutorials.de/tutorials152782.html&highlight=vsftp

Gruß

RedWing


----------



## sam (13. Dezember 2004)

Danke, die Suchfunktion hatte ich bereits bemüht, aber die Ergebnisse nur überflogen (wie peinlich ).

   Zum Testen steht mir aber ein weiteres komisches Problem im Weg:
     Habe einen User 'ftp' mit dem Passwort 'test', der so in der /etc/passwd steht:

```
ftp:x:102:65534::/var/www:/bin/false
```
     Mit dem User 'sam' ist eine Anmeldung problemlos möglich, aber bei 'ftp' streikt der Server...das macht mich noch irre 
  Gibt es da eine logische Erklärung?

     mfg
     sam


----------



## sam (13. Dezember 2004)

Problem gelöst, aber nicht ganz zu meiner Zufriedenheit: _/bin/false_ will er nicht...muss _/bin/bash_ lauten.
  Das Folgeproblem: Ich will den User 'ftp' nicht in der bash haben...Lösungsvorschläge? 
  Hatte das extra so geschrieben, weil debianhowto.de das empfiehlt 

  mfg
  sam


----------



## Ben Ben (13. Dezember 2004)

Kann eigentlich nicht sein, dass der user nicht die "shell" /bin/false haben darf... habe ich eigentlich bei den meisten meiner ftp-benutzer...
Welche Version von vsftpd hast du denn?
Kann jetzt auch leider keine Auffälligkeiten zu miner vsftpd.conf finden, als das es daran liegen könnte...


----------



## JohannesR (13. Dezember 2004)

Mach doch ein /bin/true. Das sollte gehen, hoffe ich.


----------



## Fabian (13. Dezember 2004)

```
obelix:~# cp /bin/false /bin/ftp
obelix:~# echo "/bin/ftp" >> /etc/shells
```

Vielleicht geht das ;-)


----------



## sam (14. Dezember 2004)

Sorry, aber ich kann bei meinem Wissensstand noch keine Scherze von erstgemeinten Tipps unterscheiden 

_apt-cache show vsftpd_ sagt folgendes:


```
Package: vsftpd
    Priority: extra
    Section: net
    Installed-Size: 412
    Maintainer: Daniel Jacobowitz <dan @debian.org="">
    Architecture: i386
    Version: 2.0.1-1
    Provides: ftp-server
 Depends: libc6 (>= 2.3.2.ds1-4), libcap1, libpam0g (>= 0.76), libssl0.9.7, libwrap0, adduser, libpam-runtime (>= 0.76-13.1), libpam-modules
    Recommends: logrotate
    Conflicts: ftp-server
    Filename: pool/main/v/vsftpd/vsftpd_2.0.1-1_i386.deb
    Size: 108114
    MD5sum: 5c5689c5b23b9d1ce64de5d1bb867046
    Description: The Very Secure FTP Daemon
     A lightweight, efficient FTP server written from the ground up with
     security in mind.
     .
     vsftpd supports both anonymous and non-anonymous FTP, PAM authentication,
     bandwidth limiting, and the Linux sendfile() facility.
```
 
  </dan> Da steht etwas von Conflicts: ftp-server...
 Ist das schon ein Problem, oder würde nur ein Konflikt auftreten, wenn ich einen weiteren FTP-Server installieren würde?

  mfg
  sam


----------



## sam (14. Dezember 2004)

So: Habe ein bisschen rumprobiert, und es geht definitiv nur mit _bash_.
   Sobald _false_ drinsteht sagt FileZilla folgendes:

```
Antwort:Fatal: unable to initialise SFTP: could not connect
   Fehler:Verbindung kann nicht hergestellt werden!
```
   Bei _bash_ kann ich mich ohne Probleme einloggen.
 An iptables kann es auch nicht liegen...hatte ich für den Test deaktiviert.
  Und das chrooten will auch nicht hinhauen...trotz Konfiguration wie hier im Forum bereits beschrieben.
  So langsam werde ich ratlos...alles hat so gut geklappt und der dumme FTP-Server treibt mich tagelang in den Wahnsinn 

   mfg


----------



## Fabian (14. Dezember 2004)

Probier doch wirklich mal mein "Tipp" oben, dass macht man beim proFTPd auch so...


----------



## sam (14. Dezember 2004)

Fabian B. hat gesagt.:
			
		

> Probier doch wirklich mal mein "Tipp" oben, dass macht man beim proFTPd auch so...


 Führt leider nicht zum gewünschten Erfolg 

  mfg
  sam


----------



## JohannesR (14. Dezember 2004)

Hast du schon true probiert? Ich meinte das durchaus ernst!


----------



## sam (14. Dezember 2004)

Johannes Röttger hat gesagt.:
			
		

> Hast du schon true probiert? Ich meinte das durchaus ernst!


 Funktioniert leider auch nicht 
   Gibt es eine Möglichkeit den User in der Shell selbst sozusagen zu "bannen"?
  Würde ja reichen, wenn er die Meldung, dass er hier nix verloren hat, nach seiner Passworteingabe bekommen würde...

   mfg


----------



## JohannesR (14. Dezember 2004)

Versuch doch mal ein 'echo "Weg hier"'...


----------



## RedWing (14. Dezember 2004)

> Gibt es eine Möglichkeit den User in der Shell selbst sozusagen zu "bannen"?



In der Shell schon:

Jenachdem was du für ne Shell benutzt.
Bsp für die bash:
in .bashrc folgendes einfügen:

```
exit
```

Is mit Vorsicht zu geniessen als root wäre das fatal...

*[Edit Mod]Nein, lustig waere es! [/Edit]*

Gruß

RedWing


----------



## sam (15. Dezember 2004)

RedWing hat gesagt.:
			
		

> *[Edit Mod]Nein, lustig waere es! [/Edit]*


 Aber nur für euch 


> Versuch doch mal ein 'echo "Weg hier"'...


 Sehr effektiv 
  Meinte das natürlich mit anschließendem Rauswurf 

   Werde _exit_ mal ausprobieren...

   mfg


----------



## fhl (15. Dezember 2004)

funktioniert denn deine chroot für die ftp user jetzt?

etwas komisch finde ich deine konfiguration schon:
      17 chroot_list_enable=YES
      18 chroot_local_user=YES
      19 #chroot_list_file=/etc/vsftpd.chroot_list 

Du sagst das alle lokale User nach dem ftp-login in eine chroot sollen. Die chroot-list ist eine Liste in die in diesem Fall alle User eingetragen sind, die *nicht* chrootet werden. Du hast diese aktiviert und kommentierst dann aber die Zeile in der diese Liste bestimmt wird aus. ich weiss nicht ob es so funktionieren kann.


gruss frank


----------



## sam (15. Dezember 2004)

fhl hat gesagt.:
			
		

> funktioniert denn deine chroot für die ftp user jetzt?
> 
> etwas komisch finde ich deine konfiguration schon:
> 17 chroot_list_enable=YES
> ...


 Hi Frank,

   nein, das mit dem chrooten funktioniert leider immer noch nicht.
   Leider weiss ich auch nicht, was ich noch probieren soll.
   Nur _chroot_local_user_ funktioniert nicht, meine Konfiguration von oben funktioniert nicht und wenn ich die Zeile nicht auskommentiere und die Datei _vsftpd.chroot_list_ leer ist, geht es immer noch nicht.
   So langsam sehe ich da überhaupt keine Logik mehr 
   Oder habe ich etwas Grundlegendes übersehen/falsch verstanden?

   mfg


----------



## fhl (15. Dezember 2004)

hmm... also ich hab auch schon öfters einen ftp server konfiguriert und die user in eine chroot gepackt. Also du hast sicher die user ganz normal auf dem System angelegt nehme ich mal an. Hab hier mal einen Auszug von einem User aus der /etc/passwd

user1:x:1020:100::/var/ftpuser/user1:/bin/bash

in der vsftp.conf habe ich folgende einträge zu chroot:

local_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/ftpchroot

wie sehen denn die Rechte aus von den Verzeichnissen der user

Hast du dein vsftp so konfiguriert, das es in einer Logdatei schreibt, wenn ja tauchte diesbezüglich ein Fehler auf?


Gruss Frank


P.S. bin auch per ICQ erreichbar unter #118783895


----------

