Wie Rechte bei mount per fstab mit übergeben?

Status
Für weitere Antworten geschlossen.

jo-hannes

Benutzer
Mitglied seit
11. Mai 2012
Beiträge
105
Punkte für Reaktionen
0
Punkte
16
Hallo liebe Leut,

ich habe eine Freigabe meiner DS per fstab in einen Ubuntu Rechner eingebunden. Problem dabei: ich kann dort als User nur lesen, aber nicht schreiben. Ich hab mich jetzt schon durch diverse Foren und Postings gewühlt, bin aber noch nicht "glücklich" geworden. Hat jemand einen Tipp, woran man wie drehen muss?

In der /etc/fstab hab ich auf dem Ubuntu-Client folgendes eingetragen

Rich (BBCode):
//192.168.1.111/maxbackup /home/max/backup/max cifs credentials=/home/max/.smbcredentials  0 0

In der smbcredentials stehen user und passwort.

Gehe ich per Shell unter /home/max dann gehört der Ordner (MountPoint) backup dem User root. Der Ordner max im Backup-Ordner gehört ebenfalls root. Und auch alle weiteren Unterordner.

Logge ich mich auf die DS per Shell und schau mir dort die Rechte unter /volume1/max an, dann gehört der Ordner selbst auch dem User root. Aber alle Unterordner gehören Max!

Wenn ich auf dem Ubuntu-Rechner die Verbindung zur DiskStation manuell über die Oberfläche (per Netzwerk, mit Username & Passwort Abfrage) herstelle, dann hab ich die Schreibrechte.

Irgendwie scheinen die Rechte der DS beim Mounten nicht auf den Ubuntu-Rechner übertragen zu werden.
Wie kann man das machen? Ist es ne Sache der Diskstation oder vom Linux-Rechner? Hat jemand einen Tipp? Das wäre super!

Jo

Nachtrag: Ubuntu: 12.04.2 LTS und DS713
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
dazu müsste bereits das mount Kommando unter deinem User stattfinden
So schaut es bei mir in fstab aus
Code:
//meinServer/data/myHome	cifs	noauto,users,credentials=/home/meinUser/smbCredentials,uid=meinUser	0	0
das Problem: nur root darf ein Filesystem mounten. Wenn du auch als normaler User (uid=meinUser) mounten können willst, dann muss man auf dem mount Kommando das suid Bit setzen (http://de.wikipedia.org/wiki/Setuid)
Dann wird es immer unter root ausgeführt, egal wer es aufruft.
Daher wäre es sinnvoll auf dem mount Kommando die Gruppe deines Users zur Gruppe des Kommandos zu machen. Dann Ausführrechte für Eigentümer (root) und Gruppe (deineGruppe) und sonst niemanden. Auch ganz wichtig bei suid Files: niemals darf jemand anders als der Eigentümer Schreibrechte auf ein suid File haben. Sonst kann er/sie es ersetzen und beliebige Kommandos unter root ausführen!!
 

jo-hannes

Benutzer
Mitglied seit
11. Mai 2012
Beiträge
105
Punkte für Reaktionen
0
Punkte
16
Vielen Dank für die Hilfe! Bei mir geht es jetzt :)

Der für mich wichtigste Hinweis war "dazu müsste bereits das mount Kommando unter deinem User stattfinden". Da hatte ich doch mal was gelesen ... und das war im Ubuntu-Forum: http://wiki.ubuntuusers.de/Samba_Client_cifs.

Das suid Bit ist mittlerweile wohl nicht mehr unbedingt nötig.

Bei mir lautet die Zeile in der /etc/fstab nun

Rich (BBCode):
//192.168.1.111/maxbackup /home/max/backup/max cifs noauto,user,credentials=/home/max/.smbcredentials  0 0

Mit der Option noauto wird das Mounten zwar vorbereitet, aber noch nicht ausgeführt. Mit User darf auch ein User den Pfad mounten.

Nach dem Login muß nun der User den Befehl

Rich (BBCode):
mount /home/max/backup/max

aufrufen. Damit ist der Mountpoint dann aktiv. Und mit allen User-Rechten des NAS :)

Um das ganze noch "hübsch" zu machen, packt man die Mount-Zeile(n) in ein Script. Und das kommt dann in den Autostart-Ordner

Rich (BBCode):
/home/max/.config/autostart

Thats all :)

Jo
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.172
Punkte für Reaktionen
922
Punkte
424
Habe bei mir folgendes in der fstab:
Rich (BBCode):
//syno/pfad /srv/syno/lokaler/pfad cifs credentials=/pfad/.smbcredentials,uid=benutzer,gid=gruppe,file_mode=0644,dir_mode=0750,_netdev,auto 0 0

benutzer/gruppe mit passender uid/gid ersetzt und Pfade angepaßt natürlich.

Damit wird das ganze ab Netzwerkverfügbarkeit global gemountet (mit den richtigen Benutzerrechten).
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Das suid Bit ist mittlerweile wohl nicht mehr unbedingt nötig.
das wäre aber ein rechtes Risiko wenn das suid Bit bereits ab Werk gesetzt wäre :) Wird kaum so sein und habe ich noch bei keinem Linux so gesehe. Musste es immer manuell setzen
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.172
Punkte für Reaktionen
922
Punkte
424
Könnte das eventuell damit zusammen hängen, dass der erste Benutzer meist als Systemverwalter/Admin eingerichtet wird und eventuell schon mit suid ausgestattet ist?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
suid ist ein Filesystemattribut und hat nichts mit dem User/Account zu tun
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.172
Punkte für Reaktionen
922
Punkte
424
Ja, mein Fehler. Hast recht.

Der Grund warum es bei jo-hannes geht das Script einfach aufzurufen ist doch die Option "user" bei den Mount-Optionen. Damit können auch nicht privilegierte Benutzer das mount kommando aufrufen (wenn es nicht eh automatisch beim Systemstart gemountet wird).
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
nicht privilegierte User könne mount bzw mount.cifs nur dann sinnvoll nutzen wenn das suid darauf gesetzt ist oder der User über root Rechte (z.B. durch sudo) verfügt.
Aber ich weiss jetzt wieso das suid auf mount bereits ab Werk gesetzt werden kann (ohne ein Risiko darzustellen): um einen mount zu machen braucht es ja noch einen Eintrag in fstab. Und das darf definitiv nur root :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat