www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: Jorma am 08. Juli 2004, 12:33:29



Titel: Anonymous ~gast Login und Limit
Beitrag von: Jorma am 08. Juli 2004, 12:33:29
Hallo,

ich habe folgende Anforderungen an den FTPd:
- Ein User soll sich als gast/gast anmelden koennen. Um etwaige Fehler zu verhindern, soll das auch per Gast/gast und GAST/gast moeglich sein.
- In das home-Verzeichnis soll dieser `gast` nun Dateien (keine Verzeichnisse erstellen) hochladen , diese aber nicht resumen, runterladen oder anschauen koennen. Optimal waere hierbei wenn die Datei nach dem upload "unsichtbar" werden wuerde.
- Soll es einen Adminaccount haben, der diese hochgeladenen Dateien uneingeschraenkt bearbeiten kann.

Verwendetes System: Debian GNU/Linux
ProFTPD Version: 1.2.9

Ich habe es bisher ueber eine <Anonymous ~gast>Direktive  und UserAlias versucht, allerdings konnten dann GAST und Gast keine Dateien STOREn. Auch habe ich bei dem Konzept den Administratoraccount nicht beruecksichtigt, eventuell muesste das Linux-Account Konzept veraendert werden.

proftpd.conf:
<Anonymous ~gast>
  User                          gast
  Group                         gast
  UserAlias                     GAST Gast
  RequireValidShell             off
  MaxClients                    10 "Sorry, max %m users -- try again later"
  <Directory *>
    Umask 077 077
    <Limit READ WRITE>
      DenyAll
    </Limit>
    <Limit STOR>
      AllowAll
    </Limit>
  </Directory>
</Anonymous>

und aus der /etc/passwd:
gast:x:1000:1000:,,,:/home/gast:/bin/false
Gast:x:1001:1000:,,,:/home/gast:/bin/false
GAST:x:1002:1000:,,,:/home/gast:/bin/false

Kann mir jemand bei diesem Problem helfen? Vielen Dank bereits im Voraus.


Titel: Re: Anonymous ~gast Login und Limit
Beitrag von: stonki am 08. Juli 2004, 13:06:37
Zitat
Kann mir jemand bei diesem Problem helfen? Vielen Dank bereits im Voraus.



most likely wieder mal die Linux Rechte. Gebe dem Verzeichnis mal "chmod 777" rechte. Und dann im Debug Mode noch mal probieren


Titel: Anonymous ~gast Login und Limit
Beitrag von: Jorma am 08. Juli 2004, 13:52:10
ftp:~# ls -l /home |grep gast
drwxrwxr-x    2 gast     gast         4096 Jul  8 13:01 gast/

STORE geht damit nun, allerdings koennen Gast und GAST Dateien von gast und deren eigene loeschen. Im Filesystem tauchen die files von Gast und GAST dann beide mit ownership Gast.gast auf (und nicht GAST.gast).
Scheinbar greifen UMask, Deny und Allow auch nicht. Files werden statt mit 700 (oder 077 Umask) mit 755 (UMask 022) geuppt, das passt eher zum Verhalten der Global-config. Wo ist da der Wurm drin?

Um das noch in Erinnerung zu rufen: Dateien nach dem Upload "unsichtbar" machen.

Ich wollte dafuer (und fuer den Administratoraccount) alle hochgeladenen Dateien am liebsten in eine andere Gruppe (und sofern moeglich einem anderen User) zuordnen. Dazu habe ich es vorerst mit GroupOwner und HideGroup versucht, wobei ich gast/Gast/GAST der Gruppe jorma hinzugefuegt habe. Allerdings wurden die Dateien nicht per chown/chgrp geaendert, im FTP-Log taucht aber auch kein Warning dazu auf (wie es im Manual erwaehnt wird). Was mache ich hier nun wieder falsch?

<Anonymous ~gast>
...
GroupOwner                jorma
HideGroup                   jorma
...
<Directory *>


Titel: Anonymous ~gast Login und Limit
Beitrag von: Jorma am 08. Juli 2004, 14:15:47
DebugMode 3 - sinnvoll oder was hoeheres nehmen?

upload als gast:
Jul  8 14:10:36 ftp proftpd[1535]: ftp.calloon.priv (neo.calloon.priv[192.168.10.2]) - FTP session opened.
Jul  8 14:10:37 ftp proftpd[1535]: ftp.calloon.priv (neo.calloon.priv[192.168.10.2]) - ANON gast: Login successful.
Jul  8 14:10:37 ftp proftpd[1535]: ftp.calloon.priv (neo.calloon.priv[192.168.10.2]) - Preparing to chroot() the environment, path = '/home/gast'
Jul  8 14:10:37 ftp proftpd[1535]: ftp.calloon.priv (neo.calloon.priv[192.168.10.2]) - Environment successfully chroot()ed.
Jul  8 14:10:37 ftp proftpd[1535]: ftp.calloon.priv (neo.calloon.priv[192.168.10.2]) - mod_cap/1.0: capabilities '= cap_chown,cap_net_bind_service+ep'

upload als GAST:
Jul  8 14:11:15 ftp proftpd[1536]: ftp.calloon.priv (neo.calloon.priv[192.168.10.2]) - FTP session opened.
Jul  8 14:11:19 ftp PAM_unix[1536]: (proftpd) session opened for user Gast by (uid=0)
Jul  8 14:11:19 ftp proftpd[1536]: ftp.calloon.priv (neo.calloon.priv[192.168.10.2]) - USER GAST: Login successful.
Jul  8 14:11:19 ftp proftpd[1536]: ftp.calloon.priv (neo.calloon.priv[192.168.10.2]) - Preparing to chroot() the environment, path = '/home/gast'
Jul  8 14:11:19 ftp proftpd[1536]: ftp.calloon.priv (neo.calloon.priv[192.168.10.2]) - Environment successfully chroot()ed.
Jul  8 14:11:19 ftp proftpd[1536]: ftp.calloon.priv (neo.calloon.priv[192.168.10.2]) - mod_cap/1.0: capabilities '= cap_chown,cap_net_bind_service+ep'

Warum mischt sich hier PAM ein und ich bekomme ein USER GAST anstatt eines ANON GAST?


Titel: Anonymous ~gast Login und Limit
Beitrag von: stonki am 08. Juli 2004, 15:13:25
ich verstehe sowieso nicht, wieso Du das als anonymer Zugang laufen laesst - Du willst doch ein Passwort haben, oder?


Titel: Anonymous ~gast Login und Limit
Beitrag von: Jorma am 08. Juli 2004, 15:19:38
Das habe ich aus den Docs auf proftpd.org entnommen. Aber ich verstehe schon, ich hab mich auch etwas gewundert ueber Anonymous. Nur VirtualHost passt in meinen Augen auch nicht.

Es soll halt eine spezielle Direktive geben, die nur  fuer den User gast (und Gast und GAST) gilt, mit den oben genannten Anforderungen.

Wenn Du Dir mein erstes Posting nochmal durchliest, kannst Du mir ja vielleicht eine ganz andere Loesung vorschlagen und ggfl. erklaeren?!


Titel: Anonymous ~gast Login und Limit
Beitrag von: jorma am 08. Juli 2004, 15:33:16
erm, also wenn Du so nett waerst und die Zeit hast. Das sollte kein Befehl sein :oops:


Titel: Anonymous ~gast Login und Limit
Beitrag von: Wörsty am 08. Juli 2004, 18:18:39
UserAlias GAST Gast ist aber nicht UserAlias gast Gast und auch nicht UserAlias gast GAST, oder?


Titel: Anonymous ~gast Login und Limit
Beitrag von: jorma am 09. Juli 2004, 00:05:16
Die Zeile ist auch unvollstaendig, da fehlte am Ende der Systemuser:
UserAlias GAST Gast gast

Da das aber nicht zu funktionieren scheint, versuche ich mal:
UserAlias GAST gast
UserAlias Gast gast

EDIT:
Irgendwie ist es schon deprimierend, wenn man sowas uebersieht :?
Genau daran lag es natuerlich. Man sollte eben nicht einfach 3 Parameter verwenden, wenn UserAlias nur 2 versteht/verkraftet.
Die Dateien werden nun mit alle richtig mit Owner gast.gast hochgeladen und sind somit nicht mehr loesch- und/oder downloadbar.

EDIT2:
OK, alles funktioniert nun wie gewuenscht. Das Problem mit GroupOwner und HideGroup kam daher, dass ich gast der Gruppe jorma geaddet hatte, es aber andersrum verlangt wird (jorma der Gruppe gast adden). Ich verstehe es anhand des Manuals zwar nach wie vor andersrum, aber letztlich zaehlt, dass es funktioniert ;-)

config:
<Anonymous ~gast>
  User                          gast
  Group                         gast
  UserAlias                     GAST gast
  UserAlias                     Gast gast
  AnonRequirePassword           on
  RequireValidShell             off
  MaxClients                    3 "Sorry, max %m users -- try again later"

  GroupOwner                    jorma
  HideGroup                     jorma

  <Directory *>
    Umask 007 077
    <Limit READ WRITE>
      DenyAll
    </Limit>
    <Limit STOR>
      AllowAll
    </Limit>
  </Directory>
</Anonymous>

/etc/passwd:
jorma:x:1003:1003::/home/gast:/bin/false

/etc/group:
gast:x:1000:
jorma:x:1003:gast

jorma kann nun (da UMask 007) die hochgeladenen files nach Belieben behandeln, schoen ist das.

Vielen Dank noch fuer die Hilfe!


Titel: Anonymous ~gast Login und Limit
Beitrag von: Wörsty am 09. Juli 2004, 06:14:51
*mirmalaufdieschulterklopf* :D