Erweiterte Einstellungen / Samba Rechte <=> acl's?

german

#1

UCS Version 3.2-2 errata117 (Borgfeld)
UMC Version 6.0.24-3.776.201402041249

Ich versuche Lese- und Schreibrechte für die User unserer Schulverwaltung zu vergeben. Ich wollte dafür erweiterte Einstellungen / Sambarechte verwenden. Wenn ich in das im Handbuch beschriebe Feld
“Schreibberechtigung auf diese Benutzer/Gruppen beschränken” einen Benutzer eintrug, sollte das Verzeichnis angeblich nur für den eingetragenen Nutzer schreibbar sein. Das funktionierte aber nicht.
Liege ich richtig mit der Annnahme, das diese erweiterten Samba Einstellungen die erweiterten Dateirechte (acl’s) nutzen? Auf jeden Fall waren bei den betroffen Freigabeordnern keine acl’s aktiviert.
Erst mit dem setzen der acl’s über setacl funktioniert die Rechtevergabe richtig.


Probleme mit Freigaben und ACL
Freigabe für eine Gruppe in einer WindowsDomäne klappt nicht
#2

Hallo,

tatsächlich werden wir dieses Textfeld in der Dokumentation korrigieren ([bug]35114[/bug]). Verwendet wird hier die Samba-Option “write list”:

This is a list of users that are given read-write access to a service. If the connecting user is in this list then they will be given write access, no matter what the read only option is set to. The list can include group names using the @group syntax.

Das bedeutet, dass hiermit nicht exklusiv eingeschränkt, sondern eher erweitert werden kann. Wenn z.B. samba-seitig ein Share readonly gesetzt wird, dann kann mit dieser Option für einen Benutzer eine Ausnahme erteilt werden.

[quote=“HRehberg”]
Liege ich richtig mit der Annnahme, das diese erweiterten Samba Einstellungen die erweiterten Dateirechte (acl’s) nutzen?[/quote]

Tatsächlich werden hier größtenteils per Listenermodul Samba-Optionen an der Freigabe-Konfiguration (/etc/samba/shares.conf.d/*) gesetzt.

Mit freundlichen Grüßen,
Tim Petersen


#3

Das mit der Ausnahme auf eine RO-Share (write_list) habe ich versucht. Ich kann einen Benutzer oder eine Gruppe eintragen, trotzdem kann keiner schreiben. Wie sieht es denn dann mit der read_list in einer RW-Share aus? Die taucht im übrigen nicht UCS Interface auf.

Ich habe differenzierte Benutzerrechte-Situation wie in folgemdem Beispiel:

[color=#8040FF]Benutzer: buchhalter , azubi , chef, mitarbeiter
gruppen: verwaltung mit den Mitglidern buchhalter, azubi und chef

Freigaben:
buchhaltung : buchhalter und chef dürfen lesen und schreiben, azubi darf lesen, mitarbeiter darf nicht auf die Freigabe zugreifen

verteiler: gruppe verwaltung darf lesen und schreiben , mitarbeiter darf nicht auf die Freigabe zugreifen

info: gruppe verwaltung darf lesen und schreiben, alle anderen lesen[/color]

Kann ich dann so etwas nur mit ACL’s realisieren ?


#4

Das ist natürlich möglich, spezielle ACLs sind hier allerdings nur für den “buchhaltung”-Share notwendig. Die Shares können generell mit standard Optionen angelegt werden, lediglich die “Besitzer” und “Dateiberechtigungen” Optionen müssen angepasst werden:

Share “buchhaltung” anlegen:
Besitzer und Besitzergruppe “root”
Dateiberechtigungen:

  • Besitzer: “Lesen, Schreiben, Zugriff”

ACLs entsprechend Ihrer Anforderungen: setfacl -m u:buchhalter:rwx /share/buchhaltung setfacl -m u:chef:rwx /share/buchhaltung setfacl -m u:azubi:rx /share/buchhaltung

Share “verteiler” anlegen:
Besitzer: “root”
Besitzergruppe: “verwaltung”
Dateiberechtigungen:

  • Besitzer: “Lesen, Schreiben, Zugriff”
  • Gruppe: “Lesen, Schreiben, Zugriff”

Hier sind keine weiteren ACLs notwendig.

Share “info” anlegen:
Besitzer: “root”
Besitzergruppe: “verwaltung”
Dateiberechtigungen:

  • Besitzer: “Lesen, Schreiben, Zugriff”
  • Gruppe: “Lesen, Schreiben, Zugriff”
  • Andere: “Lesen, Zugriff”

Hier sind keine weiteren ACLs notwendig.

Ich hoffe das hilft weiter.

Mit freundlichen Grüßen
Janis Meybohm


#5

Hallo zusammen,

dazu habe ich nun allerdings auch noch ein paar Fragen.
Wir sind gerade dabei von Zentyal auf UCS umzusteigen und gerade bei den Freigaben bin ich doch nun fast ein bisschen schockiert, was man da alles NICHT einstellen kann.
Unter Zentyal kann man für Freigaben genaue ACLs zusammenklicken, wer welche Rechte hat, außerdem wurden diese Rechte dann auch gleich auf alle Dateien übertragen, die eventuell schon in dem Ordner, der freigegeben werden soll vorhanden sind.
Nun wollte ich das ganze unter UCS nachbauen, und komme einfach nicht weiter …
Ich möchte eine Freigabe z.B. für eine Gruppe “GL” erzeugen, jedoch sollen natürlich Dateien und Ordner, die darin abgelegt werden auch der Gruppe “GL” gehören, bzw. diese Gruppe soll weiterhin alle Rechte für alle Ordner und Dateien haben.
Ich erstelle also die Freigabe für Benutzer “root” und Gruppe “GL”, lege dort über Ubuntu und/oder Windows eine Datei oder einen Ordner ab und dieses Objekt hat danach die Rechte meines Benutzers und der Gruppe “Domain Users”, die Gruppe “GL” taucht dort nirgends auf und Benutzer der Gruppe “GL” können an den Objekten auch nichts ändern, weil diese nur Lesezugriff haben …

Es wäre super, wenn:

  1. hier beim UCS 4 einiges verbessert wird
  2. mir jemand helfen könnte, wie ich denn nun mit UCS 3.2 solche Dinge abbilden kann.

Vielen Dank vorab und
mfG, Christian Frey.


#6

hat zu dieser Frage denn wirklich niemand eine Antwort?
Kann doch nicht sein, dass niemand Dateifreigaben auf einem UCS nutzt :slight_smile:


#7

Hallo,

Sieht so aus als würden die meisten entweder den Windows-Explorer oder setfacl auf der Kommandozeile verwenden.
Für UCS 4 scheint es zunächst keine Änderung zu geben, [bug]23892[/bug] ist nicht auf der Liste.

Viele Grüße,
Dirk Ahrnke


#8

Hallo,

Dazu wüsste ich aber gerne, wie das funktionieren soll.
Wenn ich eine Freigabe anlege, dann kann ich im Windows-Explorer ja erst die Rechte der Objekte darin verändern, aber nicht die Rechte der Freigabe ansich.
Wie schon in meinem Post vom 28. Oktober besteht weiterhin die Frage, wie kann ich mein dort beschriebenes Problem erreichen, denn auch mit setfacl komme ich da nicht wirklich weiter :-(, bzw. ich weiß nicht genau wie …

Ohje, das ist ja eine gar nicht gute Nachricht … also gerade bzgl. ACL sollte Univention mal ganz stark Richtung Zentyal schauen, die haben das wirklich richtig toll umgesetzt und es funktioniert auch.

Viele Grüße,
Christian Frey.


#9

Danke für den Hinweis. Für uns ist es wichtig zu erfahren, wo wir Verbesserungspotential haben. Ich werde den Punkt mit in die nächste Roadmap Diskussion bringen.

Viele Grüße aus Bremen


#10

Hallo,

[quote=“onex”]Ich möchte eine Freigabe z.B. für eine Gruppe “GL” erzeugen, jedoch sollen natürlich Dateien und Ordner, die darin abgelegt werden auch der Gruppe “GL” gehören, bzw. diese Gruppe soll weiterhin alle Rechte für alle Ordner und Dateien haben.
Ich erstelle also die Freigabe für Benutzer “root” und Gruppe “GL”, lege dort über Ubuntu und/oder Windows eine Datei oder einen Ordner ab und dieses Objekt hat danach die Rechte meines Benutzers und der Gruppe “Domain Users”, die Gruppe “GL” taucht dort nirgends auf und Benutzer der Gruppe “GL” können an den Objekten auch nichts ändern, weil diese nur Lesezugriff haben …[/quote]

ich würde die Freigabe dazu mit “Setgid” Option erstellen, das sorgt dafür dass neue Dateien und Verzeichnisse nicht mit der primären Gruppe des erstellenden Benutzers sondern mit “GL” angelegt werden. Um dann noch weitere Berechtigungen vorzugeben, können Sie eine default-ACL erstellen, z.b. “setfacl -m d:g::rwx /share/path”. Alternativ könnten Sie Datei- und Verzeichnismodus auch über “Erweiterte Samba-Rechte” erzwingen, das würde dann aber nur gelten wenn auch tatsächlich über Samba zugegriffen wird.

Mit freundlichen Grüßen
Janis Meybohm


#11

Hallo,

Sehr gut, dass hier ist doch mal eine wirklich gute Aussage, die mir auch gleich weitergeholfen hat …
Steht so etwas eigentlich auch in der Doku und ich habe es einfach nur übersehen?
Wenn nicht wäre das noch eine gute Ergänzung ein oder zwei Beispiele für Freigaben mit diversen ACL-Vorgaben anzuführen.

Vielen Dank.

MfG, Christian Frey.


#12

Hallo,

schön das ich helfen konnte.

[quote=“onex”]Steht so etwas eigentlich auch in der Doku und ich habe es einfach nur übersehen?[/quote]konkrete Beispiele enthält die Dokumentation nicht (dass ist aufgrund der stark unterschiedlichen Anforderungen immer schwierig), allerdings ist im Kapitel Zugriffsrechte auf Daten in Freigaben “setgid” beschrieben. Der dort verlinkte SDB-Artikel Wie können Datei-ACLs in UCS konfiguriert werden enthält eine Einführung in ACLs.

Mit freundlichen Grüßen
Janis Meybohm


#13

Hallo,
leider führt der verlinkte SDB-Artikel nicht mehr zum Ziel.
Wie lautet denn der korrekte neue Link?
Viele Grüße,
Jörn Lentes


#14

Guten Morgen jolentes,

hier ist die Inhalt des SDB Artikel:

Wie können Datei-ACLs in UCS konfiguriert werden

In UCS unterstützen die Dateisysteme XFS, EXT3 und EXT4 POSIX-ACLs. Die Grundberechtigungen für Verzeichnisse und Dateien für den Besitzer, die Besitzergruppe und für alle anderen werden auch als minimale POSIX-ACLs bezeichnet. Darüber hinaus können auch Berechtigungen für weitere Benutzer oder Gruppen existieren. Eine ACL, in der es außer den Grundberechtigungen weitere Berechtigungseinträge gibt, nennt man erweiterte POSIX-ACLs. Sind erweiterte POSIX-ACLs für Verzeichnisse und Dateien gesetzt, ist dies daran zu erkennen dass der Kommandozeilenbefehl ls -al ein “+” hinter den Berechtigungen anzeigt:

# drwxr-xr-x+ 7 root root 4096  3. Mär 16:30 /home/

Auf der Kommandozeile stehen zur Verwaltung von ACLs zwei Dienstprogramme zur Verfügung; setfacl und getfacl. Ersteres erstellt und ändert POSIX-ACLs, letzteres listet die gesetzten POSIX-ACLs für Verzeichnisse oder Dateien auf.

Default-ACLs können nur auf Verzeichnisse angewendet werden, sie definieren welche ACLs automatisch auf neu angelegte Unterverzeichnisse oder Dateien gesetzt werden.

Eine ausführliche Dokumentation zu den entsprechenden Kommandozeilenbefehlen sind in den Manpages zu finden.

Beispiel für setfacl

-Syntax: setfacl [Optionen] [:<Benutzer/Gruppe>:] [Datei…/Verzeichnis…]

  • Beschreibung: Dieses Kommando dient dazu, Access und Default ACLs von Dateien und Verzeichnissen zu erstellen und zu verändern.
    -Beispiel:
     setfacl -m user:foo:rwx mydir
    
  • Erklärung: Der Benutzer “foo” bekommt Lese-, Schreib- und Ausführrechte für das Verzeichnis “mydir”

Beispiel für getfacl
-Syntax: getfacl [Optionen] [Datei…/Verzeichnis…]

  • Beschreibung: Das Kommando “getfacl” dient dazu, Access und Default ACLs von Dateien und Verzeichnissen anzeigen zu lassen.
    -Beispiel:
    getfacl -d myfile.txt
    
  • Erklärung: Nur die Default ACLs für die Datei myfile.txt werden angezeigt

Unter KDE besteht außerdem die Möglichkeit einer grafischen Veränderung der ACLs. Mit Hilfe von Konqueror, dem Datei- und Web-Browser aus KDE 3 und mit Dolphin, dem Dateimanager aus KDE 4, ist es möglich die entsprechenden Verzeichnisse oder Dateien die über erweiterte POSIX-ACLs verfügen unter “Eigenschaften” -> “Berechtigungen” -> “Erweiterte Berechtigungen” zu bearbeiten.

Auch von Windows-Clients, die in die UCS-Domäne gejoint wurden, können ACLs verändert werden. Die Anpassung der ACLs wird mit Hilfe von Samba realisiert.

An den Windows-Clients werden Berechtigungen(ACLs) auf den entsprechenden Verzeichnissen und Dateien über den Eigenschaften-Dialog im Windows-Explorer eingestellt. Dabei wird eine Datei oder ein Verzeichnis markiert und mit rechter Maustaste der Eigenschaften-Dialog => Sicherheit, aufgerufen. Hier können jetzt die ACLs eingestellt werden.

Grüß

Anna Takang