PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : proftpd: Directory Limit



derpascal
26.04.14, 23:28
Moin,

ich komme gerade mit meiner proftpd config nicht zurecht. Sie will einfach nicht so, wie ich will. Was mir nur noch fehlt sind die Rechte auf den Ordnern. Folgendes ist meine Situation:

Meine Gruppen:

ftpuser:user1,user2,user3
domain1a:www-data,user1
domain2a:www-data,user1
domain2b:www-data,user1,user2

Meine Dateistruktur:


drwxr-xr-x root root /home/
drwxr-x--- user1 user1 /home/user1/
drwxr-x--- user2 user2 /home/user2/
drwxr-x--- user3 user3 /home/user3/
drwxr-xr-x root root /var/
drwxr-xr-x root root /var/www
drwxr-xr-x root root /var/www/tld/
drwxr-xr-x root root /var/www/tld/domain1
drwxrws--- www-data domain1a /var/www/tld/domain1/htdocs/
drwxr-xr-x root root /var/www/tld/domain2
drwxrws--- www-data domain2a /var/www/tld/domain2/www/htdocs/
drwxrws--- www-data domain2b /var/www/tld/domain2/forum/htdocs/


Meine proftpd.conf

...
# Es dürfen sich nur spezielle User per FTP anmelden:
<Limit LOGIN>
Order allow, deny
AllowGroup ftpuser
DenyAll
</Limit>

# Das Hauptverzeichnis darf nur aufgelistet werden:
<Directory />
<Limit READ WRITE>
DenyAll
</Limit>
</Directory>

# Alle Ordner in dem Hauptverzeichnis dürfen überhaupt nicht genutzt werden:
<Directory /*>
DenyAll
</Directory>

# /home darf aufgelistet werden.
# !!! Leider sehen alle User alle Homeverzeichnisse und nicht nur ihr eigenes !!!
<Directory /home>
<Limit DIRS>
AllowAll
</Limit>
</Directory>

# In den Homeverzeichnissen darf frei gearbeitet werden.
# Die Rechte werden durch Filesystemrechte weiter kontrolliert
<Directory /home/*>
AllowAll
</Directory>

# /var darf aufgelistet werden ...
<Directory /var>
<Limit DIRS>
AllowAll
</Limit>
</Directory>

# ... jedoch nicht alle Ordner in /var ...
<Directory /var/*>
DenyAll
</Directory>

# ... sondern nur /var/www
<Directory /var/www>
<Limit DIRS>
AllowAll
</Limit>
</Directory>

# Und hier darf nun gearbeitet werden:
<Directory /var/www/tld/domain1/htdocs>
AllowAll
</Directory>

<Directory /var/www/tld/domain2/forum/htdocs>
AllowAll
</Directory>

<Directory /var/www/tld/domain2/www/htdocs>
AllowAll
</Directory>




So, wenn ich als User per SSH auf dem Server bin, kann ich alles genau so machen, wie ich es erwartet habe. Nur ber FTP kann ich auf /var/www/tld/domain2/www/htdocs keine Datens Lesen/schreiben, aber Auflisten. Für mich sieht es so aus, als würden die letzten drei Directory Anweisungen nicht funktionieren. Aber unter /home hat es ja funktioniert...

Irgendwie sieht für mich die ganze Konfig zu Kompliziert aus, kann ich das auch einfacher schreiben? Wie bekomme ich per FTP schreibzugriff auf meine htdocs-Ornder?

Vielen Dank für eure Unterstützung und Gruss

derPascal

derpascal
29.04.14, 15:32
OK, ich glaube ich habe die Lösung gefunden und verstanden:


<Directory />
<Limit READ WRITE>
DenyAll
</Limit>
</Directory>

Hiermit habe ich auf die komplette Struktur die Lese/Schreibrechte für alle entzogen


<Directory /*>
DenyAll
</Directory>

Hiermit habe ich den Zugriff auf alle Ordner gesperrt. Soweit noch alles OK.


<Directory /home>
<Limit DIRS>
AllowAll
</Limit>
</Directory>

Hiermit habe ich für /home wieder den Zugriff gestattet, aber nur das Recht auf auflisten


<Directory /home/*>
AllowAll
</Directory>

Hier ist schon der erste Fehler, der sich wiederholt. Ich habe den Zugriff in allen Orndern in /home/ gestattet. Das Recht auf Lesen/Schreiben war aber noch durch die Rechte auf /home unterbunden. Richtig gewesen wäre es:


<Directory /home/*>
<Limit ALL>
AllowAll
</Limit>
</Directory>

im /var Bereich genau das gleiche. Ich muss nur alle hier vorhanden AllowAll Anweisungen in <Limit ALL>...</Limit> packen.

Gruss

derPascal