ACL - wie wende ich das an?
Hallo Liste, Ich muss, wie beim Windows NTFS-System, auf Ordnerebene Zugriffsberechtigungen vergeben, die über chown und chgrp hinaus gehen. So muss ich z.B: für einen Ordner bestimmen, wer ihn lesen und wer lesen und schreiben darf. Dazu habe ich das Paket ACL gefunden bin mir nur unsicher wie ich die Befehle setfacl und getfacl einsetze. Wenn ich z.B. die Ordnerstruktur habe /usr/firma/abteilung/vorlage so habe ich auf den Ordner Abteilung mit chgrp eine Berechtigung. Nun möchte ich, dass den Ordner vorlage zwei andere User, die nicht zur Gruppe gehören, diesen Ordner lesen dürfen. Kann mir evntl. dazu jemand vormachen, wie ich den Befehl (ich denke, das ist setfacl) nutzen muss?! Danke vorab und Gruß, Sandro
Hallo,
* Lachender Engel
Ich muss, wie beim Windows NTFS-System, auf Ordnerebene Zugriffsberechtigungen vergeben, die über chown und chgrp hinaus gehen. So muss ich z.B: für einen Ordner bestimmen, wer ihn lesen und wer lesen und schreiben darf. Dazu habe ich das Paket ACL gefunden bin mir nur unsicher wie ich die Befehle setfacl und getfacl einsetze.
man setfacl, man getfacl Genaueres kann ich jetzt auch nicht sagen, da ich ACLs als Privatbenutzer einfach nicht brauche. Ich würde mir an Deiner Stelle aber mal den c't-Artikel "Gut bewacht", "Access Control Lists in modernen Dateisystemen", Azundris, c't 23/2003, S. 218 durchlesen, falls Du Zugriff drauf hast. War auf jeden Fall nicht schlecht. Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ "Der Neid ist die aufrichtigste Form der Anerkennung." -- Wilhelm Busch
Dazu habe ich das Paket ACL gefunden bin mir nur unsicher wie ich die Befehle setfacl und getfacl einsetze.
man setfacl, man getfacl
Danke, doch verstehe ich das Geschriebene da nicht - zumindest nicht so, dass ich es in eine Befehlszeile umsetzen kann...
Genaueres kann ich jetzt auch nicht sagen, da ich ACLs als Privatbenutzer einfach nicht brauche.
Ich würde mir an Deiner Stelle aber mal den c't-Artikel "Gut bewacht", "Access Control Lists in modernen Dateisystemen", Azundris, c't 23/2003, S. 218 durchlesen, falls Du Zugriff drauf hast. War auf jeden Fall nicht schlecht.
Leider habe ich den Artikel nicht und online ist er bei Heise nicht verfügbar. Könnte den jemand scannen und mir zu mailen?! Das wäre echt klasse! Danke und Gruß, Sandro
Lachender Engel schrieb:
[...]
man setfacl, man getfacl
Danke, doch verstehe ich das Geschriebene da nicht - zumindest nicht so, dass ich es in eine Befehlszeile umsetzen kann...
Du sollst auch nicht eine Befehlszeile verwenden, sondern zwei :-) # man setfacl später # man getfacl Falls das nicht geht, brause dorthin: http://wwwcgi.rdg.ac.uk:8081/cgi-bin/cgiwrap/wsi14/poplog/man/1/setfacl http://wwwcgi.rdg.ac.uk:8081/cgi-bin/cgiwrap/wsi14/poplog/man/1/getfacl -- Gruß, Alex
* Alexander Veit [2004-01-12 20:02]:
Lachender Engel schrieb:
[...]
man setfacl, man getfacl
Danke, doch verstehe ich das Geschriebene da nicht - zumindest nicht so, dass ich es in eine Befehlszeile umsetzen kann...
Du sollst auch nicht eine Befehlszeile verwenden, sondern zwei :-)
# man setfacl
sorry. Da sieht man mal wieder mit welchen Sachen Anfänger Probleme haben. Für mich ist das einfach selbstverständlich. Normalerweise verwende ich sogar die Schreibweise setfacl(1), das steht für die Seite setfacl in der Sektion 1. Die Manpages sind in derschiedene Kapitel eingeteilt, siehe man man: 1 Ausführbare Programme oder Shellbefehle 2 Systemaufrufe (Kernelfunktionen) 3 Bibliotheksaufrufe (Funktionen in System-Bibliotheken) 4 Spezielle Dateien (gewöhnlich in /dev) 5 Dateiformate und Konventionen, z. B. /etc/passwd 6 Spiele 7 Makropakete und Konventionen, z. B. man(7), groff(7) 8 Systemadministrationsbefehle (in der Regel nur für root) 9 Kernelroutinen [Nicht Standard] n neu [veraltet] l lokal [veraltet] p öffentlich [veraltet] o alt [veraltet] printf gibt's z. B. als ausführbares Programm printf(1) und als C-Funktion printf(3), da muss man dann explizit man 3 printf angeben enn man die C-Funktion will. Lange Rede, kurzer Sinn: Wenn Du's lieber grafisch hast, nimm den Konqueror und gib "man:/setfacl" in die URL-Zeile ein. Mehrdeutigkeiten wie bei printf werden sogar abgefragt. Wenn Du Dir übrigens mal eine Manpage ausdrucken willst: man -T printf | lpr Gruß, Bernhard -- _________ http://www.bwalle.de _________________________________________________ Bei der Eroberung des Weltraums sind zwei Probleme zu lösen: die Schwerkraft und der Papierkrieg. Mit der Schwerkraft wären wir fertig geworden. -- Wernher von Braun
On Monday 12 January 2004 19:33, Lachender Engel wrote:
Leider habe ich den Artikel nicht und online ist er bei Heise nicht verfügbar. Könnte den jemand scannen und mir zu mailen?! Das wäre echt klasse!
Warum fragst Du nicht die Autorin? "artikel@azundris.com" Kristian -- http://www.amazon.de/exec/obidos/wishlist/18E5SVQ5HJZXG
Hi Engel (...!) Am Montag, 12. Januar 2004 18:21 schrieb Lachender Engel:
Ich muss, wie beim Windows NTFS-System, auf Ordnerebene Zugriffsberechtigungen vergeben, die über chown und chgrp hinaus gehen. So muss ich z.B: für einen Ordner bestimmen, wer ihn lesen und wer lesen und schreiben darf. Dazu habe ich das Paket ACL gefunden bin mir nur unsicher wie ich die Befehle setfacl und getfacl einsetze. [...]
Versuch es mal hier: http://www.pl-berichte.de/t_system/ext2_acl.html Gruß Harald
Lachender Engel wrote:
Kann mir evntl. dazu jemand vormachen, wie ich den Befehl (ich denke, das ist setfacl) nutzen muss?!
Kurz und knacking: Man(n)/Frau kann mit dem Kommando "setfacl" prinzipiell normale ACLs und Default-ACLs setzen. Wenn Du Default-ACLs auf ein Verzeichnis setzt, werden alle neu (!!!) erzeugten Objekte unterhalb dieses Verzeichnisses diese ACLs übernehmen. (Zur Syntax komme ich später.) "Normale" ACLs beziehen sich immer nur auf das Objekt und werden nicht automatisch auf untergeordnete Strukturen vererbt. Beispiel: Ich habe ein Verzeichnis "pool", auf das nur die Admins und die Buchhaltung Vollzugriff haben soll. Die Poststelle hat hier nur Lesezugriff. Der entsprechende Befehl sieht folgendermassen aus: #setfacl -d -m g:buchhaltung:rwx,g:admins:rwx,g:poststelle:r-x pool Erläuterung: Option: -d = Setze Default-ACL für dieses Verzeichnis -m = "Modify" => Ändere die ACLs für dieses Objekt "g:buchhaltung:rwx" => Gebe der (G)ruppe Buchhaltung Lese-/Schreib- und Ausführ-(Auflistungs)rechte Mit dem Komma kannst Du gleich mehrere Gruppen individuelle Rechte geben ohne das Kommando immer wieder neu zu schreiben. Wenn Du einem User ein bestimmtes Recht geben willst, benutzt Du bspw.: setfacl -d -m u:hans:r-- Man beachte das "u" für "User" ! Wenn Du nur die Rechte für ein Verzeichnis setzen willst und nicht auf die zukünftig darunter erzeugten Objekte, lässt Du einfach die "-d"-Option weg, also "setfacl -m ...". Da ich primär unter BSD arbeite, kennt meine setfacl-Implementierung leider keine Rekursivität. Ich bin mir aber fast zu 99% sicher, dass das "setfacl" unter Linux mit einer "-R"-Option daherkommt (ich glaube, nicht POSIX-konform). Das ist superpraktisch, weil Du damit nachträglich eine bestimmte ACL auf ein Directory inkl. aller Unterobjekte setzen kannst. Das ist mit BSD etwas komplizierter. Wenn Du Fragen hast, schreie... Gruss Holger
Hallo, Am Mon, 12 Jan 2004, H.Wesser schrieb:
Wenn Du Fragen hast, schreie...
*kreisch* $ setfacl bash: setfacl: command not found Und nu? *SCNR* Und ist nicht ernstgemeint. Ich kenne den zitierten Artikel von Azundris in der c't :) -dnh -- A layman knows he has to kick it.; An amateur knows where to kick it.; A professional knows how hard.
participants (7)
-
Alexander Veit
-
Bernhard Walle
-
David Haller
-
H.Wesser
-
Harald_mail@t-online.de
-
Kristian Köhntopp
-
Lachender Engel