File Access auf Netgear NAS

Ich habe seit einien Jahren ein kleines NAS, um dort Musik, Bilder, Backups und so weiter abzulegen. Nun war es so, dass sich anfänglich die Rechte nicht so sauber konfigurieren ließen, wie man es sich eigentlich wünscht. Und so kam es, dass ein anderer User des Systems nicht auf die Bilder zugreifen konnte, die ich auf dem NAS gespeichert habe und ich umgekehrt nicht auf die Bilder des anderen Users. Dies blieb leider auch so, nachdem die Software in der Lage war, ein sauberes Gruppenkonzept für die Rechtevergabe anzubieten. Damals vermutete ich, dass bereits gesetzte Berechtigungen nicht aktualisiert werden, wenn man die Berechtigungen im Web-Frontend anpasst. Irgendwie habe ich mich aber nicht eingehend mit dem Problem beschäftigt.

Zufällig ergab es sich nun, dass ich auf dem NAS unterwegs war und da dachte ich mir, es wäre ja mal eine gute Gelegeneheit, auch bei die Rechte zu schauen. Im ersten Schritt habe ich mal das klassische ls bemüht. Diese zeigte aber an, dass die Gruppe, in der beide Benutzer sind, eigentlich die korrekten Rechte hätte:

$ ls -dal HDR
drwxrwx---+ 1 pvitt users 258 Nov 13  2013 HDR

Schaut man sich das an, sollte man meinen, dass die Gruppe user Leserechte hätte. Dem ist aber nicht so. Nach einigem Überlegen hat mich dann das kleine + auf die ACLs gebracht. Selbst hatte ich damit noch nicht viele Berührungen (zumindest in der Linux-Welt), daher musste ich erst mal nachlesen. Wie so oft, kam mir hier das ArchLinux-Wiki zu Hilfe. Im ersten Schritt habe ich mir die ACLs für einen Datei anzeigen lassen:

$ getfacl Moi.JPG
# file: Moi.JPG
# owner: pvitt
# group: users
user::rwx
user:admin:rwx
user:pvitt:rwx
group::---
group:admin:rwx
group:users:---
mask::rwx
other::---

Dort sieht man schön, dass sowohl der admin als auch mein User auf die Datei zugreifen dürfen. Auch die admin-Gruppe hat Zugriff. Die interessante Gruppe user allerdings nicht. Im Arch-Wiki ist anschaulich beschrieben, wie man nun für alle Dateien den Schreib- und Lese-Zugriff für eine Gruppe freigibt:

$ setfacl -m "g:users:rwx" -R *

Im Anschluss sieht die Sache dann so aus:

$ getfacl Moi.JPG
# file: Moi.JPG
# owner: pvitt
# group: users
user::rwx
user:admin:rwx
user:pvitt:rwx
group::---
group:admin:rwx
group:users:rwx
mask::rwx
other::---

Ziel erreicht, Zugriff für alle Mitglieder der Gruppe user freigegeben.