smb.conf konfigurieren

Mola-4-Speed

New Member
smb.conf:

[BILDER]
path = /home/BILDER
admin user = lehrer
valid users = @student
force group = student
create mode = 0777
writable = yes
browsable = yes

/BILDER/ Jeder Schüler hat hier einen Ordner mit seinen Bildern.

drwxr--r-- schueler1 student 4096 2007-08-21 02:09 SCHUELER1
drwxr--r-- schueler2 student 4096 2007-08-21 02:09 SCHUELER2
drwxr--r-- schueler3 student 4096 2007-08-21 02:09 SCHUELER3
drwxr--r-- schueler4 student 4096 2007-08-21 02:09 SCHUELER4
drwxr--r-- schueler5 student 4096 2007-08-21 02:09 SCHUELER5

Wunsch:
  • Jeder Schüler soll die Möglichkeit haben seine eigenen Bilder zu löschen und hinzuzufügen
  • Jeder Schüler soll die Möglichkeit haben die Bilder der anderen anzusehen aber nicht zu ändern(löschen, hinzufügen)

Problem:
Mein Problem ist, wenn ich als Lehrer Bilder in einen der Ordner eines Schülers stelle hat der Besitzer des Ordners(der Schüler) nicht die Rechte diese zu löschen und zu verändern.

Rechte der Bilder die von mir(Lehrer) in die Ordner gestellt werden:
-rwxrw-rw- 1 lehrer student 2477892 2008-01-03 22:31 IMG_2818.JPG


Wie kann ich die smb.conf Datei so konfigurieren, oder was kann ich machen um meinen Wunsch zu erfüllen?
 
Last edited by a moderator:
Sofern Deine Beschreibung hier wirklich den Tatsachen entspricht ist das etwas unerklärlich. Sollte so funktionieren.

Bist Du wirklich sicher, dass die Rechte des zum testen verwendeten Verzeichnisses sowie des Files so sind, wie Du hier beschrieben hast?

Nachtrag: Habe die Situation soeben nachgestellt, bei mir funktioniert das problemlos.
 
Das Problem ist, dass wenn ich(Lehrer) eine Datei in SCHUELER1 stelle dann gehört die Datei dem Benutzer lehrer und der Gruppe student.

Bei mir bekomme ich es nicht hin, dass wirklich nur(nicht auch schueler2 etc) schueler1 diese Datei löschen kann. Im Prinzip möchte ich dass Dateien, die sich in SCHUELER1 befinden folgendermaßen aussehen bzw zugreifbar sind:

-rwxr--r-- 1 schueler1 student ... ... IMG_2818.JPG

so kann nur schueler1 diese Datei verändern.

Da lehrer aber diese Datei in den Ordner gestellt hat wird die dem Benutzer lehrer gehören und da ginge die obige Rechtevergabe nicht mehr.
 
Du klammerst Dich an die Berechtigungen der Datei - in Wirklichkeit interessiert Dich jedoch die Berechtigung des Verzeichnisses.

Ich stelle außerdem gerade fest, dass Deine Verzeichnisrechte nichteinmal ausreichend sind, um den anderen Schülern die Dateien lesend zur Verfügung zu stellen. Du hast geschrieben, die Verzeichnisse würden so aussehen:

drwxr--r-- schueler1 student 4096 2007-08-21 02:09 SCHUELER1
drwxr--r-- schueler2 student 4096 2007-08-21 02:09 SCHUELER2
drwxr--r-- schueler3 student 4096 2007-08-21 02:09 SCHUELER3
drwxr--r-- schueler4 student 4096 2007-08-21 02:09 SCHUELER4
drwxr--r-- schueler5 student 4096 2007-08-21 02:09 SCHUELER5

In diesem Fall kann im Ordner SCHUELER1 nur der benutzer schueler1 den Inhalt anzeigen, da für das Listen der Dateien ein Execute erforderlich ist. Konkret: schueler2 wird wenn er im Explorer das Verzeichnis SCHUELER1 anklickt gar nichts sehen. Meines Erachtens müsste die korrekte Berechtigung für die Ordner 750 lauten (Owner alles, Gruppe student Lesen+Ausführen, Andere gar nichts).

Wenn Du nun im Verzeichnis SCHUELER1 eine Datei erstellst (so ist dies nur möglich weil Du Dich in der smb.conf zum admin-user gemacht hast) und diese sieht (wie Du richtig geschrieben hast) so aus:

-rwxrw-rw- 1 lehrer student 2477892 2008-01-03 22:31 IMG_2818.JPG

Passt - Aufgrund der Berechtigungen des Verzeichnis SCHUELER1 kann nur SCHUELER1 die Datei löschen (Gruppe student hat im VERZEICHNIS kein write-Recht). Das Modifizieren der Datei durch schueler2 wäre zwar denkbar, allerdings unwahrscheinlich (hängt von der Software ab die er benutzt - wenn die Software die Datei modifiziert indem sie die Datei entfernt und neu anlegt erhält er ein "denied" - probier es mit der verwendeten Software einfach mal aus, die Chance, dass die Software die Datei beim Bearbeiten völlig neu schreibt, also löschen und neu anlegen möchte ist hoch. Dann wäre das Verhalten genau so wie Du es wünscht).

alternativ dazu fällt mir nur die Nutzung von ACLs ein oder Scripts, welche die Berechtigungen periodisch nach Deinen Wünschen modifizieren.
 
Das ist nicht so schwer zu lösen.

Code:
[BILDER]
path = /home/BILDER
valid users = @STUDENTS
create mask = 0665
directory mask = 0775
writable = yes
browsable = yes

Die Zugriffsrechte sollten so aussehen.

/home/BILDER -> u:rwx,LEHRER g:rwxs,LEHRER o:rx
/home/BILDER/SCHUELER1 -> u:rwxs,SCHUELER1 g:rwxs,LEHRER o:rx
(u=user, g=group, o=others, s=sticky bit)

Warum das ganze.
Mit dem Sticky-Bit erhält eine neue Datei/Verzeichnis die USER/GRUPPE des übergeordneten Verzeichnisses und nicht USER/PRIMARY_GROUP der Users, der die Dateien anlegt.

Das Gruppenrecht LEHRER erlaubt Dir dann, alle Dateien in den Verzeichnissen zu bearbeiten oder neue hinzuzufügen. Die Leserechte für alle anderen SCHUELER werden über die Rechte für others geregelt.

Über "valid users" erhalten nur STUDENTS Zugriff auf die Ressource.
 
Das funktioniert nicht. Hab ich was falsch gemacht

/home/BILDER -> Rechte: drwxrwxr-x
Benutzer: LEHRER
LEHRER sollen die Dateien verändern können (Ein kleines Problem(Es geht zwar aber ich weiß nicht was es bewirkt): Es gibt z.B. die Lehrer lehrer1 und lehrer2 die sind Mitglieder der Gruppe LEHRER. Kann ich hier als Benutzer eine Gruppe, sprich LEHRER als Benutzer angeben?)
Gruppe: LEHRER
LEHRER sollen die Dateien verändern können.​
Others: r-x
hat die Rechte die Dateien anzusehen.​

/home/BILDER/SCHUELER1 -> Rechte: drwsrwsr-x
Benutzer: schueler1
Besitzer soll die Dateien verändern können​
Gruppe: LEHRER
Lehrer soll die Dateien verändern können​
Others:
Others soll die Dateien ansehen können​

Ich gehe ich zu START - AUSFÜHREN und gebe \\192.168.1.1 lehrer1 ein
Ich kopiere ein Bild(BLUME) von meinem PC in den Ordner SCHUELER1

BLUME
Rechte: -rw-rw-r--
Benutzer = root

Ordner SCHUELER1(Benutzer = schueler1)
Datei .../SCHUELER1/BLUME(Benutzer = root)

Das verstehe ich nicht. Laut deiner Aussage, wenn ich die richtig verstanden habe, sollte die Datei BLUME jetzt als Benutzer den selben Benutzer des Ordners SCHUELER1 haben.

Ordner SCHUELER1(Benutzer = schueler1)
Datei .../SCHUELER1/BLUME(Benutzer = schueler1)

Warum geht das nicht? :-)
 
Last edited by a moderator:
Back
Top