proftpd Server einrichten

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Benutzeravatar
Stefan
Beiträge: 1429
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Beitrag von Stefan » 11.09.2002 21:51:15

Hallo Patick

erster Erfolgserlebnis :lol:
Server läuft habe Ihn als standalone laufen
Komme jetzt mit jedem User aufs Home Verzeichnis

Hir jetzt meine conf Datei
---------------------------------------------------------------------------
leider kann man sich ÜBER das home Verzeichnis hinweg bewegen
---------------------------------------------------------------------------

Code: Alles auswählen

debian:/etc# less proftpd.conf
# This is a basic ProFTPD configuration file (rename it to
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName                      "Debian"
ServerType                      standalone
DeferWelcome                    off

ShowSymlinks                    on
MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on
AllowOverwrite                  on

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
LsDefaultOptions                "-l"

DenyFilter                      \*.*/

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd               off

# Port 21 is the standard FTP port.
Port                            21

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances                    30

# Set the user and group that the server normally runs at.
User                            nobody
Group                           nogroup

# Normally, we want files to be overwriteable.
<Directory /*>
  # Umask 022 is a good standard umask to prevent new files and dirs
  # (second parm) from being group and world writable.
  Umask                         022  022

  AllowOverwrite                on
</Directory>

# A basic anonymous configuration, no upload directories.

## <Anonymous ~ftp>
##   User                               ftp
##   Group                              nogroup
##   # We want clients to be able to login with "anonymous" as well as "ftp"
##   UserAlias                  anonymous ftp
##
##   RequireValidShell          off
##
##   # Limit the maximum number of anonymous logins
##   MaxClients                 10
##
##   # We want 'welcome.msg' displayed at login, and '.message' displayed
##   # in each newly chdired directory.
##   DisplayLogin                       welcome.msg
##   DisplayFirstChdir          .message
##
##   # Limit WRITE everywhere in the anonymous chroot
##   <Directory *>
##     <Limit WRITE>
##       DenyAll
##     </Limit>
##   </Directory>
##
##   # Uncomment this if you're brave.
##   # <Directory incoming>
##   #   # Umask 022 is a good standard umask to prevent new files and dirs
##   #   # (second parm) from being group and world writable.
##   #   Umask                          022  022
##   #            <Limit READ WRITE>
##   #            DenyAll
##   #            </Limit>
##   #            <Limit STOR>
##   #            AllowAll
##   #            </Limit>
##   # </Directory>
##
## </Anonymous>
conf gehört zur Gruppe root
werde mich morgen melden, wenn Du Zeit hast ?
Werde mit dem Erfolg :oops: schlafen gehn.

Stefan

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 11.09.2002 22:13:33

Na also. Schritt 1 komplett. Die Config sieht (fast) exakt so aus, wie bei mir, der einzige Unterschied ist, dass ich den ganzen anonymous Kram komplett rausgelöscht habe - bei Dir ist er nur auskommentiert. Aber egal, das macht keinen Unterschied: es läuft.

Ich wurstel hier 'mal noch etwas, wie man jetzt am besten weiter macht... ;-)

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
Stefan
Beiträge: 1429
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Beitrag von Stefan » 12.09.2002 18:20:32

Hallo Patrick

Es würde mich erst einmal Interessieren warum der User der sich per ftp einwählt auf alles zugreifen darf. Also nicht in einem home Verzeichnis gefangen ist. Ich kann auch kein default root~home entdecken.

Schritte die man machen könnte:

1.Linux User abschalten für den ftp-Server
2.Verzeichnisse ändern
3.ftp User erstellen.

Aber ich will Dir natürlich nicht vorrausgreifen.

Bis dann
Stefan

Benutzeravatar
feltel
Webmaster
Beiträge: 10378
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 12.09.2002 19:06:02

Stefan hat geschrieben:Es würde mich erst einmal Interessieren warum der User der sich per ftp einwählt auf alles zugreifen darf. Also nicht in einem home Verzeichnis gefangen ist.
Dies lässt sich durch die Option

Code: Alles auswählen

DefaultRoot                     ~
in der /etc/proftpd.conf erreichen. Damit sieht er keine Dateien/Verzeichnisse oberhalb seines Homeverzeichnisses.

Benutzeravatar
Stefan
Beiträge: 1429
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Beitrag von Stefan » 12.09.2002 19:23:29

Hallo

Habe jetzt DefaultRoot ~ hinzugefügt
aber leider kann man sich immer noch frei bewegen :cry:


Code: Alles auswählen

ShowSymlinks                    on
MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on
AllowOverwrite                  on
DefaultRoot                     ~


Stefan

Benutzeravatar
feltel
Webmaster
Beiträge: 10378
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 12.09.2002 19:48:04

Welches Homeverzeichnis ist den bei dem User, der sich frei bewegen kann, eingetragen? Normalerweise kann man sich durch "DefaultRoot ~" nicht außerhalb seines Homeverzeichnisses bewegen.

Benutzeravatar
Stefan
Beiträge: 1429
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Beitrag von Stefan » 12.09.2002 20:14:07

Hallo

Ich habe z.Z drei User auf meinem System
und alle dürfen sich frei bewegen.

Meine conf Datei habe ich aber auch schon gepostet.
Sie wurde nur durch den eintrag defaultroot ~ erweitert.

Stefan
Zuletzt geändert von Stefan am 12.09.2002 20:14:28, insgesamt 1-mal geändert.

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 12.09.2002 20:14:19

ACK!

Ich habe gerade nur die Option "DefaultRoot ~" zu den Optionen hinzugefügt, und daraufhin kann ich mich immer noch normal einloggen, komme aber nicht mehr aus meinem Home raus.

/etc/init.d/proftpd restart ?

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
Stefan
Beiträge: 1429
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Beitrag von Stefan » 12.09.2002 20:34:47

Hallo Patrick

Ups der restart wars.
Jetzt kommt auch kein User aus dem home Verzeichnis raus.

Hast Du den weitere Arbeitsschritte ?
z.b. Linux User den ftp Zugang sperren und die ausgesuchten ftp User zulassen.

Stefan

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 12.09.2002 21:52:27

OK, weiter im Text. Das folgende habe ich gerade auf meinem Rechner alles getestet, und nachvollzogen, und es funktioniert.

(root!)
1) In /etc/shells eine Zeile "/bin/false" hinzufügen (am besten ganz unten). Damit erlaubt man, dass die FTP User /bin/false als Shell haben dürfen. Keine Angst: /bin/false ist keine Shell, sondern einfach nur ein Programm, das immer einfach sofort mit Fehlercode 255 aussteigt ;-) (Trick 17 sozusagen)

2) addgroup --gid 1100 leech (oder einen anderen Namen den Du bevorzugst) Falls die Gruppe schon existiert, überspring diesen Schritt.

3) Das FTP Verzeichnis anlegen. (Wenn's natürlich schon existiert, dann lass es sein ;-)). Mittels chown den Besitzer des Verzeichnisses auf User nobody, Gruppe leech setzen (chown nobody.leech /mein/ftp/verzeichnis)

4) In /etc/proftpd.conf die Option "AuthUserFile /etc/ftpd.passwd" eintragen, und den daemon restarten ;-)

5) mittels

Code: Alles auswählen

ftpasswd --passwd --file /etc/ftpd.passwd --home /mein/ftp/verzeichnis -name ftptest --shell /bin/false --uid 1101 --gid 1100
einen ftp User "ftptest" anlegen.

Jetzt sollte sich nur noch der User "ftptest" einloggen können, im vorgegebenen Home (siehe das ftpasswd Kommando!!!) landen, und dort auch nicht herauskommen. Alle anderen User (inlusive root) kommen jetzt nicht mehr rein!

Wenn das klappt, hast Du es fast schon geschafft!

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
feltel
Webmaster
Beiträge: 10378
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 13.09.2002 07:16:53

pdreker hat geschrieben:1) In /etc/shells eine Zeile "/bin/false" hinzufügen (am besten ganz unten). Damit erlaubt man, dass die FTP User /bin/false als Shell haben dürfen. Keine Angst: /bin/false ist keine Shell, sondern einfach nur ein Programm, das immer einfach sofort mit Fehlercode 255 aussteigt ;-) (Trick 17 sozusagen)
Das erreichst Du aber auch durch

Code: Alles auswählen

RequireValidShell               off
Wobei aber /bin/false als Shell für User, die sich nicht einloggen sollen, ne Gute Idee ist.

Benutzeravatar
Stefan
Beiträge: 1429
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Beitrag von Stefan » 15.09.2002 20:43:34

Hallo Patrick
Hallo feltel

hatte leider am Wochenende nicht all zu viel Zeit
und das Forum war auch einige Zeit off.
Aber ich werde nun weiter am proftpd Server arbeiten.

Melde mich dann

Stefan

Benutzeravatar
Stefan
Beiträge: 1429
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Beitrag von Stefan » 16.09.2002 18:35:49

Hallo Partick
Hallo feltel


So ich habe es nun endlich hinbekommen das ich nur mit einem Bestimmten User auf ein Verzeichnis darf.
Ich kann mich nur recht Herzlich bei Euch bedanken!

Aber ich habe da noch einige fragen :wink:
Ich kann nun mehrere Verzeichnisse freigeben.
Ich kann aber nur Downloaden und nichts Löschen und Uploaden.
Muss die Rechtevergabe am Verzeichnis selbst geändert werden ?
Oder in der proftpd.conf ?

Code: Alles auswählen

shell /bin/false --uid 1101 --gid 1100
Kannst Du mir bitte Erklären was damit genau gemeint ist ?

Gruss
Stefan[/code]

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 18.09.2002 19:06:27

Jou, die Rechte Vergabe wird an beiden Stellen geregelt... Einerseits müssen natürlich die Perms in den Verzeichnissen stimmen, andererseits kann man in der proftpd noch Rechte vergeben.

Mehrere Verzeichnisse wird schwierig... Was hast Du denn vor?

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
Stefan
Beiträge: 1429
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Beitrag von Stefan » 18.09.2002 19:17:47

Hallo Patrick

mein hauptanliegen war das verschiedene USEr auf verschiedene Ordner zugreifen können, und das habe ich jetzt hinbekommen. :D
Dank Deiner hilfe THX

Jetzt möchte ich aber noch ein paar sondereinstellungen.
Ich habe gelesen das man bei proftpd den Upload nicht bestimmen kann,
aber es gibt einstellungen wo der Speed reguliert werden kann.
Erste Stunde full speed und ab dann nur noch mit halber kraft.
So in der Art habe ich das gelesen.

Kann mich aber leider nicht mehr Erinnern
Kannst Du mir bitte weiterhelfen.?

Stefan

Benutzeravatar
feltel
Webmaster
Beiträge: 10378
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Beitrag von feltel » 18.09.2002 19:20:29

eine generelle Down-/Uploadtransferrate kann man mit

Code: Alles auswählen

# Down-/Upload-Ratio
RateReadBPS                     40000
RateWriteBPS                    80000
in der /etc/proftpd.conf einstellen. Hier im Beispiel 40 KB/s Download und 80 KB/s Upload. Aber ob das auch zeitgesteuert geht?

Benutzeravatar
Stefan
Beiträge: 1429
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Beitrag von Stefan » 18.09.2002 19:30:52

Hallo

Das geht natürlich auch.
Werde es einmal Testen

Danke

Stefan

Benutzeravatar
Stefan
Beiträge: 1429
Registriert: 08.09.2002 14:31:59
Lizenz eigener Beiträge: GNU General Public License

Beitrag von Stefan » 21.09.2002 12:57:22

Hallo

Solweit habe ich nun alles wie ich es haben wollte.
Ich möchte mich sehr herzlich bei Euch (Patrick feltel)
Bedanken.

THX
Stefan

Antworten