triebtaeter
Anmeldungsdatum: 22. August 2006
Beiträge: Zähle...
Wohnort: München
|
Hi zusammen! Ich hätte mal eine grundsätzliche Frage zum Vorgehen bei der Freigabe einiger Ordner. Das Szenario ist folgendes: Dualboot Laptop mit Windows 7 x64 und Linux Mint 17 x64 auf einer SSD mit mehreren Partitionen (eine NTFS für Win7, 3 für Linux [root, home, swap]).
Je nach Bedarf wird das eine oder das andere mittels GRUB gebootet. An dem Laptop hängt per eSATA eine 1 TB externe Platte [NTFS] mit einigen Ordnern, 3 davon sind freigegeben:
einer für's Handy zur Sicherung, einer für die beiden Mediaplayer im Haus zum Filme abspielen, und einer als Heimnetzwerk-Ordner mit der Freundin (Windows 7). Wenn ich Windows gebootet habe, funktioniert natürlich alles einwandfrei, die Frage ist nun, wie stelle ich die Freigaben sicher, wenn Linux läuft? Die beiden Mediaplayer und das Tool zur Sicherung des Handy's können mit Samba umgehen, soviel weiß ich. Ich gehe davon aus, die "Heimnetzwerk"-Funktion von Win7 kann ich dann knicken, ich gebe halt einfach so einen Ordner per Samba frei. Ist das ein sinnvolles Vorgehen oder hab ich irgendwo nen Denkfehler drin? Vielen Dank für Eure Mühe!
|
XM-Franz
Supporter
Anmeldungsdatum: 15. Juni 2010
Beiträge: 3439
Wohnort: Moers
|
|
triebtaeter
(Themenstarter)
Anmeldungsdatum: 22. August 2006
Beiträge: 101
Wohnort: München
|
Jawohl, werd ich machen, danke!
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 8010
|
Ist das ein sinnvolles Vorgehen oder hab ich irgendwo nen Denkfehler drin?
Im Prinzip ist das schon richtig. Allerdings eignen sich die Standard-Einstellungen beim Einbinden von NTFS-Partitionen nicht unbedingt für die Freigabe der Partitionen per Samba. Falls die Dateirechte nicht passen, gibt es zwei Möglichkeiten:
Du bindest die Partitionen per Eintrag in /etc/fstab statisch mit passenden Besitz- und Zugriffsrechten ein. Diese gelten dann aber für die gesamte Partition und können nicht nachträglich mit chown und chmod verändert werden. Es ist bei diesem Weg auch nicht möglich, für verschiedene Ordner der Partition verschiedene Rechte festzulegen. Oder Du bindest die Partitionen per Eintrag in /etc/fstab statisch mit der Option permissions und evtl. auch acl ein. Dann verhalten sich NTFS-Partitionen unter Linux genau wie Original-Linux-Dateisysteme (ext3, ext4, ...), und Du kannst für alle Ordner einzeln die unter Linux gültigen Dateirechte mittels chown und chmod (bzw. über den Dateimanager) passend einrichten. Oder Du simulierst auf der Partition ein "user mapping". Wenn NTFS-3G feststellt, dass ein solches vorhanden ist, dann werden die Partitionen automatisch mit der Option permissions eingebunden, auch ohne Eintrag in fstab. Wie das geht, ist in dem genannten Wiki-Artikel beschrieben.
Dualboot Laptop mit Windows 7 x64 und Linux Mint 17 x64
Normalerweise nehmen Windows und Linux gegenseitig von der Rechte-Verwaltung keine Kenntnis. Die beiden Rechte-Verwaltungen bestehen also unabhängig nebeneinander auf der gleichen Partition, ohne eniander zu beeinträchtigen. Es ist möglich, aber nicht ganz einfach, die beiden Rechteverwaltungen miteinander zu synchronisieren. Auch das steht im besagten Artikel. Gruß – Max-Ulrich
|
triebtaeter
(Themenstarter)
Anmeldungsdatum: 22. August 2006
Beiträge: 101
Wohnort: München
|
OK, super, vielen Dank, ich werde mich da mal durchwühlen. Hatte diesen und andere Artikel schon gefunden, wollte mich nur absichern, ob ich mit Samba überhaupt auf dem richtigen Weg bin 😉
|
triebtaeter
(Themenstarter)
Anmeldungsdatum: 22. August 2006
Beiträge: 101
Wohnort: München
|
Mittlerweile habe ich die Sache - wenn wohl auch nicht elegant - gelöst. Durch das automatische Mounten der NTFS-Partition beim Start ist es ja so, dass der aktuell angemeldete User (nennen wir ihn USER) der Eigentümer ist, Gruppe und andere dürfen rein gar nix.
So ist es in dem Artikel auch im zweiten Abschnitt beschrieben: Windows-Partitionen einbinden/NTFS-3G (Abschnitt „Standard-Einstellungen“) Ich habe daher für alle Zugriffe einfach diesen USER verwendet, unabhängig vom eigentlichen Zweck. Was unschön ist, eigentlich sollten zwei andere (Dummy-)User ohne Login und Homeverzeichnis jeweils auf einen Ordner zugreifen können, der sie jeweils angeht (Handy Backup bzw. Film Streaming), und nicht noch den jeweils anderen Inhalt sehen. Laut //wiki.ubuntuusers.de/Windows-Partitionen_einbinden/NTFS-3G#Rechte-auf-externen-Partitionen: sollte ich auch ein UserMapping anlegen können, wobei ich aber nicht ganz kapiere, was dann passiert?!
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 8010
|
Laut ... sollte ich auch ein UserMapping anlegen können, wobei ich aber nicht ganz kapiere, was dann passiert?!
Du musst unterscheiden:
Echtes UserMapping: Da werden die Linux-Dateirechte auf die Windows-SIDs abgebildet, sodass die Rechteverwaltungen von Linux und Windows einander verstehen. Ohne dies existieren die beiden Rechteverwaltungen nebeneinander, ohne voneinander Kenntnis zu nehmen. Das heißt z.B., dass User XY unter Linux Schreibrechte für eine Datei haben kann, auf die er in Windows gar nicht zugreifen darf. Oder umgekehrt. – Ich weiß nicht, ob Du das brauchst. Simuliertes UserMapping. Durch Einrichten einer Fake-Datei wird NTFS-3G die Existenz eines User-Mapping vorgetäuscht. NTFS-3G mountet die Partition dann automatisch mit den Optionen permissions und acl , egal, welche Mount-Optionen im Befehl stehen. Damit kann dann eine UNIX-(Linux-)Rechteverwaltung auf der Partition eingerichtet werden; die Befehle chown und chmod funktionieren dann auf der NTFS-Partition wie in einem Linux-Dateisystem. Ohne echtes UserMapping werden die so festgelegten UNIX-(Linux-)Rechte aber von Windows nicht respektiert.
Was unschön ist, eigentlich sollten zwei andere (Dummy-)User ohne Login und Homeverzeichnis jeweils auf einen Ordner zugreifen können, der sie jeweils angeht (Handy Backup bzw. Film Streaming), und nicht noch den jeweils anderen Inhalt sehen.
Das kannst Du eben am geschicktesten über die Linux-Rechteverwaltung machen, da sonst für die ganze Partition mit allen Unterordnern immer die gleichen Zugriffsrechte gelten.
|
triebtaeter
(Themenstarter)
Anmeldungsdatum: 22. August 2006
Beiträge: 101
Wohnort: München
|
Stimmt, das "echte" UserMapping brauch ich wirklich nicht. Geht ja tatsächlich nur um jeweils einen Ordner, in dem dann auch alles erlaubt ist.
Und die entsprechenden User gibt es unter Win auch gar nicht. Ich versuch das zuerst heute nachmittag mal mit den Fake ☺ Ich bräuchte auch noch einen Ersatz für das vorherige Win7-Heimnetzwerk, das war auch nichts anderes als ein Ordner, in dem beide alle Rechte hatten. Da geb ich da am Besten einen Ordner auch für Gäste frei oder?
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 8010
|
Da geb ich da am Besten einen Ordner auch für Gäste frei oder?
Wenn nur vertrauenswürdige Personen Zugang haben, spricht nichts dagegen. Aber Samba erlaubt es natürlich auch, die berechtigten Benutzer genau festzulegen. Alles hängt von Deinem Sicherheits-Bedarf ab. Für Linux-Neulinge ist es manchmal etwas verwirrend, dass man die Zugriffsrechte auf zweierlei Arten einschränken kann, erstens über die UNIX-Dateirechte auf dem Server, und zweitens noch durch die Einschränkungen der Zugriffsrechte mittels Samba mit den Optionen valid users und write list im smb.conf-Eintrag bzw. bei net usershare mittels ACL. Da gilt grundsätzlich: Samba kann nichts erlauben, was durch die UNIX-Dateirechte verboten ist. Deshalb müssen erst mal diese passen. Ich versuch das zuerst heute nachmittag mal mit den Fake ☺
Hat das geklappt? Gruß – Max-Ulrich
|
triebtaeter
(Themenstarter)
Anmeldungsdatum: 22. August 2006
Beiträge: 101
Wohnort: München
|
Max-Ulrich Farber schrieb:
Ich versuch das zuerst heute nachmittag mal mit den Fake ☺
Hat das geklappt? Gruß – Max-Ulrich
Ich hab's noch nicht versucht, ich partitionier hier noch rum, aber ich geb dann natürlich Bescheid 😉
|
triebtaeter
(Themenstarter)
Anmeldungsdatum: 22. August 2006
Beiträge: 101
Wohnort: München
|
Also, langsam krieg ich nen Vogel 🙄 Ich habe ein wenig partitioniert, was dazu geführt hat, dass ich die freizugebenden Daten nun auf einer ext4-formatierten Partition ablegen konnte.
Dadurch habe ich mir erhofft, dass das Freigeben einfacher wird. Ich krieg es aber einfach nicht richtig hin. Nachdem es per net usershare überhaupt nicht funktioniert hat, habe es es mittels "normalem" Samba gemacht. Im Prinzip gibt es drei User, die auf drei Ordner zugreifen, jeder auf einen, die anderen beiden jeweils sollen nicht einsehbar sein. Dazu habe ich drei neue User sowohl in Linux selbst als auch in Samba angelegt. Problem ist, diese User können in einem Fall den Ordner gar nicht öffnen, im anderen Fall öffnen, sehen, aber nicht schreiben. Und das kann ja dann nur noch an den Berechtigungen liegen, wobei ich diese eh schon ziemlich unrestriktiv gesetzt habe, nämlich 757... Wie könnte ich denn da noch systematisch vorgehen, den Bock zu finden? Vielen Dank & Gruß,
tt PS: IM Samba-Log hab ich noch was gefunden:
| user popp connection to NEXUS4 denied due to share security descriptor
|
popp ist natürlich der User, NEXUS4 die Freigabe...
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 8010
|
dass ich die freizugebenden Daten nun auf einer ext4-formatierten Partition ablegen konnte. Dadurch habe ich mir erhofft, dass das Freigeben einfacher wird.
Der einzige diesbzügliche Unterschied ist, dass bei ext4 die Linux-Rechteverwaltung automatisch eingerichtet wird, während Du dies bei NTFS erst mit der Option permissions veranlassen musst. Anschließend geht es in beiden Fällen genau gleich weiter. In Linux ist allerdings ext4 schneller und sicherer, denn es funktioniert die automatische Überprüfung und nötigenfalls Reparatur des Dateisysems, was bei NTFS nur sehr bedingt und unvollständig der Fall ist. wobei ich diese eh schon ziemlich unrestriktiv gesetzt habe, nämlich 757...
Diese Kombination ist unlogisch, und vermutlich geht sie auch gar nicht. Sie würde bedeuten, dass alle alles dürfen, nur die Mitglieder der Gruppe dürfen nicht schreiben (??). Nachdem es per net usershare überhaupt nicht funktioniert hat,
Mit net usershare kannst Du nur Partitionen oder Ordner freigeben, die Dein Eigentum sind. Also musst Du diese nötigenfalls vorher noch mit sudo chown -R USERNAME FREIGABE zu Deinem Eigentum machen. Problem ist, diese User können in einem Fall den Ordner gar nicht öffnen, im anderen Fall öffnen, sehen, aber nicht schreiben.
Bitte poste dazu mal folgendes:
die Einträge für die Freigaben in smb.conf Die Ausgabe von im Terminal Die Namen bzw. Gruppen-Zugehörigkeit der anderen User, die zugreifen dürfen.
Gruß – Max-Ulrich
|
triebtaeter
(Themenstarter)
Anmeldungsdatum: 22. August 2006
Beiträge: 101
Wohnort: München
|
Hi! Also das mit den Freigaben habe ich nach einigem Gebastel nun hin bekommen. Die einzige Freigabe, die (erwartungsgemäß) nicht funktioniert, ist die, deren Ordner noch auf der NTFS-Partition liegt (konnte ich wegen Größe nicht auf eine ext4-Partition verschieben). Ich habe es mit NTFS-3G versucht, nun kann ich gar nicht mehr auf die Platte zugreifen, da ich die Meldung bekomme, der angegebene Ort wäre kein Ordner. Diese Zeile hab ich zur fstab hinzugefügt: UUID=5242CED442CEBBCB /media/robert/TEVION ntfs-3g defaults,locale=de_DE.utf8 0 0 und mount sagt folgendes: mount -l | grep TEVION
/dev/sdb1 on /media/robert/TEVION type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096) [TEVION] Bis dato bin ich nicht draufgekommen, wo der Haken liegt... Gruß,
tt
|
triebtaeter
(Themenstarter)
Anmeldungsdatum: 22. August 2006
Beiträge: 101
Wohnort: München
|
OK, mein Problem mit der Platte wie oben beschrieben hat sich erstmal gelöst, indem ich das Usermapping-File gelöscht habe:
( Hab ich das schon richtig verstanden, dass ".NTFS-3G" ein Ordner ist und darunter eine Datei "UserMapping" mit diesem Fake-Inhalt? ❓ ) Meine grundsätzliche Absicht war dabei, diese NTFS-Partition in die fstab einzutragen, damit sie beim Start automatisch gemountet wird.
Dazu muss ich ja einen Mountpoint unter /media/... erstellen. Dies geht schon erstmal nur mit root.
Was zur Folge hat, dass ich beim Aushängen auch nach dem Passwort gefragt werde.
Klingt logisch, find ich aber komisch, ich muss doch als normaler User auch was einhängen können? Zum Thema Freigaben habe ich glaube ich ein grundsätzliches Verständnisproblem.
So wie ich das sehe, gibt Samba an, welche Ordner für wen sichtbar sein sollen und wie prinzipiell die Rechte darauf sein sollen.
Die Dateirechte müssen dementsprechend auch passen. Nur: Wenn ich hier an der Kiste als User "robert" arbeite, einen Order "Sicherungen" für den User "nexus" freigeben möchte, damit der eben nur diese und sonst keine Freigabe sieht, wie bilde ich das dann mit den Dateirechten ab? Besitzer des Ordners und Inhalt ist "robert".
Entweder ich ändere den Besitzer zu "nexus", woraufhin "robert" nicht mehr viel machen kann, oder ich gebe dem Ordner Rechte für Others, was ich getan habe, aber "nexus" kann trotzdem nicht darauf schreiben. Ich glaub ich hab mich mittlerweile auch ziemlich verbastelt, gibt's nicht irgendwo eine Schritt-für-Schritt-Anleitung für Dummies? ☺ Hier jedenfalls die Freigaben aus der smb.conf:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | [Nexus4]
path = /home/robert/Handys/Nexus4
writeable = yes
; browseable = yes
valid users = nexus, robert
[Schneckerl]
path = /home/robert/Schneckerl
writeable = yes
; browseable = yes
valid users = babe, robert
[Filme]
path = /media/robert/TEVION/Filme
writeable = yes
; browseable = yes
valid users = popp, robert
|
babe, nexus und popp sind eigene User, die auch in Samba so angelegt sind. Alle Mitglied der Gruppe "robert". Das mit dem versteh ich nicht ganz, ich hab jetzt mal ein ls -al in einem der freigegebenen Order gemacht (/home/robert/Handys/Nexus4): drwxrwxrwx 7 robert robert 4096 Nov 9 15:57 .
drwxr-xr-x 5 robert robert 4096 Nov 8 12:39 ..
drwxr-xrwx 4 robert robert 20480 Nov 8 11:22 Camera
drwxr-xrwx 13 robert robert 4096 Nov 8 15:32 Download
drwxr-xrwx 2 robert robert 4096 Nov 8 11:22 SafeNotes
drwxr-xrwx 3 robert robert 69632 Nov 8 11:22 WhatsApp Images
drwxr-xrwx 2 robert robert 12288 Nov 8 11:23 WhatsApp Messages Vielen Dank & Gruß,
tt
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 8010
|
Hab ich das schon richtig verstanden, dass ".NTFS-3G" ein Ordner ist und darunter eine Datei "UserMapping" mit diesem Fake-Inhalt?
Ja, und der Ordner muss sich direkt im Root-Verzeichnis der Partition befinden. mein Problem mit der Platte wie oben beschrieben hat sich erstmal gelöst, indem ich das Usermapping-File gelöscht habe
Es geht auch anders. Wenn Du auf der Partition eine Rechteverwaltung vorbereitet hast (Mount-Option permissions bzw. obiges Fake-Usermapping), dann musst Du erst mal die Rechte festlegen. Sonst hat nur "Root" Zugriff. Möglich wäre als Ausgangswert z.B.
sudo chown -R robert:robert /media/robert/TEVION
sudo chmod -R 0755 /media/robert/TEVION
Dann gehört erst mal alles Dir, und anschließend kannst Du noch mittels chown und chmod oder auch über den Dateimanager (Nautilus) die Rechte für einzelne Ordner und Dateien passend ausdifferenzieren. ... Klingt logisch, find ich aber komisch, ich muss doch als normaler User auch was einhängen können?
Das geht, wenn Du im fstab-Eintrag noch die Option users hinzufügst (siehe fstab). Wenn ich hier an der Kiste als User "robert" arbeite, einen Order "Sicherungen" für den User "nexus" freigeben möchte, damit der eben nur diese und sonst keine Freigabe sieht, wie bilde ich das dann mit den Dateirechten ab? Besitzer des Ordners und Inhalt ist "robert".
Der einfachste Weg ist, Du gibst einfach beim Zugriff über Samba dem User "nexus" die Identität "robert" (bei der jeweiligen Freigabe einzutragen):
force user = robert
Damit darf "nexus" (bzw. jeder Benutzer, der Zugriff hat) alles tun, was "robert" darf. Ich glaub ich hab mich mittlerweile auch ziemlich verbastelt
Nee, sieht nicht schlimm aus. ls -L FREIGABE
Sorry, Tippfehler. Sollte ein kleines l sein (oder noch besser la): ls -l FREIGABE
|