Proftpd ::Gelange immer in die höhere Ebene::

Probleme mit Samba, NFS, FTP und Co.
Antworten
Benutzeravatar
Payne_of_Death
Beiträge: 484
Registriert: 16.05.2004 20:21:30
Kontaktdaten:

Proftpd ::Gelange immer in die höhere Ebene::

Beitrag von Payne_of_Death » 18.08.2004 21:15:01

Habe diesen FTP Server erfolgreich eingerichtet und die Authentifikation auf getrennte Files ausgeweitet um die System Accounts von den FTP Accounts zu trennen.

funktioniert auch soweit. Jedoch ist es so das ich von der FTP Ebene in die höheren Ebene gelange.

Code: Alles auswählen

<Directory *>
    AllowOverwrite off
    HideNoAccess on
    HideUser root
    <Limit ALL>
      IgnoreHidden on
   </Limit>
   <Limit WRITE>
Pfad der FTP User:
/home/ftpuser/restricted
/home/ftpuser/notrestricted
DenyAll
</Limit>
</Directory>
Zuletzt geändert von Payne_of_Death am 18.08.2004 23:31:44, insgesamt 1-mal geändert.

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 18.08.2004 21:42:16

Ein paar Docs durchlesen hilft manchmal :-)

http://proftpd.linux.co.uk/localsite/Us ... tml#AEN715

Kurzversion:
DefaultRoot ~


btw: es wäre nett wenn die Überschrift nicht bloss "proftp" heißen würde, da das alles und nichts heißen kann..

und deine Frage habe ich auch nur einfach geschlussfolgert, da du eigentlich keine wirkliche Frage gestellt gattest
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Payne_of_Death
Beiträge: 484
Registriert: 16.05.2004 20:21:30
Kontaktdaten:

Beitrag von Payne_of_Death » 18.08.2004 23:31:15

Savar hat geschrieben:Ein paar Docs durchlesen hilft manchmal :-)

http://proftpd.linux.co.uk/localsite/Us ... tml#AEN715

Kurzversion:
DefaultRoot ~


btw: es wäre nett wenn die Überschrift nicht bloss "proftp" heißen würde, da das alles und nichts heißen kann..

und deine Frage habe ich auch nur einfach geschlussfolgert, da du eigentlich keine wirkliche Frage gestellt gattest
sry Topic Titel ist unpassend hast recht.

Manuals bin ich ja heftig am lesen habe nur vergessen zu erwähnen das ich bereits DefaultRoot einsetze aber dennoch in die höhere Ebene gelange :roll:

so sieht es aus:

Code: Alles auswählen

ServerType                      standalone
DeferWelcome                    off

MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on
AllowOverwrite                  off

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

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

DenyFilter                      \*.*/
DefaultRoot ~/home/ftpuser/restricted,!restricted
DefaultRoot ~/home/ftpuser/notrestricted,!notrestricted
DefaultChdir ~/home/ftpuser/restricted,!restricted
DefaultChdir ~/home/ftpuser/notrestricted,!notrestricted

AuthUserFile /etc/proftpd.passwd
AuthGroupFile /etc/proftpd.group

# 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

 <Directory *>
     Umask 022 022
     HideNoAccess on
     HideUser root
     <Limit ALL>
       IgnoreHidden on
     </Limit>
     <Limit WRITE>
      DenyAll

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 19.08.2004 06:19:03

hmm.. ich muss zugeben, dass ich das Manual zu ProFTP auch nicht besonders toll finde.. aber mir ist folgender Abschnitt aufgefallen und frage mich ob es auf dich zutrifft?!
Non-root server issues

The chroot() system call will not work under a non-root ftp server process, the call requires root privileges. Without them it simply doesn't work, there doesn't appear to be any checking in the code of the uid/gid before calling chroot so using DefaultRoot in such a setup will cause the server to fail.
denn wenn du den Server als non-root User ausführst, kann es nicht klappen..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
inxs4u
Beiträge: 21
Registriert: 08.08.2003 08:32:23
Wohnort: Berlin
Kontaktdaten:

Beitrag von inxs4u » 19.08.2004 08:45:15

Also meine proftpd läuft als nobody:nogroup und alle FTP-Zugänge für V-Hosts sind in einem Chroot eingesperrt. Dazu habe ich nicht viel getan.
Die Benutzer gehören zur Gruppe nogroup und in der /etc/proftpd.conf steht

Code: Alles auswählen

DefaultRoot ~ nogroup
und alle Benutzer die der Gruppe nogroup angehören können Ihr Homedir nicht mehr verlassen.

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 19.08.2004 15:52:34

Von Grundsatz verschoben.

Bert
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

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

Beitrag von pdreker » 19.08.2004 18:14:35

Code: Alles auswählen

DefaultRoot ~/home/ftpuser/restricted,!restricted 
Was mir da auffällt, ist, dass ~/home/..... Die Tilde (~) bedeutet normalerweise schon "/home/username", die Pfadexpansion würde daraus dann in diesem Fall /home/username/home/ftpuser..... machen...

Ich denke 'mal nicht, dass das beabsichtigt ist...

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

Benutzeravatar
Payne_of_Death
Beiträge: 484
Registriert: 16.05.2004 20:21:30
Kontaktdaten:

Beitrag von Payne_of_Death » 19.08.2004 19:23:44

egal ob mit Tilde oder ohne ich gelange in die höheren Ebenen :roll

und zurzeit starte ich den ftp via root....

liegts an meinen Gruppen?
chmod?

hab keine idee mehr woran es liegen könnte

the_Sisyphos
Beiträge: 1
Registriert: 18.10.2004 01:09:57

Beitrag von the_Sisyphos » 18.10.2004 01:24:16

Nachdem dieser Thread schon etwas älter ist, "just 4 the logs"

Code: Alles auswählen

DefaultRoot ~/home/ftpuser/restricted,!restricted 
hmmm .. ich würde sagen ProFTPd ignoriert diese Zeile oder interpretiert sie falsch (als restricted AND NOT restricted), da die Spalten jeweils durch mindestens ein Leerzeichen oder Tab gertrennt sein müssen.
Demzufolge sollte obige Zeile vielleicht so aussehen:

Code: Alles auswählen

DefaultRoot    ~/home/ftpuser/restricted    !restricted
Bei mir funktioniert zumindest folgender Konstrukt:

Code: Alles auswählen

DefaultRoot                     /    admin
DefaultRoot                     ~/../..    site_adm
DefaultRoot                     ~/../..    site_all
DefaultRoot                     ~    !site_adm,!site_all,!admin
dazu kommt das natürlich auch die Rechte im Verzeichnis und die Angaben in der /etc/group übereinstimmen müssen, und es Gegebenenfalls hilfreich ist mittels DefaultChdir das Verzeichnis beim einloggen zu wechseln.

Falls das nicht hilft sollte man auf alle Fälle mal den ProFTPd mit den Argumenten "-d9 -n" starten um eine detailiertere LOG Ausgabe zu bekommen! Das häufigste Problem das ich jedoch beobachtet habe ist das die Einträge in der /etc/group nicht stimmen, wobei ich der einfachheit halber auf die Seite http://www.willemer.de/informatik/unix/unsyuser.htm verweisen möchte.

Antworten