Samba-Freigabe mit Schreibrechten

Hi.
Eine absolute Standard-Frage … ich habe vor laaanger Zeit eine Samba-Freigabe eingerichtet, die so aussieht:

#############################
# Snapshots fuer VirtualBox #
#############################
[snapshots]
comment = Leoclient-Snapshots
path = /home/archiv/vbox-snapshots
writeable = no
admin users = administrator,linuxadmin
write list = administrator,linuxadmin
create mask = 0775
directory mask = 2775
force create mode = 0775
force directory mode = 2775
browseable = Yes
guest ok = Yes

Der Lese-Zugriff und das Mounten auf dieses Share klappen … aber ich habe keine Schreibrechte. Weder als linuxadmin noch als administrator. Was muss man da ändern?

Dann gleich noch eine weitere Samba-Frage:
Ich habe in der Config eingetragen:

 log file = /var/log/samba/log.%m

Dennoch erhalte ich die meisten Meldungen in der Datei

 21:17/0 server /var/log/samba # ll
 -rw-r--r-- 1 root root 2060 Apr 21 21:16 log.

… also ohne irgendeine IP-Adresse! Warum?

Hallo Michael,

2 Ideen:

  1. Wem gehört der freigegebene Ordner auf dem Server? Haben Administrator und linuxadmin da überhaupt Schreibrechte?
  1. Hast Du Quotas aktiviert? Ich hatte das nämlich mal, dass pgmadmin nicht schreiben durfte, und siehe da, sein Quota war erschöpft.

LG
Max

Das Verzeichnis gehört

drwxrwxrwx 9 administrator domadmins 4096 Apr 21 21:59 vbox-snapshots

Ich glaube allerdings mittlerweile, dass der Eintrag linuxadmin auf dem Server in der write list sinnlos ist, da es den dort gar nicht gibt. Kann es sein, dass nur User da eingetragen sein dürfen, die auch auf dem Server existieren?

(Als ich mich gerade nochmal neu über Nemo --> Netzwerk --> Windows-Netzwerk --> Server --> Share verbunden
habe und dann “administrator” gewählt habe, waren die Schreibrechte da! Ich möchte aber natürlich dem linuxadmin die Rechte einräumen, damit der die leoclient2-Snapshots schnell und unkompliziert auf den Server schieben kann, ohne sich vorher an-/abmelden zu müssen…)

Quota sind aktiv – aber doch nicht dort!??

Hallo Michael,

ja, den User linuxadmin muss es dann auch auf dem server (zumindst im samba) geben. Aber Du kannst Dich ja auch Clientseiteg als linuxadmin auf dem Samba-Server mit dem administrator-Konto anmelden. (hast Du ja schon gemacht, wenn ichs recht verstehe). Das muss ja nicht der gleiche Username sein. So aus dem Gedächtnis raus
sudo mount -t cifs //10.16.1.1/… / -o username=administrator

Ob Du jetzt mit smbpasswd den linuxadmin auf dem Server anlegen kannst / sollst / nicht sollst, kann ich nicht sagen, da kenne ich mich auf dem Server zu wenig aus. Ich sehe aber kein Problem darin, unter administrator oder pgmadmin zu mounten.

LG
Max

Hm – das Problem ist eher, dass dieses Share per default gemoutet wird und von allen lesbar sein muss.
Daher steht es in der fstab mit drin … alles defaults.

Schreiben darf da aber nicht jeder können. Ich könnte natürlich @teachers mit in die Write List schreiben, aber das ist mir eigentlich schon zuviel, da die dann ja auch versehentlich noch benötigte Snapshots löschen können. Es wäre natürlich eine Option, dem linuxadmin dieses Share mit -o username neu zu mounten, damit er alles darf, was er muss …

Aber ok … dieser Dreizeiler löst das Problem vorerst:

#!/bin/bash
sudo umount /media/leoclient2-vm
sudo mount -t cifs //10.16.1.1/snapshots /media/leoclient2-vm/ -o username=administrator
#
(natürlich habe ich den Eintrag "linuxadmin" oben im Samba-Share dann wieder gelöscht...)

Hallo!

Hm, mir fällt auch keine weitere “geschmeidige” Lösung ein. Vielleicht meldet sich noch ein Serverspezialist, ob linuxadmin als Samba-User möglich ist, persönlich würde ich händisch mounten.

LG
Max

Hallo Michael,

ein mounten per cifs unterstützt normalerweise keinen Multiuser-Mode. Das heißt, dass ein Share immer nur unter einem Usernamen gemounted ist. Bei Dir ist das normalerweise vermutlich der Gastzugang ohne Passwort, deshalb ist nur Lesezugriff möglich, und zwar für alle User, die auf dem Client angemeldet sind.

Wenn Du das Share nun neu als Administrator mountest, dann kommen beim Serve alle Anfragen unter dieser Benutzerkennung an, egal welcher User am Client angemeldet ist. Welche Rechte nun ein User auf dem Client in diesem Share hat, hängt zunächst nur noch von den Rechten auf dem Client ab.

Wenn Du allerdings noch die Unix-Extensions verwendest, dann wird versucht, die User zu mappen, was beim Linuxadmin natürlich schief geht. Das betrifft aber nur die Zugriffskontrolle auf der Client-Seite.

Du müsstest also:

  • Das Share als (Server-User) administrator mounten.
  • Auf dem Client die Rechte so setzen, dass nur der linuxadmin schreiben darf.

Versuch doch mal die Optionen:
mount -t cifs -o username=administrator,uid=linuxadmin,forceuid //10.16.1.1/snapshots /media/leoclient2-vm

Die Rechte auf dem Server sollten dann allerdings 0755 für Verzeichnisse und 0644 für Dateien sein.

Wenn das klappt, dann kannst Du das auch so in die fstab eintragen und die Option credentials verwenden, damit in der fstab nicht das Passwort vom Administrator steht.

Viele Grüße

Jörg

Hallo Michael!
Wir haben das mit dem Upload der Snapshots auf den Server für leoclient2 wie folgt gelöst.

  • Es gibt ein share mit den Snapshots für leoclient2, das für alle lesbar ist.
  • Ein zweites share ist für alle Lehrer schrebbar und dort können alle Lehrer einen Snapshot ablegen.
  • Bevor der Snapshot von allen gelesen/benutzt werden kann, muss er von der Administration auf dem Server verschoben werden.
    Gruß - Rainer

Ja, das habe ich im Wiki gefunden … doch das wird hier niemand benutzen, schätze ich. Daher kann ich’s auch gleich lassen.

Die Lösung mit dem zusätzlichen „,uid=linuxadmin,forceuid“ klappt übrigens. Ich habe Schreibrechte und „die Vereichnisse sehen so aus“, als würde es linuxadmin gehören :slight_smile:

Jetzt steht ja einem „leoclient2-vm-move“ direkt auf den Server nichts mehr im Wege, hoffe ich…