PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Großes/Kleines PROFTP Problem ??



tim
02.03.03, 11:18
Hi zusammen

Also hab mir den ProFTP 1.27 gesaugt und installiert....
mit Anonymous Login lief er auch schon... Aber ich möchte das
nur angelegte Benutzer zugriff haben.
Deshalb hab ich eine Datei in/usr/local/etc angelegt die
passwd_ftp heißt...
der Aufbau:
user:userpassword

Dann hab ich in meiner proftpd.conf folgendes eingegeben:

"AuthUserFile /usr/local/etc/passwd_ftp"

Aber das ganze funktioniert nicht so wie ich das will...
Wenn ich versuche, egal von wo, zu connecten kommt als Fehler
"BadLogin"

Wenn ich im Debug Modus starte kommt das:

- parsing '/usr/local/etc/proftpd.conf' configuration
olymp.local -
olymp.local - Config for TimsFTPServer:
olymp.local - /
olymp.local - AllowOverwrite
olymp.local - Umask
olymp.local - AllowRetrieveRestart
olymp.local - AllowStoreRestart
olymp.local - DefaultServer
olymp.local - Umask
olymp.local - UserID
olymp.local - UserName
olymp.local - GroupID
olymp.local - GroupName
olymp.local - AuthUserFile
olymp.local - AllowOverwrite
olymp.local - AllowRetrieveRestart
olymp.local - AllowStoreRestart
olymp.local - ProFTPD 1.2.7 (stable) (built Sun Mar 2 03:37:30 CET 2003) standalone mode STARTUP
olymp.local (192.168.0.10[192.168.0.10]) - connected - local : 192.168.0.1:21
olymp.local (192.168.0.10[192.168.0.10]) - connected - remote : 192.168.0.10:3295
olymp.local (192.168.0.10[192.168.0.10]) - FTP session opened.
olymp.local (192.168.0.10[192.168.0.10]) - dispatching PRE_CMD command 'USER tim' to mod_core
olymp.local (192.168.0.10[192.168.0.10]) - dispatching PRE_CMD command 'USER tim' to mod_core
olymp.local (192.168.0.10[192.168.0.10]) - dispatching PRE_CMD command 'USER tim' to mod_auth
olymp.local (192.168.0.10[192.168.0.10]) - dispatching CMD command 'USER tim' to mod_auth
olymp.local (192.168.0.10[192.168.0.10]) - no supplemental groups found for user 'tim'
olymp.local (192.168.0.10[192.168.0.10]) - dispatching LOG_CMD command 'USER tim' to mod_log
olymp.local (192.168.0.10[192.168.0.10]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_core
olymp.local (192.168.0.10[192.168.0.10]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_core
olymp.local (192.168.0.10[192.168.0.10]) - dispatching PRE_CMD command 'PASS (hidden)' to mod_auth
olymp.local (192.168.0.10[192.168.0.10]) - dispatching CMD command 'PASS (hidden)' to mod_auth
olymp.local (192.168.0.10[192.168.0.10]) - no supplemental groups found for user 'tim'
olymp.local (192.168.0.10[192.168.0.10]) - no such user 'tim'
olymp.local (192.168.0.10[192.168.0.10]) - USER tim: no such user found from 192.168.0.10 [192.168.0.10] to 192.168.0.1:21
olymp.local (192.168.0.10[192.168.0.10]) - dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_log
olymp.local (192.168.0.10[192.168.0.10]) - FTP session closed.




Hier noch meine proftpd.conf:
# 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 "TimsFTPServer"
ServerType standalone
DefaultServer on

# Port 21 is the standard FTP port.
Port 21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# 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 under which the server will run.
User nobody
Group nogroup

#Password File setzen
AuthUserFile /usr/local/etc/passwd_ftp
#AuthGroupFile /usr/local/etc/ftpd.group

#User Shell required yes/no
#RequireValidShell off

#Resume erlauben
AllowOverwrite on
AllowRetrieveRestart on
AllowStoreRestart on

# Normally, we want files to be overwriteable.
<Directory />
AllowOverwrite on
</Directory>

# A basic anonymous configuration, no upload directories.
#<Anonymous ~ftp>
# User ftp
# Group ftp
#
# # We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp
#
# # 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
# <Limit WRITE>
# DenyAll
# </Limit>
#
#</Anonymous>



Mmh ich hoffe mir kann wer helfen da ich gar keine Ahnung mehr habe....

Meine Distri ist Suse 7.3


Gruß Tim

death-row
02.03.03, 11:56
Original geschrieben von tim
...user:userpassword...Das sollte eigentlich so aussehen:
user:passwort:uid:gid:home-directory:shell

Nimm dir mal den Source von PROFTPD, dort ist ein Unterverzeichnis drin das nennt sich 'contrib/' in diesem gibt es ein Perl Script mit dem Namen 'ftpasswd'. Mit diesem kann man User fuer PROFTPD anlegen, die werden dann in die Datei ftpd.passwd geschrieben, diese ist dann auch so aufgebaut wie man es benoetigt und enthaelt dann auch verschluesselte Passwoerter.

Nachtrag - So benutzt man ftpasswd:
ftpasswd --passwd --file=/usr/local/etc/passwd_ftp --name=user --uid=1001 --home=/dire/ctory --shell=/bin/false

tim
02.03.03, 12:17
Das ist ja super das klappt sogar.... ;)

Danke Dir !!

Hab aber noch ein paar Fragen...

Also kann ich uid und gid selbstbestimmen und was genau sagen sie aus ?

Dann noch eine Frage die mir SEHR wichtig ist:

Wenn ich mich mit dem IE (ja schlagt mich) auf den FTP einlogge kommt der
Pfad der ja auch dann in der passwd_ftp steht.
Wenn ich aber PSFtp als FTPClient nehme komme ich auf meinen Server-Root...
Also ich hab dann die Ordner usr, etc, root, usw. stehen....
Das kann ja nicht Sinn und Zweck sein oder ??


Danke nochmal

Tim

RTC
02.03.03, 12:26
Original geschrieben von tim

Also kann ich uid und gid selbstbestimmen und was genau sagen sie aus ?

UID = User ID
GID = Group ID
... es handelt sich dabei um die Identifikationsnummern des Benutzers und der jeweiligen Gruppe, die Linux z.B. dafür braucht, um eine Datei mit ihren Rechten an einen User / eine Gruppe zu binden etc.
Intern arbeitet Linux natürlich nur mit GID und UDI und nicht mit den Namen der jeweiligen IDs. UID kannst du beim Anlegen eines Users mit "useradd -u UID benutzer" angeben, GID einfach durch Anlegen einer Gruppe in /etc/group. Beachte allerdings, dass ein manuelles Ändern der Dateien /etc/passwd bzw. /etc/group dazu führen kann, dass du auf Dateien mit Rechten, die einer alten UID entsprachen, plötzlich mit der neuen UID nicht mehr lesbar sind etc.

death-row
02.03.03, 12:37
Original geschrieben von tim
Wenn ich mich mit dem IE (ja schlagt mich) auf den FTP einlogge kommt der Pfad der ja auch dann in der passwd_ftp steht. Wenn ich aber PSFtp als FTPClient nehme komme ich auf meinen Server-Root... Also ich hab dann die Ordner usr, etc, root, usw. stehen....
Das kann ja nicht Sinn und Zweck sein oder ??Ergaenze die proftpd.conf noch um folgende Eintraege:
DefaultRoot ~
DefaultChdir ~

Der User landet dann trotzdem in seinem home, bekommt aber nicht mehr den Pfad dahin angezeigt sondern nur noch ein /. Auch kann er jetzt nicht mehr aus seinem home raus.
Zumindestens sollte es dann so sein.

Achso noch was: *Eine runterhau* Das war fuer den IE ;)

tim
02.03.03, 12:44
Achso noch was: *Eine runterhau* Das war fuer den IE ;)

Mmh aber was soll ich machen... Ich versuch erstmal klein mit Linux
und will mich dann hocharbeiten zum LinuxVollUser !!
Solange nehm ich Win$cheiß noch.....



Ok die Einträge haben funktioniert danke dir!!

Das bei allen die ich in der passwd_ftp anlege das gleiche home ist
kann doch nicht schlimm sein oder ??
Sie werden allen auf /usr/local/ftp eingestellt......

Kann ich doch so lassen oder ??

Tim

death-row
02.03.03, 13:11
Original geschrieben von tim
Das bei allen die ich in der passwd_ftp anlege das gleiche home ist kann doch nicht schlimm sein oder ??
Sie werden allen auf /usr/local/ftp eingestellt...... Kann ich doch so lassen oder ??Bei meinem Server im Netz haben alle User ein und dasselbe Verzeichnis, von ein paar Ausnahmen mal abgesehen

Musst dann halt nur auf Verzeichnisrechte achten nicht das dir irgendwer einfach was wegloescht, hier ein Beispiel:
/usr/local/ftp
Besitzer sollte folgende Rechte haben: Lesen, Schreiben, Ausfuehren
Benutzer derselben Gruppe: Lesen, Ausfuehren
Andere: Lesen, Ausfuehren

/usr/local/ftp/download/
Besitzer sollte folgende Rechte haben: Lesen, Schreiben, Ausfuehren
Benutzer derselben Gruppe: Lesen, Ausfuehren
Andere: Lesen, Ausfuehren

/usr/local/ftp/upload/
Besitzer sollte folgende Rechte haben: Lesen, Schreiben, Ausfuehren
Benutzer derselben Gruppe: Lesen, Schreiben, Ausfuehren
Andere: Lesen, Schreiben, Ausfuehren

Laedt User1 nun in /usr/local/ftp/upload/ eine Datei hoch ist diese von allen loeschbar, weil auf upload/ fuer alle Schreibrechte gesetzt wurde.
Legt User1 nun aber in /usr/local/ftp/upload/ ein Verzeichnis User1/ an so kann weder das noch der Inhalt davon von zb. User2 geloescht werden, da es User1 gehoert und hier wieder nur Schreibrechte fuer ihn vorhanden sind.

Hoffe habe mich verstaendlich ausgedrueckt, ist halt Sonntag und bin noch nicht ganz wach.

tim
02.03.03, 13:20
Ja das war völlig Verständlich ;)

Danke dann werd ich mir das mal
genau anschauen und einstellen.


Danke und einen schönen Sonntag noch !!


Tim

Havoc
03.03.03, 19:03
HI leute.

Ich hoffe mein Beitrag geht nicht unter. Ich hab mir jetzt unter debian proftpd installiert. Leider war auf den debian server noch v.1.2.4... aber ich denke das sollte keinen grossen unterschied machen.



ServerName "Havoc]['s FTPd Linux Box"
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"

AuthUserFile /etc/ftpd.passwd
#AuthGroupFile /usr/local/etc/ftpd.group

DenyFilter \*.*/

# AllowOverwrite on
#AllowRetrieveRestart on
#AllowStoreRestart on

Port 2121

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>


Jetzt habe ich mit :

saphira:~# ftpasswd --passwd --file=/etc/ftpd.passwd --name=test --uid=6666 --home=/mnt/share/Server/ftpserver/pub/ --shell=/bin/false
ftpasswd: --passwd: missing --gid argument: default gid set to uid
ftpasswd: creating passwd entry for user test

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.
Password:
Re-type password:
ftpasswd: entry created
saphira:~#

einen user geadded und den service neugestartet.
saphira:~# /etc/init.d/proftpd restart
Restarting professional ftp daemon.proftpd.
.. - No certificate files found!
proftpd.
done.
saphira:~#

Kann mir jemand sagen, warum ich mit dem user test trotzdem "LOGIN INCORRECT" bekomme?

Vielleicht wegen "No certificate files found!" ??

Es wäre nett wenn ihr mir helfen könntet.
Danke schonmal im Vorraus.

Ciao Havoc][

death-row
03.03.03, 19:56
Bin mir jetzt nicht ganz sicher, aber ergaenze die proftpd.conf mal mit folgendem Eintrag:
RequireValidShell off

Havoc
03.03.03, 20:49
leider funktioniert es immer noch nicht *grml*

Hatt vielleicht noch jemand ne idee.
Danke trotzdem an death-row :D

Ciao Havoc][