gelöst: zwei User sollen lesen/schreiben, aber www-data nur lesen können
gelöst: zwei User sollen lesen/schreiben, aber www-data nur lesen können
Hallo,
ich habe eine externe NTFS-formatierte Festplatte gemountet (NTFS, weil sie auch als externe HDD an Windows und Mac verwendet werden können soll), auf die zwei normale User Vollzugriff (lesen/schreiben) haben sollen.
Der User www-data, also der Apache Webserver, soll nur lesend Zugriff erhalten.
Wie könnte ich die Rechte vergeben?
Die Platte mit 750 zu mounten geht hier nicht, da dann nur ein User Vollzugriff hat (es kann nur einen Besitzer geben).
www-data in die Vollzugriff-Gruppe aufzunehmen und das Laufwerk mit 770 birgt das Risiko, dass, wenn ich mich in PHP mal vertue, die Daten auf der Platte in Gefahr sein könnten (durch Programmiertfehler oder gar "Angriff").
775 will ich auch nicht machen, denn ich mag "Fremden" den Zugriff auf die Platte lieber komplett verweigern.
ich habe eine externe NTFS-formatierte Festplatte gemountet (NTFS, weil sie auch als externe HDD an Windows und Mac verwendet werden können soll), auf die zwei normale User Vollzugriff (lesen/schreiben) haben sollen.
Der User www-data, also der Apache Webserver, soll nur lesend Zugriff erhalten.
Wie könnte ich die Rechte vergeben?
Die Platte mit 750 zu mounten geht hier nicht, da dann nur ein User Vollzugriff hat (es kann nur einen Besitzer geben).
www-data in die Vollzugriff-Gruppe aufzunehmen und das Laufwerk mit 770 birgt das Risiko, dass, wenn ich mich in PHP mal vertue, die Daten auf der Platte in Gefahr sein könnten (durch Programmiertfehler oder gar "Angriff").
775 will ich auch nicht machen, denn ich mag "Fremden" den Zugriff auf die Platte lieber komplett verweigern.
Zuletzt geändert von atarixle am 05.07.2018 11:25:03, insgesamt 1-mal geändert.
Re: zwei User sollen lesen/schreiben, aber www-data nur lesen können
… und damit hat sich der ganze Rest eigentlich auch schon erledigt. Bei dem FS gibt’s weder Unix-Rechte, noch MAC/ACL-Kram, den man unter Linux sinnvoll nutzen könnte.
Re: zwei User sollen lesen/schreiben, aber www-data nur lesen können
Dass die NTFS-Platte keine Linux-Rechte speichern kann, weiß ich auch selber. Dennoch kann ich diese mit User-Rechten in der fstab mounten.
Könnte ich nicht mit setfacl den zwei Usern schreib/lese und dem www-data nur Leserechte geben?
Könnte ich nicht mit setfacl den zwei Usern schreib/lese und dem www-data nur Leserechte geben?
Zuletzt geändert von atarixle am 14.06.2018 21:40:01, insgesamt 1-mal geändert.
Re: zwei User sollen lesen/schreiben, aber www-data nur lesen können
Probier’s halt. Normale Verzeichnisrechte werden nicht vererbt; wie sich das mit ACL verhält, weiß zumindest ich nicht. Ich weiß nur, dass innerhalb des Dateisystems selbst weder Unixrechte, noch ACL funktionieren können.
Re: zwei User sollen lesen/schreiben, aber www-data nur lesen können
Anscheinend kann man bei ntfs3g User mappen, sodass ihre Rechte unter Linux beachtet werden: https://www.tuxera.com/community/ntfs-3 ... rmissions/
Re: zwei User sollen lesen/schreiben, aber www-data nur lesen können
Ich will ja gar keine Rechte vererben oder mappen.
Das gesamte Laufwerk soll sich gleich verhalten.
Man könnte auch sagen, ich suche die Möglichkeit, ein lokales (nicht gemountetes) Verzeichnis oder eine Datei rw für zwei User und r für www-data und - für alle anderen einzustellen. Lassen wir die NTFS-Geschichte also mal außen vor.
Das Problem ist, dass ich zwei Usern rw geben will, ich das aber mit rw- r-- --- eben nur einem User zur Verfügung stellen kann.
Damit der zweite User rw bekommt, muss ich ja schon rw- rw- --- machen, weil beide in der gleichen Gruppe sind. Dann hat aber www-data (ebenfalls in der rw-Gruppe des Zielverzeichnis) ebenfalls rw, was ich nicht will. Und alle anderen sollten gar nicht lesen dürfen, weshalb ich am Ende --- lassen muss.
Das gesamte Laufwerk soll sich gleich verhalten.
Man könnte auch sagen, ich suche die Möglichkeit, ein lokales (nicht gemountetes) Verzeichnis oder eine Datei rw für zwei User und r für www-data und - für alle anderen einzustellen. Lassen wir die NTFS-Geschichte also mal außen vor.
Das Problem ist, dass ich zwei Usern rw geben will, ich das aber mit rw- r-- --- eben nur einem User zur Verfügung stellen kann.
Damit der zweite User rw bekommt, muss ich ja schon rw- rw- --- machen, weil beide in der gleichen Gruppe sind. Dann hat aber www-data (ebenfalls in der rw-Gruppe des Zielverzeichnis) ebenfalls rw, was ich nicht will. Und alle anderen sollten gar nicht lesen dürfen, weshalb ich am Ende --- lassen muss.
Re: zwei User sollen lesen/schreiben, aber www-data nur lesen können
OK, dann nennen wir den ersten User Fritz und den zweiten User Susi.atarixle hat geschrieben:04.07.2018 09:31:06Man könnte auch sagen, ich suche die Möglichkeit, ein lokales (nicht gemountetes) Verzeichnis oder eine Datei rw für zwei User und r für www-data und - für alle anderen einzustellen. Lassen wir die NTFS-Geschichte also mal außen vor.
Erzeuge eine (neue) Benutzergruppe, z.b mit dem Namen "Nutzer"
Die Dateien in dem besagten Verzeichnis änderst du mit
Code: Alles auswählen
chown -R Fritz.Nutzer /Verzeichnisname
Code: Alles auswählen
chown -R Susi.Nutzer /Verzeichnisname
Dann gibst du den Dateien und Unterverzeichnissen noch die Rechte rwrw-r
Für Verzeichnsse:
Code: Alles auswählen
find /Verzeichnisname -type d -exec chmod 775 {} \;
Code: Alles auswählen
find /Verzeichnisname -type f -exec chmod 664 {} \;
Dadurch dürfen die Benutzer (hier Susi oder Fritz) und alle, die zur Gruppe Nutzer gehören, die Dateien bearbeiten, der Rest der Welt darf nur lesen. Da www-data zum Rest der Welt gehört, hat der hier, ohne spezifische Erwähnug im Dateisystem automatisch nur Leserechte.
Das hier beschriebene Vorgehen läßt sich nicht auf NTFS oder FAT abbilden!
Re: zwei User sollen lesen/schreiben, aber www-data nur lesen können
Den Rest der Welt möchte ich aber nicht lesen lassen.
Hmm ... geht das, wenn ich stattdessen www-data als Besitzer und Fritz und Susi in die Gruppe packe und 570 bzw. 460 vergebe (also r-- rw- ---). Oder kann der Besitzer dann automatisch lesen und schreiben? ... mal versuchen ...
EDIT: es geht!
Folgende mount-Optionen habe ich angegeben:
/dev/sda2 /mnt/extHD1 ntfs-3g rw,async,users,uid=www-data,gid=exthdrw,umask=207 0 3
Ich habe den Spieß umgedreht: ein Besitzer (www-data) darf lesen, aber nicht schreiben (getestet mit sudo -u www-data mkdir test ...).
Die Mitglieder der Gruppe dürfen lesen und schreiben.
Die Dateien haben allesamt nun die Rechte r-- rw- ---.
PS: das mit dem Execute-Bit nur für Verzeichnisse geht, wenn ich anschließend noch fmask=111 hinzufüge.
Hmm ... geht das, wenn ich stattdessen www-data als Besitzer und Fritz und Susi in die Gruppe packe und 570 bzw. 460 vergebe (also r-- rw- ---). Oder kann der Besitzer dann automatisch lesen und schreiben? ... mal versuchen ...
EDIT: es geht!
Folgende mount-Optionen habe ich angegeben:
/dev/sda2 /mnt/extHD1 ntfs-3g rw,async,users,uid=www-data,gid=exthdrw,umask=207 0 3
Ich habe den Spieß umgedreht: ein Besitzer (www-data) darf lesen, aber nicht schreiben (getestet mit sudo -u www-data mkdir test ...).
Die Mitglieder der Gruppe dürfen lesen und schreiben.
Die Dateien haben allesamt nun die Rechte r-- rw- ---.
PS: das mit dem Execute-Bit nur für Verzeichnisse geht, wenn ich anschließend noch fmask=111 hinzufüge.