www.ProFTPD.de
13. März 2007, 18:16:57 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: AuthUserFile  (Gelesen 65 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
smb
ProFTPD
*
Offline Offline

Beiträge: 5


Profil anzeigen
« am: 07. März 2007, 18:10:01 »

Hi ;-)

ich habe leichte Probleme beim einrichten des proftpd.

Um die korrekte Installation sicherzustellen, habe ich einen Systemuser ftptest und eine Gruppe ftptester angelegt und in der proftpd.conf den Eintrag

Code:
<Limit LOGIN>
  DenyGroup !ftptester
</Limit>

hinzugefügt. Ein Test klappte sofort.

Nun möchte ich aber die Authentifizierung via AuthUserFile vornehmen.

Also habe ich mittels ftpasswd eine Gruppe filegroup angelegt im File /var/pass/ftpdgroup.group

Code:
filegroup:x:1010:filetest

und ebenfalls einen User filetest im File /var/pass/ftpduser.passwd

Code:
filetest:$1$4GgvCQUk$RxJFpMuAsCeL8xjFknBoi0:1010:1010::/home/filetest:/bin/false

Der proftpd.conf habe ich folgende Einträge hinzugefügt:

Code:
# -------------------------------------------
# Authfile
# -------------------------------------------

AuthOrder mod_auth_file.c
AuthUserFile            /var/pass/ftpduser.passwd
AuthGroupFile           /var/pass/ftpdgroup.passwd


Danach ein proftpd restart gemacht. Beim Test sagt mir der proftpd "Login incorrect". Das Systemlog (auth-log) zeigt:

Code:
Mar  7 17:51:06 xx.xx.xx.xx proftpd[25955]: "hostname" ("hostname"[127.0.0.1]) - USER filetest: no such user found from "hostname" [127.0.0.1] to 127.0.0.1:21

Ich habe vorher schon ein wenig probiert, was nicht zum Erfolg führte. Deswegen habe ich jetzt versucht, nur die minimal notwendigen Änderungen vorzunehmen, um andere Config-Fehler auszuschliessen.

Was habe ich vergessen? Muss die Gruppe filegroup vielleicht ein Systemuser sein?
Gespeichert
smb
ProFTPD
*
Offline Offline

Beiträge: 5


Profil anzeigen
« Antwort #1 am: 07. März 2007, 18:58:41 »

Der Übersicht halber nochmal ein neues Posting:

proftpd.conf (zu Testzwecken, ziemlich nackt)

Code:
# 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 "meinserver" # den eigenen Server angeben
ServerType standalone
DeferWelcome off

ShowSymlinks on
MultilineRFC2228 on
DefaultServer on
AllowOverwrite on

TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200

DisplayLogin welcome.msg
DisplayFirstChdir .message
ListOptions "-An +R" strict

DenyFilter \*.*/


#PersistentPasswd off


Port 21

MaxInstances 30


User nobody
Group nogroup


<Directory /*>
Umask 022 022
AllowOverwrite on
</Directory>

# -------------------------------------------
# Authfile
# -------------------------------------------

AuthOrder mod_auth_file.c
AuthUserFile            /var/pass/ftpduser.passwd
AuthGroupFile           /var/pass/ftpdgroup.group


DefaultRoot ~

#<Limit LOGIN>
# DenyGroup  !ftptester
#</Limit>


RootLogin off
RequireValidShell off


UseReverseDNS off
IdentLookups off


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"


ExtendedLog /var/log/ftp_auth.log AUTH auth
ExtendedLog /var/log/ftp_access.log WRITE,READ write
ExtendedLog /var/log/ftp_paranoid.log ALL default

Beim erstellen des Users mit ftpasswd kam übrgens folgende Meldung:

Code:
:~# ftpasswd --passwd --name=filetest --uid=1010 --home=/home/filetest --shell=/bin/false --file=/var/pass/ftpduser.passwd
ftpasswd: using alternate file: /var/pass/ftpduser.passwd
ftpasswd: --passwd: missing --gid argument: default gid set to uid
ftpasswd: creating passwd entry for user filetest

ftpasswd: /bin/false is not among the valid system shells.  Use of
ftpasswd: the RequireValidShell may be required, and the PAM
ftpasswd: module configuration may need to be adjusted.

Muss da vielleicht noch etwas zusätzlich configuriert werden?

Code:
:~# proftpd -l
Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_auth_pam.c
  mod_quotatab.c
  mod_ratio.c
  mod_tls.c
  mod_rewrite.c
  mod_radius.c
  mod_wrap.c
  mod_quotatab_file.c
  mod_delay.c
  mod_readme.c
  mod_ifsession.c
  mod_cap.c
Gespeichert
smb
ProFTPD
*
Offline Offline

Beiträge: 5


Profil anzeigen
« Antwort #2 am: 07. März 2007, 20:42:58 »

Nochmal ich Smiley

:~# proftpd -nd5
 - mod_tls/2.0.7: using OpenSSL 0.9.7e 25 Oct 2004
 - parsing '/etc/proftpd.conf' configuration
 - Compiling deny regex '\*.*/'.
 - Allocated deny regex at location 0x8118578.
 - <Directory /*>: adding section for resolved path '/*'
hostname  -
hostname  - Config for meinserver:
hostname  - /*
hostname  -  Umask
hostname  -  DirUmask
hostname  -  AllowOverwrite
hostname  -  ShowSymlinks
hostname  -  DisplayLogin
hostname  -  DisplayFirstChdir
hostname  -  ListOptions
hostname  -  DenyFilter
hostname  -  RootLogin
hostname  -  RequireValidShell
hostname  - DeferWelcome
hostname  - ShowSymlinks
hostname  - DefaultServer
hostname  - AllowOverwrite
hostname  - TimeoutNoTransfer
hostname  - TimeoutStalled
hostname  - TimeoutIdle
hostname  - DisplayLogin
hostname  - DisplayFirstChdir
hostname  - ListOptions
hostname  - DenyFilter
hostname  - UserID
hostname  - UserName
hostname  - GroupID
hostname  - GroupName
hostname  - AuthOrder
hostname  - AuthUserFile
hostname  - AuthGroupFile
hostname  - DefaultRoot
hostname  - RootLogin
hostname  - RequireValidShell
hostname  - IdentLookups
hostname  - ExtendedLog
hostname  - ExtendedLog
hostname  - ExtendedLog
hostname  - deleting existing scoreboard '/var/run/proftpd/proftpd.scoreboard'
hostname  - Failed binding to 0.0.0.0, port 21: Address already in use
hostname  - Check the ServerType directive to ensure you are configured correctly.


Hm, beim Start bzw proftpd restart kommt aber keine Fehlermeldung.

:~# netstat -pant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     20229/mysqld       
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN     13649/couriertcpd   
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN     13827/couriertcpd   
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     28178/apache2       
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN     20006/proftpd: (acc
tcp        0      0 xx.xx.xx.xx:53          0.0.0.0:*               LISTEN     18316/named         
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN     18316/named         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     11554/sshd         
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN     21506/master       
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN     18316/named         
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN     13892/couriertcpd   
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN     13752/couriertcpd   
tcp        0    832 xx.xx.xx.xx:22          IP-von-Zuhause:2124     ESTABLISHED1595/0             


Bin jetzt planlos  Huch
Gespeichert
smb
ProFTPD
*
Offline Offline

Beiträge: 5


Profil anzeigen
« Antwort #3 am: 07. März 2007, 21:19:32 »

Hallo liebes Tagebuch *g*

gibt es eigentlich keine Edit-Funktion?  Huch

Ich habe mal die das AuthUserFile und AuthGroupFile in /etc/pass gelegt und den Pfad entsprechend angepasst - bringt aber keinen Erfolg.

Was ist denn mit /etc/init.d/proftpd ? Dort steht
Code:
#%PAM-1.0
auth       required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
@include common-auth

# This is disabled because anonymous logins will fail otherwise,
# unless you give the 'ftp' user a valid shell, or /bin/false and add
# /bin/false to /etc/shells.
#auth       required pam_shells.so

@include common-account
@include common-session

Muss da vielleicht etwas verändert werden? Argh, das macht mich ganz wuschig Traurig
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 770



Profil anzeigen
« Antwort #4 am: 08. März 2007, 14:15:06 »

Hallo!

Da hast Du aber ein Megaposting abgelassen mit allen wichtigen Daten - das hat mich doch ein wenig abgeschreckt.
Aber eines fehlt: was ist das für eine Installation? (Neue von Debian oder was sonst?)

Dein letztes Posting hat mich nämlich verblüfft - so etwas hatte ich bisher noch nicht gesehen.
In der "/etc/init.d/proftpd" wäre vielleicht auch der Fehler zu suchen, denn da steht wohl ein anderer Pfad zum Userfile
als den, den Du gewählt hast. Aber meiner Meinung nach ist es kompletter Unsinn, den ProFTPD mit PAM zu benutzen,
da dieses nur die Authorisation bewerkstelligt und sonst nichts.

Ich empfehle Dir daher, ein Backup Deiner bisherigen "/etc/init.d/proftpd" zu machen und dann eine passende aus dem
Tool-Bereich dieser Website (->hier) einzusetzen - natürlich entsprechend angepasst...

Deine Konfigurationsdatei sieht recht ordentlich aus, mir ist auch kein Fehler aufgefallen - sollte funktionieren.
Die riesige Liste der Module läßt wirklich darauf schließen, daß Du ein vorgefertigtes Paket benutzt.
Das ist zunächst nicht unbedingt etwas schlechtes, doch vertrete ich die Meinung, daß man seine Serversoftware
so schlank wie möglich halten sollte. Das minimiert mögliche Softwarefehler, Seiteneffekte und Angriffsflächen.

Ich compiliere aus diesen Gründen unsere Serversoftware immer selbst.
Wenn Du das auch probieren möchtest:

ein Posting mit Beispiel zum Compilieren des ProFTPD: ->hier,
(mySQL-Teile und natürlich auch "--disable-auth-file" entfernen!),
Erklärungen zu den dort genutzten Optionen: ->hier.

Hier noch ein Textbaustein, der Dir vielleicht weiterhelfen könnte (nicht, daß ich Deine Konfig schlecht halten würde!):
Eine gut funktionierende proftpd.conf, die die wichtigsten und meist benötigten Anforderungen abdeckt,
kann man bei den ->Beispiel Konfigurationen finden: die ->proftpd.conf Standard Deluxe...

Sodele, jetzt bist Du aber gerüstet...

Ach ja, das hätte ich beinahe vergessen: "hostname  - Failed binding to 0.0.0.0, port 21: Address already in use"
Schieß' diesen Prozess ab und sieh' nach, ob Du den Hostnamen für Dein System eingetragen hast (/etc/hostname)
und Deine sonstige Netzwerkonfiguration in Ordnung ist. Nach all dem starte am besten Deine Maschine neu...

mfg.
  VolGas
Gespeichert
smb
ProFTPD
*
Offline Offline

Beiträge: 5


Profil anzeigen
« Antwort #5 am: 08. März 2007, 16:10:49 »

Hi,

Da hast Du aber ein Megaposting abgelassen mit allen wichtigen Daten - das hat mich doch ein wenig abgeschreckt.
Aber eines fehlt: was ist das für eine Installation? (Neue von Debian oder was sonst?)

Immerhin hast du dich dich noch aufgerafft ;-)) Danke Smiley

Ja, es ist eine Debian Installation eines vServers, den ich für zwei Projekte benötige. Ansonsten hätte ich die Installation sicher selbst versucht vorzunehmen, es ist mir lieber ich arbeite mich in etwas ein und lerne aus meinen eigenen Fehlern, als die Fehler anderer zu übernehmen (übernehmen zu müssen) *g*

Zitat
Dein letztes Posting hat mich nämlich verblüfft - so etwas hatte ich bisher noch nicht gesehen.
In der "/etc/init.d/proftpd" wäre vielleicht auch der Fehler zu suchen, denn da steht wohl ein anderer Pfad zum Userfile
als den, den Du gewählt hast. Aber meiner Meinung nach ist es kompletter Unsinn, den ProFTPD mit PAM zu benutzen,
da dieses nur die Authorisation bewerkstelligt und sonst nichts.

Die dort angeführte /etc/ftpusers beinhaltet Systemuser wie postfix usw... mh, auch nobody vielleicht? Mom... Smiley

Ah...

Code:
# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).

root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
nobody

Vielleicht ist das der Grund, der proftpd läuft ja an sich als User noboy? Wobei... im "normalen" Betrieb, also mit der Systemuser-Auth, klappt es ja auch. Trotzdem, das werde ich mal testweise ändern und den nobody herausnehmen bzw einen anderen User erstellen nur für den proftpd, der dann nicht verboten ist.



Code:
Ich empfehle Dir daher, ein Backup Deiner bisherigen "/etc/init.d/proftpd" zu machen und dann eine passende aus dem
Tool-Bereich dieser Website (->[url=http://www.proftpd.de/Tools.53.0.html]hier[/url]) einzusetzen - natürlich entsprechend angepasst...

Auch das werde ich probieren, danke für den Link.


Code:
Deine Konfigurationsdatei sieht recht ordentlich aus, mir ist auch kein Fehler aufgefallen - sollte funktionieren.
Die riesige Liste der Module läßt wirklich darauf schließen, daß Du ein vorgefertigtes Paket benutzt.
Das ist zunächst nicht unbedingt etwas schlechtes, doch vertrete ich die Meinung, daß man seine Serversoftware
so schlank wie möglich halten sollte. Das minimiert mögliche Softwarefehler, Seiteneffekte und Angriffsflächen.

Ja, siehe oben (Debian vServer)


Code:
Ich compiliere aus diesen Gründen unsere Serversoftware immer selbst.
Wenn Du das auch probieren möchtest:

ein Posting mit Beispiel zum Compilieren des ProFTPD: ->[url=http://www.proftpd.de/forum/index.php/topic,1989.msg9444.html#msg9444]hier[/url],
(mySQL-Teile und natürlich auch "--disable-auth-file" entfernen!),
Erklärungen zu den dort genutzten Optionen: ->[url=http://www.proftpd.de/forum/index.php/topic,2185.msg10312.html#msg10312]hier[/url].

Auch wenn ich da durch die Konfiguration gehandicapt bin, lese ich es mal durch. Leider kann ich ja auch die SQL-Auth nicht nutzen mangels einkompoliertem Modul, die mir sonst auch gut gefallen hätte - mit Mysql kenne ich mich auch ein wenig aus. Nun reichen aber meine *ix Kenntnisse nicht aus um zu ermitteln, ob ich das Modul irgendwie nachträglich einbinden kann (z.b. bei Start des proftpd laden). Aber das liesse sich evtl auch ergoogeln.


Zitat
Hier noch ein Textbaustein, der Dir vielleicht weiterhelfen könnte (nicht, daß ich Deine Konfig schlecht halten würde!):
Eine gut funktionierende proftpd.conf, die die wichtigsten und meist benötigten Anforderungen abdeckt,
kann man bei den ->Beispiel Konfigurationen finden: die ->proftpd.conf Standard Deluxe...

Ja, die habe ich schon benutzt und als erste Vorlage genommen. Als es dann nicht funktionierte, habe ich alles disabled oder gelöscht, was nicht unbedingt notwendig war für den ersten Betrieb bzw Test, um mögliche Fehlerquellen auszuschliessen.


Zitat
Ach ja, das hätte ich beinahe vergessen: "hostname  - Failed binding to 0.0.0.0, port 21: Address already in use"
Schieß' diesen Prozess ab und sieh' nach, ob Du den Hostnamen für Dein System eingetragen hast (/etc/hostname)
und Deine sonstige Netzwerkonfiguration in Ordnung ist. Nach all dem starte am besten Deine Maschine neu...

Hm, ok. Der Hostname ist eingetragen, hosts.allow und hosts.deny sind auch sauber. Aber, fällt mir gerade ein, wenn der proftpd von xinetd gestartet wird, könnte da vielleicht das Problem irgendwo brgraben liegen?

Ok, erstmal vielen Dank für deine Hilfe und deine zahlreichen Anregungen. Irgendwann kommt man ja an den Punkt, wo man denkt alles angeschaut und geprüft zu haben und es einfach nicht geht, sei es wegen Erdstrahlen oder dem Stand des Mondes oder sonstwas L&auml;chelnd

Grüsse,
smb
Gespeichert
VolGas
Moderator
ProFTPD
*****
Offline Offline

Beiträge: 770



Profil anzeigen
« Antwort #6 am: 08. März 2007, 17:02:44 »

Gern geschehen.

Den ProFTPD mußt Du aus dem (x)inetd herausnehmen und diesen dann neu starten.
Dein Server soll im standalone-Modus laufen.

Da habe ich nicht ganz aufgepasst: "/etc/ftpusers" ist mir bekannt und es steht ja auch in der ersten Zeile drin,
wozu das gut ist. Der ProFTPD kann dieses File selbst auswerten -wenn erwünscht- und braucht dazu kein PAM.
Für den ProFTPD braucht man PAM überhaupt nicht, das ist nur unnötiger Overhead.

Laß den User "nobody" ruhig mal in der proftpd.conf stehen: das ist der User, unter dessen Zugriffsrechte der
ProFTPD laufen soll, wenn er nicht kurzfristig(st) als "root" einen neuen Prozess von sich "forkt".

Noch ´n Textbaustein, zum Verständnis:
Der ProFTPD ist wie eine Usershell zu betrachten: nach dem Einloggen hat der neu gestartete, individuelle
Prozess die selbe User- und Group-ID wie der eingeloggte User - alle Root-Rechte wurden aufgegeben.
Damit hat der ProFTPD nur noch die selben Zugriffsrechte wie der User. Das kann nicht ausgehebelt oder
umgangen, sondern nur weiter ausgebaut werden!

Also: der ProFTPD nutzt im vollen Umfang die Zugriffsrechte des Filesystems, nein, er ist ihnen sogar völlig
unterworfen. Alles, was man in der Konfiguration mit "<Limit>" zusätzlich einschränkt, sind nur FTP-Befehle,
keine eigentlichen Zugriffsrechte. Daher ist man gut beraten, wenn man mit Limitierungen in der proftpd.conf
möglichst sparsam umgeht oder besser gar nicht verwendet. [ENDE]

Die "proftpd.conf Standard Deluxe" funktioniert schon ganz gut, muß aber immer geringfügig angepasst werden.
Allerdings ist "mod_auth-file" nicht darin vorgesehen, die zwei/drei Zeilen dafür kann man ja hinzufügen.

Mit mySQL wird das Ganze natürlich super-bequem und einfach, wenn man sich z.B. noch "phpMyAdmin" installiert.
Dazu kannst Du Dir mit Debian recht einfach den mySQL-Server installieren lassen. Man kann dabei sogar die auto-
matischen Abhängigkeiten ausnutzen: "apt-get install proftpd-mysql" sollte reichen, das erzwingt alles weitere... Zwinkernd
Nicht unbedingt optimal, aber...

Verkrafte erst mal alle Informationen oder vergiß' alles und bleibe bei dem letzten Vorschlag.
Mond und Erdstrahlen lassen wir mal weg, das Leben kann auch schon so kompliziert genug sein.

Noch viel Erfolg und Spaß bei dem Ganzen!

mfg.
  VolGas


Nachtrag: vor einem "apt-get install" vorher immer zuerst (einmal am Tag) ein "apt-get update" durchführen lassen!
« Letzte Änderung: 08. März 2007, 17:08:30 von VolGas » Gespeichert
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.073 Sekunden mit 18 Zugriffen.