Titel: root user für Read Only Anonymous Berreich Beitrag von: DrFlow am 25. Juli 2003, 10:36:02 Morgen Jungs, erst mal Happy AdminDay. ;-)
Und jetzt mal ne Nuss zum Knacken. Ich habe einen Anonymous Bereich mit upload Verzeichnis angelegt. D.H. im ?/? dürfen die Anonymous User nur gucken und runterladen. Dann gibt es wie sich das gehört noch ein ?/upload? zum uppen. Soweit so gut. User aus eine privilegierten Gruppe, die nicht als Anonymous angemeldet sind (quasi ne root Gruppe) soll aber in den geschützten Bereich Dateien schreiben dürfen. Die Datei und Gruppen Rechte müssen natürlich beim schreiben wieder so verbogen werden, das die Anos ftp User da auch dann dürfen. So wie ich das mache habe ich natürlich nur einen 550 Access Permitted beim Schreiben. Seltsamerweise kann ich aber im Verzeichnis /upload Dateien löschen, was mit normalen Anoymous Rechten nicht gehen kann. Und da mein Gehirn gerade mal wieder einen Knoten hat, könnt Ihr mir vielleicht mal einen Tipp geben. Ach ja, Filesystem ist fürs debugging mal pauschal 777 ;-) # !/bin/bash # /etc/proftpd.conf # Configuration File of the proftpd Server #################################################################################### #********************************************************************************** #Basic's ######################## ServerName "xxx FTP Servere" ServerType inetd ServerAdmin postmaster@xxx DefaultServer on DeferWelcome on ServerIdent on "Microsoft FTP Service" # 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 002 # Note that this ONLY works in standalone mode #MaxInstances 30 # Set the user and group under which the server will run. User nobody Group nobody RequireValidShell off PassivePorts 50000 50050 AuthUserFile /etc/proftpd.passwd AuthGroupFile /etc/proftpd.group # To cause every FTP user to be "jailed" (chrooted) into their home # directory, uncomment this line. DefaultRoot /var/ftp # Global File Operation ################### <Global> HiddenStor off AllowStoreRestart on AllowRetrieveRestart on AllowOverwrite on </Global> #****************************************************************** # # Login Msg # #DisplayConnect /var/ftp/.connectmsg.txt #DisplayLogin /var/ftp/.loginmsg.txt #DisplayQuit /var/ftp/.quitmsg.txt #DisplayFirstChdir /var/ftp/.firstchdirmsg.txt #****************************************************************** # # Logging Options # 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/proftpd/access_log WRITE,READ write ExtendedLog /var/log/proftpd/auth_log AUTH auth ExtendedLog /var/log/proftpd/paranoid_log ALL default #******************************************************************* # # Filter # # It is a very good idea to allow only filenames containing normal # alphanumerica characters for uploads ( and not shell code) #PathAllowFilter "^[a-zA-Z0-9_.-]()'+$" # We do not want .ftpaccess or .htaccess files to be uploaded #PathDenyFilter "(\.ftp)[a-z]+$|(\.ht)[a-z]+$" # Do not allow to pass printf-Formats (security! see documentation!): #AllowFilter "^[a-zA-Z0-9@~/,_.-]*$" #DenyFilter "%" #DenyFilter \*.*/ #****************************************************************** # # File & Folder # # Normally, we want files to be overwriteable. <Directory /> AllowOverwrite on HideNoAccess on </Directory> <Directory /var/ftp/members/cust1> AllowOverwrite on HideNoAccess on UserOwner kunde1 GroupOwner kunde1 </Directory> <Directory /var/ftp/members/cust2> AllowOverwrite on HideNoAccess on UserOwner kunde2 GroupOwner kunde2 </Directory> <Directory /var/ftp/members/cust3> AllowOverwrite on HideNoAccess on UserOwner kunde3 GroupOwner kunde3 </Directory> <Directory /var/ftp/public/> AllowOverwrite on HideNoAccess on UserOwner ftp GroupOwner ftp </Directory> # Systemnachrichten AccessGrantMsg "Willkommen auf dem FTP-Server der xxx" AccessDenyMsg "Zugriff verweigert" # Loginversuche bevor Verbindung getrennt werden soll MaxLoginAttempts 3 # A basic anonymous configuration, with upload directories. <Anonymous ~ftp> # der ftp-benutzer ist normalerweise ftp. kann aber auch jeder andere # benutzer sein. User ftp Group ftp # login mit "anonymous" ist genauso gültig wie "ftp" UserAlias anonymous ftp # AuthAliasOnly on # die maximale anzahl von clienten wird auf 5 beschränkt MaxClients 5 "Sorry, max %m anonymous users allowed. Try again later" # es sind maximal 2 verbindungen pro ip-adresse gültig MaxClientsPerHost 2 "Sorry, you may not connect more than %m times." # der filetransfer wird hier aufgezeichnet TransferLog /var/log/proftpd/proftpd.pub.log # bei login wird die datei welcome.msg angezeigt. sie muss sich im # homeverzeichnis des benutzer ftp befinden DisplayLogin welcome.msg # bei einem wechsel in ein verzeichnis wird die datei .message angezeigt DisplayFirstChdir .message <Directory /var/ftp/public> UserOwner ftp GroupOwner ftp <Limit ALL> IgnoreHidden on </Limit> <Limit Write> AllowGroup gstep </Limit> </Directory> <Directory upload/> AllowOverwrite on HideNoAccess on UserOwner ftp GroupOwner ftp <Limit STOR> AllowAll </Limit> <Limit READ WRITE RMD DELE MKD> AllowGroup gstep </Limit> </Directory> </Anonymous> Titel: Re: root user für Read Only Anonymous Berreich Beitrag von: stonki am 25. Juli 2003, 11:06:35 Zitat von: "DrFlow" User aus eine privilegierten Gruppe, die nicht als Anonymous angemeldet sind (quasi ne root Gruppe) soll aber in den geschützten Bereich Dateien schreiben dürfen. Die Datei und Gruppen Rechte müssen natürlich beim schreiben wieder so verbogen werden, das die Anos ftp User da auch dann dürfen. So wie ich das mache habe ich natürlich nur einen 550 Access Permitted beim Schreiben. es mag daran liegen, dass ich a) ein PISA Fall bin, b) gestern in SoHO zuviel getrunken habe, aber ich verstehe den Satz nicht.... cu stonki Titel: Re: root user für Read Only Anonymous Berreich Beitrag von: DrFlow am 25. Juli 2003, 11:25:14 OK ich Versuche es noch mal: Vielleicht verstehe ich es ja selber nicht.
Anonymous Bereich: / & /upload Im Verzeichnis / kein upload / delete etc. für Anonymous Im Verzeichnis /upload nur upload siehe Conf File Ein ?Admin User? der Gruppe ?gstep? soll jetzt in der Lage sein, die Dateien und alles Andere in das Verzeichnis / zu legen. Er ist natürlich nicht als Anonymous angemeldet, sondern als vollwertiger User. Außerdem muss der für den User eine ?UserOwner? und ?GroupOwner? greifen, da sonnst die Armen Anonymous User keinen Zugriff auf die Dateien habe. Ein manueller Chmod nach dem Aufspielen der Dateien ist nämlich Murks. Vielen Dank schon mal für den Versuch es zu verstehen. *g* Ich habe bereits wieder etwas gespielt, bitte neue Conf beachten: Für Anonymous; <Directory /var/ftp/public> UserOwner ftp GroupOwner ftp <Limit ALL> IgnoreHidden on </Limit> <Limit Write> Order Deny,Allow DenyAll AllowGroup gstep </Limit> </Directory> <Directory upload/> AllowOverwrite on HideNoAccess on UserOwner ftp GroupOwner ftp <Limit STOR> AllowAll </Limit> <Limit READ WRITE RMD DELE MKD> Order Deny,Allow DenyAll AllowGroup gstep </Limit> </Directory> Titel: Re: root user für Read Only Anonymous Berreich Beitrag von: stonki am 25. Juli 2003, 13:18:03 Zitat von: "DrFlow" [...] anononyme section [...] <Limit READ WRITE RMD DELE MKD> Order Deny,Allow DenyAll AllowGroup gstep ich haenge heute echt durch, aber wenn Du Dich anonym einloggt, dann bringt dieser ganze AllowGroup Kram nichts, denn die Gruppe steht ja fuer anonymen FTP fest., cu stonki Titel: Re: root user für Read Only Anonymous Berreich Beitrag von: DrFlow am 25. Juli 2003, 14:05:31 Das eigentliche Problem ist, dass ich mit meinem Admin User nicht in die Anonymous Verzeichnisse schreiben kann. Deswegen probiere ich gerade mit dem AllowGroup rum. Der User ist halt ein Mitglied der Gruppe FTP und gstep(gstep ist primäre Gruppe). Da er ein Mitglied der Gruppe FTP ist, müsste ich auch Schreibrechte für Die Anonymous Verzeichnisse haben. Laut Filesystemerechten.
Das Ziel soll sein, dass ich mit meinem User der Gruppe xyz das Anonymous Verzeichnis verwalten kann. Wenn sich Jemand Anonymous anmeldet darf er halt nicht schreiben können (im /upload ja). Das Funktioniert soweit. Der Angemeldete User soll aber schreiben/lesen könne. Lesen kann ich, schreiben geht nicht. Jetzt suche ich halt ein Beispiel, Ansatz oder meinen Denkfehler. Das muss in dieser Form ja schon X mal gemacht worden sein. Zitat von: "stonki" Zitat von: "DrFlow" [...] anononyme section [...] <Limit READ WRITE RMD DELE MKD> Order Deny,Allow DenyAll AllowGroup gstep ich haenge heute echt durch, aber wenn Du Dich anonym einloggt, dann bringt dieser ganze AllowGroup Kram nichts, denn die Gruppe steht ja fuer anonymen FTP fest., cu stonki Titel: root user für Read Only Anonymous Berreich Beitrag von: stonki am 25. Juli 2003, 15:16:51 dann kopiere doch einmal den <dir upload> block (mit vollstaendiger Pfadangabe) in den globalen Bereich der config
Titel: root user für Read Only Anonymous Berreich Beitrag von: DrFlow am 25. Juli 2003, 15:27:05 Schon passiert. Funktioniert auch.
Einziger Haken: Ich kann Dateien nicht überschreiben, obwohl ich die Obtion jetzt überall gesetzt habe. Komischerweise geht das in allen anderen Verzeichnissen, die nicht zum Anonymous gehören. Konfig ist bis auf die User/Group überall gleich. Naja Jedenfalls erst mal Danke schön. Zitat von: "stonki" dann kopiere doch einmal den <dir upload> block (mit vollstaendiger Pfadangabe) in den globalen Bereich der config |