mk-maddin
Anmeldungsdatum: 7. April 2011
Beiträge: 7
|
Hey Ubunturianer, Ich habe folgendes Problem:
In einem Share namens [test] sollen alle User @test (Gruppe test) schreiben/lesen/umbennenn/löschen können (keine zugriffe vergeben) auch wenn User1 unter [test] einen neuen ordner erstellt soll User2 dort schreiben/lesen/umbennenn/löschen können. Problem1: Users @test dürfen neue ordner erstellen und umbennen und löschen, Dateien aber nur erstellen und hineinschreiben nicht löschen und umbenennen. Problem2: Erstellt jetzt User1 einen Unterordner hat User2 keinen zugriff mehr darauf. Was mache ich bei den Berechtigungen falsch?
Habe schon einiges gegoogelt und ausprobiert. Etwas funktionierendes habe ich nicht mehr gefunden.
Das ganze läuft natürlich auf Ubuntu Server ohne GUI also bitte keine Hilfe für GUI's. Im Anhang die Rechte für die betroffenen Verzeichnisse & Dateien.(Hätte ich gerne als <Codeblock - Rohtext> angehängt, IE sagt mir aber "Fehler auf der Seite → sch*** Microsoft)
Außerdem meine smb.conf datei. Vielen Dank schonmal
- smb.conf (2.2 KiB)
- Download smb.conf
- Rechte (646 Bytes)
- Download Rechte
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7964
|
Das muss man etwas differenziert sehen. Deshalb noch folgende Fragen:
Hast Du irgendwelche (zusätzlichen) Gruppen eingerichtet, zu denen die User test1 und test2 gehören? Oder hast Du die User zusätzlich zur Hauptgruppe des jeweils anderen Users hinzugefügt? Bei Deinen Vorgaben (Mode 0770) haben nämlich nur die Mitglieder der Hauptgruppe des jeweiligen Eigentümers Zugriffsrechte. Wenn test2 nicht zur Gruppe von test1 gehört, kann er bei dieser Einstellung nicht auf Dateien zugreifen, die test1 erstellt hat. Von was für Rechnern aus soll der Zugriff denn erfolgen? Linux- oder Windows-Systeme? Das ist nämlich auch nicht ganz gleichgültig. Ist es wichtig, dass Ordner und Dateien, die von einem bestimmten User (z.B. test2) übers Netz erstellt werden, nachher auf dem Server auch Eigentum dieses Users sind, oder kann man evtl. einen User festlegen, dem solche Dateien generell gehören sollen, und in dessen Namen dann auch andere (ausgewählte) User zugreifen können?
Je nach Sicherheitsbedürfnis gibt es für Dein Anliegen ganz verschiedene Lösungen. Gruß - Max-Ulrich
|
mk-maddin
(Themenstarter)
Anmeldungsdatum: 7. April 2011
Beiträge: 7
|
Hey Max-Ulrich Farber, zunächst vielen Dank für die schnelle Antwort.
Die User gehören alle zur Gruppe test.
Die genannten User gehören noch zu weiteren Gruppen als zur Gruppe Test.
Welche Gruppe Hauptgruppe ist weis ich nicht... wo bekomme ich das raus ?
Welchen Unterschied macht es ob der User nur in einer Gruppe ist oder diese Gruppe Hauptgruppe ist?...Kann ein User mehere Hauptgruppen haben?
Ich habe nämlich vor noch weitere Freigaben zu konfigurieren zu denen nur User die in bestimmmten Gruppen sind zugang haben und dann wäre es natürlich blöd wenn die User nur auf einer Freigabe lese schreib ausführ und löschrechte hätten^^
Den Mode bin ich durchaus bereit zu ändern ... was letztendlich mein Ziel ist habe ich ja bereits beschrieben.
Wenn möglich soll der Zugriff sowohl über Windows als auch Linux erfolgen... primär über Windows.
Wem die Dateien auf dem Server selbst gehören ist mir letztendlich gleich. Wichtig ist dass meine user in der Gruppe X die Rechte lesen; schreiben; ändern; löschen haben... nicht aber weitere Zugriffe vergeben können.
vielen dank nochmal mfg Maddin
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7964
|
Welche Gruppe Hauptgruppe ist weis ich nicht... wo bekomme ich das raus?
Standardmäßig ist in Ubuntu diejenige Gruppe, die den gleichen Namen hat wie der User, auch dessen Hauptgruppe. Welchen Unterschied macht es ob der User nur in einer Gruppe ist oder diese Gruppe Hauptgruppe ist?
Wenn ein User eine neue Datei (bzw. Ordner) anlegt, wird standardmäßig dort die Hauptgruppe des Users als Gruppe eingetragen. Für diese Gruppe gelten dann die Gruppen-Rechte. Man kann dies aber bei Bedarf ändern (s.u.). Kann ein User mehere Hauptgruppen haben?
Nein. Wenn möglich soll der Zugriff sowohl über Windows als auch Linux erfolgen... primär über Windows.
Mit den "cifs-UNIX-Extensions" kann man die Dateirechte zu 100% zwischen Server und Client synchronisieren. Das geht aber leider für Windows-Clients nicht, da muss man dann anders tricksen. Wenn ich Dein Ziel richtig verstanden habe, ist der beste Weg, Du legst auf dem Server für die betreffenden Freigaben jeweils eine eigene Gruppe fest. Für Freigaben mit gleichen Zugriffsrechten kannst Du natürlich dann die gleiche Gruppe nehmen. Dann machst Du über das sgid-Bit die Gruppe erblich, sodass diese sich auch auf neu angelegte Gruppen überträgt (dort also nicht die Hauptgruppe des Besitzers eingetragen wird). Den Mitgliedern dieser Gruppe räumst Du dann die Zugriffsrechte ein. Wenn Du noch zwischen Lese- und Schreibrechten unterscheiden möchtest, kannst Du dafür auch zwei verschiedene Gruppen einrichten. Beispiel: Die Freigabe sei /home/xxx/test1, die Lese-Gruppe sei test1-1 und die Schreib-Gruppe sei test1-2. Dann machst Du zuerst die Gruppe vererbbar:
sudo chgrp test1-2 /home/xxx/test1
sudo chmod 2775 /home/xxx/test1 Dann trägst Du bei der entsprechenden Freigabe folgendes in die smb.conf ein:
[test1]
path = /home/xxx/test1
valid users = @test1-1
write list = @test1-2
create mask = 0664
directory mask = 0775
force directory mode = 2000 Damit sich der Server für Windows- und Linux-Clients gleich verhält, trägst Du noch im Teil [global] der smb.conf folgende Zeile ein: unix extensions = no Falls ausschließlich über das Netzwerk zugegriffen werden soll, kannst Du es Dir sogar noch etwas einfacher machen. Du brauchst dann die Schreib-Gruppe gar nicht vererbbar zu machen, sondern Du kannst über die Dateirechte auf dem Server einfach jedermann alles erlauben:
sudo chmod 0777 /home/xxx/test1
Der Zugriff übers Netz ist ja schon durch valid users und write list reglementiert. In der smb.conf ist dann folgendes zu ändern:
path = /home/xxx/test1
valid users = @test1-1
write list = @test1-2
create mask = 0666
directory mask = 0777
# force directory mode = 2000
Aber: Für den direkten Zugriff auf dem Server oder für den Zugriff über andere Dienste außer Samba (z.B. SSH) gelten dann diese Einschränkungen nicht! Da darf dann jeder alles. Noch differenzierter lässt sich der Zugriff über ACL reglementieren. Aber ich glaube nicht, dass Du das brauchst. Gruß - Max-Ulrich
|
mk-maddin
(Themenstarter)
Anmeldungsdatum: 7. April 2011
Beiträge: 7
|
Hey Max-Ulrich Farber, zunächst vielen vielen dank für die ausführliche Antwort.
Ist ohne Probleme klar und versändlich.
Allerdings funktioniert das ganze bei mir nicht.
Ich habe immernoch genau das selbe problem wie bisher. Im Ahnhang nochmal ein screenshot von der Fehlermeldung. Trotzdem nochmal vielen vielen dank für die Bemühungen. mfg maddin
- Bilder
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7964
|
Beim Umbenennen und Löschen von Dateien bzw. Ordnern von Windows aus (nicht beim Anlegen und Bearbeiten) kann es noch ein weiteres Berechtigungs-Problem geben. Probier mal, ob es klappt, wenn Du in der smb.conf bei den betroffenen Freigaben noch die Zeile
acl check permissions = false
einträgst. Ich denke, das ist bei Dir kein Sicherheitsrisiko, weil ja über valid users bzw. write list der Zugriff generell eingeschränkt wird. Sollte das auch nichts bringen, müsste man versuchen herausfinden, wo es klemmt, auf dem Samba-Server oder dem Windows-Client. Zu diesem Zweck kannst Du mal die Freigaben auf dem Server selbst über "Orte → Netzwerk → Windows-Netzwerk" aufrufen und sehen, ob es da geht. Falls der Server keine GUI (GNOME) hat, musst Du statt dessen smbclient verwenden. Gruß - Max-Ulrich
|
mk-maddin
(Themenstarter)
Anmeldungsdatum: 7. April 2011
Beiträge: 7
|
Heyho Max-Ulrich, das mit dem acl check permissions = false habe ich probiert → leider ohne Erfolg :-
- smb.conf (2.5 KiB)
- Download smb.conf
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7964
|
Bzw. sind die evtl nur die Ubuntu User in den Gruppen, nicht aber die Samba User?
Normalerweise sollte Samba auch die Ubuntu-Gruppen erkennen. Daran sollte es demnach nicht liegen. Die Share [bilder] sieht eigentlich ganz normal aus. Wie sind denn die Eigentumsverhältnisse bei /bilder? Der Ordner sollte ebenfalls als Gruppe bilder eingetragen haben. Was bekommst Du mittels
für bilder? Falls die Eigentumsrechte nicht stimmen sollten, gib mal folgendes ein:
sudo chgrp bilder /bilder
sudo chmod 2775 /bilder Nebenbei: Wenn Du zwischen Benutzern mit Schreib- und Leserechten nicht unterscheidest, geht es auch einfacher: Du kannst danneinfach writable = yes schreiben und die write list weglassen. Und für die Dateirechte kannst Du an der letzten Stelle 0 setzen, oben also und in der smb.conf
[bilder]
path = /bilder
valid users = @bilder
writeable = yes
acl check permissions = false
create mask = 0660
directory mask = 0770
force directory mode = 2000 Wenn's dann vom Server aus übers Netzwerk direkt klappt, vom Windows-Client aus aber nicht, dann ist es wohl ein Windows-Problem (?). Dann wird die Gruppenzugehörigkeit beim Windows-Client nicht recht erkannt. Dann hilft wohl nur, die berechtigten Benutzer bei valid users einzeln aufzuzählen. Ich habe leider wenig Erfahrung mit Windows-Clients. Gruß - Max-Ulrich EDIT: Falls niemand außer Dir selbst direkten Zutritt zum Server hat, und nicht zwischen Schreib- und Leserechten unterschieden werden muss, geht es auch so:
[bilder]
path = /bilder
valid users = @bilder
writeable = yes
acl check permissions = false
create mask = 0666
directory mask = 0777
Dann sind die Eigentumsrechte so gut wie egal, es kommt nur darauf an, dass jeder alles darf, und dass der Zugriff über Samba mittels valid users geregelt ist.
|
mk-maddin
(Themenstarter)
Anmeldungsdatum: 7. April 2011
Beiträge: 7
|
Hey Max-Ulrich, vielen Dank nochmal für die Erleuterung.
Ich habe alle drei möglichkeiten ausprobiert. Bei Möglichkeiten 1 chmod 2775 & 2 chmod 2770
hatte ich weder auf orte/netzwerk/.../bilder noch auf dem Client über die freigabe änder und löschrechte für dateien (siehe Serverfehlermeldung im Anhang). Bei möglichkeit 3 chmod 0777konnte ich alles... allerdings ist mir das ganz ehrlich zu unsicher und ich würde eine andere Lösung bevorzugen. Habe hier mal die Ordner und Dateiberechtigungen aufgelistet:
maddin@smb-srv:/$ ls -l
insgesamt 88
drwxrwx--- 2 maddin bilder 4096 2011-04-12 20:18 bilder
...
...
...
lrwxrwxrwx 1 root root 34 2011-03-29 12:45 vmlinuz -> boot/vmlinuz-2.6.35-22-generic-pae
maddin@smb-srv:/$ cd bilder
maddin@smb-srv:/bilder$ dir
Neu\ Textdokument.txt
maddin@smb-srv:/bilder$ ls -l
insgesamt 0
-rw-rw-r-- 1 juergen juergen 0 2011-04-12 20:38 Neu Textdokument.txt
maddin@smb-srv:/bilder$ ls -l
insgesamt 4
-rw-rw-r-- 1 juergen juergen 0 2011-04-12 20:38 Neu Textdokument.txt
drwxrwsr-x 2 juergen juergen 4096 2011-04-12 20:39 test
maddin@smb-srv:/bilder$ cd test
maddin@smb-srv:/bilder/test$ dir
test.txt
maddin@smb-srv:/bilder/test$ ls -l
insgesamt 0
-rw-rw-r-- 1 juergen juergen 0 2011-04-12 20:40 test.txt
maddin@smb-srv:/bilder/test$
interessant ist, dass der User juergen die datei in /bilder/Neu\ Textdokument.txt nicht ändern kann, während die Datei /bilder/test/test.txt ohne Probleme geändert und umbenannt werden kann, obwohl für beide Dateien die selben Rechte bestehen.
für den Ordner hat juergen zwar alle benötigten Rechte, die user der Gruppe bilder können diesen ordner allerdings nur lesen und nicht schreiben.
Ich habe immernoch die Vermutung das Irgendwas mit dem Gruppen nicht so richtig stimmt. mfg vielen Dank für die Hilfe maddin
- Bilder
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7964
|
Deine Angaben, wer schreiben bzw. lesen kann, stimmen ganz genau mit der Ausgabe von ls -l überein. Es funktioniert also alles, wie es soll. Nur stimmen leider die Einstellungen noch nicht. Ich habe immernoch die Vermutung das Irgendwas mit dem Gruppen nicht so richtig stimmt.
Genau so ist es. Wenn Dir der Modus 0777 nicht sicher genug ist, dann muss dafür gesorgt werden, dass bei allen Dateien die Gruppe bilder eingetragen ist. Dort steht aber immer die Gruppe juergen. Zunächst musst Du deshalb bei allen bereits vorhandenen Dateien die Gruppe anpassen. Das machst Du mit
sudo chgrp -R bilder /bilder
Dann musst Du dafür sorgen, dass auch bei allen neu angelegten Dateien immer die Gruppe bilder eingetragen wird. Das machst Du, indem Du im Ordner /bilder die Gruppe mittels sgid-Bit (Ziffer 2) vererbbar machst:
Weil die Gruppe evtl. auch noch an weitere Generationen vererbt werden soll, muss auch bei neu angelegten Ordnern wieder das sgid-Bit gesetzt werden. Das geschieht mit der Zeile
force directory mode 2000
in der smb.conf. Dass die Dateien test.txt und Neu Textdokument.txt nicht gleich behandelt werden, kann vom Leerzeichen im Namen kommen. In Samba kann man Leerzeichen nicht mit einem Backslash (\) "escapen", weil dieser in Windows anders verwendet wird. Man muss dem Namen dann in (doppelte) Anführungszeichen setzen. Besser ist, man vermeidet Leer- und Sonderzeichen in Freigaben-Namen. Ich bin gespannt, ob jetzt alles klappt! Gruß - Max-Ulrich
|
mk-maddin
(Themenstarter)
Anmeldungsdatum: 7. April 2011
Beiträge: 7
|
Hey vielen Dank für die wahnsinnig schnelle Antwort, werde sehn wann ich zeit finde das ganze auszuprobieren. Dass die Dateien test.txt und Neu Textdokument.txt nicht gleich behandelt werden, kann vom Leerzeichen im Namen kommen.
Das Problem dabei ist, dass alle Datein und Ordner die unter Windows neu erstellt werden "Neu Textdokument.txt" bzw. "Neuer Ordner" oder "Neue Verknüpfung" etc. heißen und ich diese derzeit in meiner Freigabe nicht ändern kann, obwohl ja der User selbst diese Datei erstellt hat hat er keine berechtigung sie zu ändern. mfg maddin
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7964
|
Das ist ganz bestimmt kein unüberwindbares Hindernis. Ich habe selbst nur leider keine Erfahrung mit "exotischen" Freigabe-Namen. Ich weiß, dass in Samba die Länge für Server-Namen auf maximal 15 Zeichen begrenzt ist, aber ob das für die Freigabe-Namen auch so ist, weiß ich im Moment nicht. Das könnte evtl. auch sein. Könntest Du bitte mal die Einträge für die betreffenden Freigaben aus smb.conf posten? Am besten als Codeblock (3. Symbol von rechts). Wie verwaltest Du denn den Server? Hast Du direkten Zugriff, oder verwaltest Du ihn remote, z.B. mittels SSH? Läuft auf dem Server eine nackte Server-Version von Ubuntu, oder hat der Server eine GUI (GNOME)? Bestimmt hast Du auf dem Server auch Zugriff auf die Logfiles /var/log/samba/log.<Client>, in denen für jeden Client ("<Client>" kann den Namen oder die IP des Client bedeuten, je nach Art des Zugriffs) die Zugriffsversuche protokolliert werden. Diese helfen oft weiter, wenn man den Fehler so nicht findet. Gruß - Max-Ulrich
|
mk-maddin
(Themenstarter)
Anmeldungsdatum: 7. April 2011
Beiträge: 7
|
Hey Max-Ulrich, entschuldige die lange Antwortzeit, war viel los die letze Woche und somit wenig zeit für meinen Samba-Server. ☹ Zugriff habe ich auf den Server direkt. GNOME läuft zwar auch drauf, benutze ich aber eigtl so gut wie gar nicht... immer nur im terminal So jetzt nochmal von Vorne. Meine smb.conf - Freigabe:
[bilder]
comment = bilder
path = /bilder
admin users = maddin
valid users = @bilder
write list = @bilder
acl check permissions = false
create mask = 0770
directory mask = 2770
force directory mode = 2770
force create mode = 0770 Eigenschaften des Ordners /bilder
(Hier kann jeder User Ordner erstellen und diese auch wieder umbenennen/löschen; Dateien erstellen diese aber nicht umbennen/löschen[bis auf den Admin]):
root@smb-srv:/# ls -l
insgesamt 88
drwxrws--- 3 maddin bilder 4096 2011-04-16 15:31 bilder
... Eigenschaften der Ordner/Dateien in /bilder (gut zu sehen, NUR DER ADMIN KANN DATEIEN UMBENNEN/LÖSCHEN, selbst wenn der User der Besitzer ist; Ordner können von allen Umbenannt werden; Texte ect. können allerdings von jedem User in jede Datei geschrieben werden):
root@smb-srv:/bilder# ls -l
insgesamt 16
-rwxrwx--- 1 stephanie bilder 0 2011-04-16 15:31 blabla.txt
drwxrws--- 2 root bilder 4096 2011-04-16 15:29 Maddin
-rwxrwx--- 1 root bilder 17 2011-04-16 15:21 Maddin.txt
-rwxrwx--- 1 stephanie bilder 0 2011-04-16 15:31 Neu Textdokument (2).txt
-rwxrwx--- 1 susanne bilder 4 2011-04-16 15:31 Neu Textdokument.txt
drwxrws--- 2 stephanie bilder 4096 2011-04-16 15:39 Stephanie Inhalte der beiden Ordner /bilder/Maddin & /bilder/Stephanie ... genau die selbe Situation wie im ordner /bilder:
root@smb-srv:/bilder/Maddin# ls -l
insgesamt 4
-rwxrwx--- 1 root bilder 22 2011-04-16 15:31 Maddin.txt
-rwxrwx--- 1 susanne bilder 0 2011-04-16 15:29 Neu Textdokument.txt root@smb-srv:/bilder/Stephanie# ls -l
insgesamt 4
-rwxrwx--- 1 stephanie bilder 11 2011-04-16 15:39 Stephanie.txt Was mich wundert ist, dass eigentlich laut der Anzeige alle Dateirechte richtig vergeben werden oder ?
Und in Dateien reinschreiben funktioniert ja ... nur irgendwie Umbennenn nicht... Im Anhang noch die log.* - files des Testrechners(komischerweise gibt es 2 logfiles einmal mit name einmal mit ip...ist aber der selbe Rechner [ich habe zwar noch mehr testrechner aber das ist das Hauptgerät])
Ich kann mit den logfiles überhaupt nichts anfangen ... es ist mir unverständlich was man da rauslesen soll ^^ hoffe die Angaben bringen irgendwie aufschluss...
kann mir wirklich nicht mehr im geringsten erklären woran es noch liegen könnte. mfg thx thx thx thx thx für die geduldige Hilfe maddin
- log.192.168.178.42 (3.2 KiB)
- Download log.192.168.178.42
- log.black-xp (19.0 KiB)
- Download log.black-xp
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7964
|
GNOME läuft zwar auch drauf, benutze ich aber eigtl so gut wie gar nicht... immer nur im terminal
Dann bist Du professioneller als ich. Ich habe nichts dagegen, mir das Leben mit einer GUI bequemer zu machen, wo es geht, Es bleibt noch genug fürs Terminal übrig... Das von Dir beschriebene Verhalten (Erstellen und Bearbeiten von Dateien ist möglich, aber nicht Löschen und Umbenennen) tritt typischerweise bei Windows-Clients auf. Es sollte eigentlich durch die Option acl check permissions = false vermieden werden. Was mich irritiert, ist dass das Problem anscheinend auch auftritt, wenn Du auf dem (Linux-)Server selbst über "Orte → Netzwerk → ..." zugreifst. Denn da ist ja kein Windows mit im Spiel. Die vergebenen Zugriffsrechte sind ok; lediglich das Execute-Bit sollte bei Dateien nicht generell vergeben werden (bei Ordnern schon), also bei Dateien lieber mode 0660 statt 0770. Aber das ist nicht die Ursache des Problems. Und dann ist bei create mask und force create mode usw. manches "doppelt gemoppelt".
path = /bilder
Das ist ja ein bisschen ungewöhnlich. Direkt im Root-Verzeichnis liegen sonst - außer /home - nur Systemordner. Aber ich kann mir schlecht vorstellen, dass dies etwas ausmachen sollte.
Ich kann mit den logfiles überhaupt nichts anfangen ... es ist mir unverständlich was man da rauslesen soll ^^
Die sind ja uralt (29.03.2011). Die neueren Lösch- oder Umbenenn-Versuche sind da gar nicht drin. Man braucht eine Logfile für die aktuelle Verbindung, bei der etwas nicht geklappt hat. Dort ist dann aufgeführt, warum Samba dem Ansinnen nicht stattgegeben hat. Interessant sind also nur die aktuellen Einträge mit dem neuesten Datum und Uhrzeit. Gruß - Max-Ulrich
|