Titel: Verständnisfrage zu Zugriffrechten Beitrag von: Corben am 08. Februar 2006, 12:40:38 Huhu *,
mir ist das Rechtesystem ein klein wenig schleierhaft ;) Gehe ich recht in der Annahme, daß in erster Linie die UID/GID des Proftpd Benutzers, nicht die des Deamons selber, welche in der proftpd.conf durch Code: User nobody Group nogroup festgelegt wird, Schreibrechte auf ein Verzeichnis bzw. eine Datei haben muss, und ich diese Rechte dann durch die <Directory> Direktive einschränken kann? Ich benutze folgende Direktiven Code: AuthOrder mod_auth_file.c AuthUserFile /usr/local/etc/passwd.proftpd AuthGroupFile /usr/local/etc/group.proftpd Und habe dort drei Benutzer und drei Gruppen definiert: Code: Zeus:<kennwort>:1000:500::/srv/ftp:/sbin/nologin Hermes:<kennwort>:1001:501::/srv/ftp:/sbin/nologin Herakles:<kennwort>:1002:502::/srv/ftp:/sbin/nologin Code: ftpgod:x:500: ftpmessenger:x:501: ftpuser:x:502 Dazu folgende Verzeichnisstruktur: Code: /srv/ftp /srv/ftp/nachrichten /srv/ftp/nachrichten/upload Wenn ich nun möchte, daß Zeus überall alle Rechte hat, Herakles nur im Unterordner nachrichten und darunter dann Herakles nur im Ordner upload was verändern darf (hochladen, löschen), wie realisiere ich das in proftpd? Eine Möglichkeit ist natürlich mit umask 002 den Usern der gleichen Gruppe erlauben die Dateien zu ändern, sprich ich füge Zeus allen Gruppen hinzu, und Herakles dann noch der Gruppe ftpuser. Und dann setze ich die Rechte der Ordner folgendermassen: Code: drwxrwxr-x Zeus ftpgod /srv/ftp drwxrwxr-x Hermes ftpmessenger /srv/ftp/nachrichten drwxrwxr-x Herakles ftpuser /srv/ftp/nachrichten/upload Doch würde das auch mit <Directory> und AllowGroup Direktiven gehen? Oder wären .ftpaccess Dateien die richtige Wahl? Wie müssen dann die Rechte der Verzeichnisse aussehen? Titel: Verständnisfrage zu Zugriffrechten Beitrag von: VolGas am 08. Februar 2006, 13:43:15 Der ProFTPD läuft zunächst unter den in der proftpd.conf definierten Rechten.
Loggt sich jemand ein, so wird der Server kurzfristig zum root-User, um dann einen neuen Prozess mit der UID/GID des einloggenden Users abzuspalten, der diesem dann fest zugeordnet wird. (Oder so ähnlich...) Der laufende Prozess "gehört" also dem User und hat auch die selbe UID/GID, die dem User selbst zugewiesen wurde und damit auch die selben Möglichkeiten und Beschränkungen. Darüber hinaus kann man natürlich mit "Directory" und "Limit" Direktiven noch etwas Fein-Tuning betreiben, aber die Systemrechte bilden die Basis lassen sich nicht aushebeln. Es ist also ganz Deiner Intelligenz und Phantasie überlassen, wie Du Deine Zugriffsrechte setzt... mfg. VolGas |