proftpd user einrichten?
proftpd user einrichten?
Servus,
ich möchte für proftpd einen User einrichten der nur Rechte für FTP hat.
Ich kenn mich zwar mittlerweile etwas unter Linux aus aber ich bisher noch nie einen User angelegt und hab keine Ahnung wie ich da vorgehen muss damit der User auch die richtigen Rechte bekommt und man damit keinen Mist bauen kann.
Wäre nett wenn da jemand eine Step by Step Anleitung hat auch vor allen wie ich dann proftp beibringe diesen User zu benutzen.
ich möchte für proftpd einen User einrichten der nur Rechte für FTP hat.
Ich kenn mich zwar mittlerweile etwas unter Linux aus aber ich bisher noch nie einen User angelegt und hab keine Ahnung wie ich da vorgehen muss damit der User auch die richtigen Rechte bekommt und man damit keinen Mist bauen kann.
Wäre nett wenn da jemand eine Step by Step Anleitung hat auch vor allen wie ich dann proftp beibringe diesen User zu benutzen.
Naja, FTP im allgemeinen ist per se unsicher. Einen neuen User kann man mit
Das erstellt einen User mit Namen 'ftpuser' und dem Passwort 'ftppass'. Willst Du dir ein zufälliges Passwort generieren, führe einfach
aus und setz die entsprechende Antwort als Passwort ein. Für die konfiguration des ProFTPd solltest Du mal deine Konfigurationsdatei posten.
Code: Alles auswählen
useradd -g nogroup -m -p ftppass -s /bin/false ftpuser
Code: Alles auswählen
head -c 6 /dev/urandom | md5sum | cut -c 4-12
Also ich bin jetzt nach diesen Howto vorgegangen:
http://www.debianhowto.de/de:howtos:sarge:proftpd_tls
und meine Conf sieht im Moment so aus:
http://www.debianhowto.de/de:howtos:sarge:proftpd_tls
und meine Conf sieht im Moment so aus:
Code: Alles auswählen
#
# /etc/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#
ServerName "Debian"
ServerType standalone
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayFirstChdir .message
ListOptions "-l"
DenyFilter \*.*/
# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd off
# Uncomment this if you would use TLS module:
#TLSEngine on
# Uncomment this if you would use quota module:
#Quotas on
# Uncomment this if you would use ratio module:
#Ratios on
# 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
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022
# Normally, we want files to be overwriteable.
AllowOverwrite on
# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
#DelayEngine off
# Hier meine Ergänzungen
# chroot für alle User der Gruppe ftpuser
DefaultRoot ~ ftpuser
# Login nur von Mitgliedern der Gruppe ftpuser erlauben
<Limit LOGIN>
DenyGroup !ftpuser
</Limit>
# Root-Login verbieten und gültige Shell verlangen (in /etc/shells)
<Global>
RootLogin off
RequireValidShell on
DefaultChdir /var/www
DefaultRoot /var/www
</Global>
# Speed erhoehen
UseReverseDNS off
IdentLookups off
# Logging Formate
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %l %u %t \"%r\" %s %b"
# Logging aktivieren
# alle logins
ExtendedLog /var/log/ftp_auth.log AUTH auth
# file/dir Zugriff
ExtendedLog /var/log/ftp_access.log WRITE,READ write
# für paranoide (vorsicht, erzeugt grosse Logfiles)
#ExtendedLog /var/log/ftp_paranoid.log ALL default
-
- Beiträge: 2186
- Registriert: 18.09.2005 15:52:02
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
Code: Alles auswählen
# chroot für alle User der Gruppe ftpuser
DefaultRoot ~ ftpuser
Code: Alles auswählen
DefaultRoot ~
Code: Alles auswählen
# Root-Login verbieten und gültige Shell verlangen (in /etc/shells)
<Global>
RootLogin off
RequireValidShell on
DefaultChdir /var/www
DefaultRoot /var/www
</Global>
jhr
Desktop: Intel Core2Quad Q8300 2.5GHz, 256GB SSD + 1 TB HDD, 8 GB RAM, Debian Sid, Kernel 3.13
Stimmt soweit, bis auf daß wenn der User nur FTP können soll und sich nicht einloggen darf, muß die Zeile mit 'RequireValidShell' auf 'off' gestzt werden. Also so zB:
Ich würde auch wie ich hier angegeben habe, ein getrenntes FTP-Verzeichnis (/var/ftp) statt dem Webverzeichnis benutzen. Dieses Verzeichnis muß natürlich existieren und für den User unter dem der FTPd läuft, beschreibbar sein.
Code: Alles auswählen
<Global>
RootLogin off
RequireValidShell off
DefaultChdir /var/ftp
DefaultRoot /var/ftp
</Global>
-
- Beiträge: 2186
- Registriert: 18.09.2005 15:52:02
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten:
In dem HowTo, das er benutzt, wird der imo bessere Weg beschritten: RequireValidShell bleibt an und es wird /bin/false nach /bin/ftp kopiert. Jeder User, der nur FTP-Zugang haben soll, kriegt dann "ftp" als Shell (z.B. in /etc/passwd von Hand zu setzen).bodo99 hat geschrieben:Stimmt soweit, bis auf daß wenn der User nur FTP können soll und sich nicht einloggen darf, muß die Zeile mit 'RequireValidShell' auf 'off' gestzt werden.
Äh, mitbodo99 hat geschrieben:Ich würde auch wie ich hier angegeben habe, ein getrenntes FTP-Verzeichnis (/var/ftp) statt dem Webverzeichnis benutzen.
Code: Alles auswählen
DefaultRoot ~
jhr
Desktop: Intel Core2Quad Q8300 2.5GHz, 256GB SSD + 1 TB HDD, 8 GB RAM, Debian Sid, Kernel 3.13
-
- Beiträge: 2186
- Registriert: 18.09.2005 15:52:02
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten: