Samba: Keine Schreibrechte der Clients

Probleme mit Samba, NFS, FTP und Co.
Antworten
Aircan
Beiträge: 22
Registriert: 05.09.2016 21:36:11

Samba: Keine Schreibrechte der Clients

Beitrag von Aircan » 05.09.2016 22:22:28

Hallo zusammen,

nach einem Tag des Probierens und googelns bin ich mit meinem (zugegebenermaßen sehr kleinen) Latein am Ende.
Als Neuling habe ich versucht ein NAS mit Samba zu realisieren. In Eurer Forensuche bin ich auf ähnliche Themen gestoßen, die aber nicht das gleiche Problem haben.

Samba habe ich installiert. Einen USB-Stick eingebunden. Einen Sambauser inkl. Passwort vergeben. Samba neu gestartet.
Unter meinem Windows PC sehe ich den freigegebenen Stick und die Testdatei. Auch per Android-Tablet habe ich Zugriff. Aber keine Schreibrechte! :facepalm:

Das Verzeichnis /media/usbstick hat als Benutzer und Gruppe 'pi' und folgende Rechte: drwxr-xr-x
Demzufolge auch keine Schreibrechte für andere. Diese kann ich nicht vergeben!
Mit chmod +rwx /media/usbstick passiert gar nichts. Auch nicht, wenn ich die Testdatei als Pfad angebe.
Auch bei einer weiteren Testdatei unter /home/pi kann ich keine Schreibrechte vergeben.

Ist das der Fehler? Und wie behebe ich ihn?

Ausgabe von ls -l:

Code: Alles auswählen

drwxr-x---+ 2 root root 4096 Sep  4 22:57 pi
drwxr-xr-x  2 pi   pi   4096 Jan  1  1970 usbstick
smb.conf

Code: Alles auswählen

[NAS USB-Stick]
path = /media/usbstick
available = yes
browseable = yes
writeable = yes
guest ok = no
Danke im Voraus

TomL

Re: AW: Samba: Keine Schreibrechte der Clients

Beitrag von TomL » 06.09.2016 09:16:54

Du musst die Schreibrechte auf dem Server setzen. Das, was der Client anzeigt, stimmt nicht zwingend mit dem überein, was auf dem Server gesetzt ist. Ich würde auf dem Server die Rechte zum Testen anfangs auf 777 setzen. Btw, wird der usb-stick überhaupt RW gemountet? Welches Filesystem hat der Stick?

Aircan
Beiträge: 22
Registriert: 05.09.2016 21:36:11

Re: Samba: Keine Schreibrechte der Clients

Beitrag von Aircan » 06.09.2016 11:22:18

Zu Schreibrechten:
Was ist gemeint mit Schreibrechte auf dem Server setzen? Unter /media/usbstick, dort wo er gemountet wurde?
Ich hatte ja bereits geschrieben, daß ich keine Schreibrechte mit chmod zuweisen kann.

Code: Alles auswählen

Ausgabe von ls -l:
Code: Alles auswählen
    drwxr-x---+ 2 root root 4096 Sep  4 22:57 pi
    drwxr-xr-x  2 pi   pi   4096 Jan  1  1970 usbstick
Nach der chmod-Eingabe sind die Rechte für den Stick immernoch die gleichen.


Zum Stick selbst:
Dateisystem ist: FAT32
So wurde er gemountet: sudo mount -t vfat -o utf8,uid=pi,gid=pi,noatime /dev/sda1 /media/usbstick

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Re: Samba: Keine Schreibrechte der Clients

Beitrag von pdreker » 06.09.2016 15:26:23

füge den Mount Optionen mal "dmask=000,fmask=000" hinzu.
Definitely not a bot...
Jabber: pdreker@debianforum.de

Aircan
Beiträge: 22
Registriert: 05.09.2016 21:36:11

Re: Samba: Keine Schreibrechte der Clients

Beitrag von Aircan » 06.09.2016 18:01:16

Soll ich den Stick dann nochmals komplett neu mounten mit:

Code: Alles auswählen

sudo mount -t vfat -o utf8,uid=pi,gid=pi,noatime /dev/sda /media/usbstick
Wie lautet dann der Syntax?


Oder hier hinzufügen?

Code: Alles auswählen

sudo nano -w /etc/fstab

TomL

Re: Samba: Keine Schreibrechte der Clients

Beitrag von TomL » 06.09.2016 20:08:11

"vfat" hat keine Rechteverwaltung und kann ebensowenig wie NTFS (auch ein typisches Windows-Medium) mit Linux-Rechten was anfangen. Die Rechte können vermutlich also nur auf den Mount-Point gesetzt werden, aber eben nicht wirksam und reproduzierbar auf das Medium übertragen. Insofern vermute ich, dass auch in Samba gesetzte Rechte unwirksam sind. Möglicherweise reicht es, den Stick auf dem Server einfach wie folgt zu mounten.

Code: Alles auswählen

/bin/mount $Device $MountTo -t vfat -o user,umask=000
Allerdings würde ich empfehlen -sofern es ein permanent verbundener Stick ist- ihn mit ext4 zu formatieren, dann klappt das auch mit den Rechten.

Hilfreich:
https://wiki.ubuntuusers.de/Rechte/

Aircan
Beiträge: 22
Registriert: 05.09.2016 21:36:11

Re: Samba: Keine Schreibrechte der Clients

Beitrag von Aircan » 06.09.2016 21:13:30

Kann ich mit der ext4 Formatierung dann auch von Windows aus auf dem USB Stick schreiben?
Code: Alles auswählen
/bin/mount $Device $MountTo -t vfat -o user,umask=000
Mit dieser Eingabe bekomme ich eine Auflistung von Befehlen. (wenn ich sudo davor setze)
Wird so wirklich gemountet?

TomL

Re: Samba: Keine Schreibrechte der Clients

Beitrag von TomL » 06.09.2016 22:02:29

Aircan hat geschrieben:Kann ich mit der ext4 Formatierung dann auch von Windows aus auf dem USB Stick schreiben?
Ja natürlich. Sowohl mit vfat als auch mit ext4. Mit ext4 funktioniert dann aber auch eine ordentliche Rechteverwaltung. Aber wenn Du keine differenzierte Rechteverwaltung benötigst und nur Du selber zugreifst, muss das auch mit vfat klappen.... siehe unten.
Aircan hat geschrieben:
Code: Alles auswählen
/bin/mount $Device $MountTo -t vfat -o user,umask=000
Mit dieser Eingabe bekomme ich eine Auflistung von Befehlen. (wenn ich sudo davor setze)
Wird so wirklich gemountet?
$Device und $MountTo sind "Stellvertreter", oder mit den Worten der Scriptsprache deines Computers "Variablen". Du musst natürlich dafür Deine auf Deinem PI geltenden absoluten "Werte" einsetzen.

Noch ein weiterer Rat: Versuch Dir mal anzugewöhnen, die Befehle nicht mit "sudo" zu starten, sondern bevor Du Eingriffe als Administrator am System machst, selber vorher zum Administator zu werden. Und das bleibst Du dann solange, bis die arbeiten abgeschlossen sind.... aber eben auch NICHT länger. Der Administrator ist unter Linux ein wenig anders "gelagert" als unter Windows. Das heisst, anders als bei Windows bekommst Du irgendwann Probleme, wenn Du Normal-User-Tätigkeiten (irgendwelche regulären Andwendungsprogramme) als Administrator durchführst. Zum Administrator (Linux nennt das übrigens "root") wirst Du mit der Eingabe "su" und der folgenden Abfrage Deines root-Passwords. Sind die arbeiten beendet, beendest Du Dein root-Sein mit dem Kommand "exit". Also, folgende Prämisse: Systemeingriffe immer als root (und ohne sudo) durchführen, und normales Arbeiten immer als normaler User.

HTH.

Aircan
Beiträge: 22
Registriert: 05.09.2016 21:36:11

Re: Samba: Keine Schreibrechte der Clients

Beitrag von Aircan » 07.09.2016 17:11:19

Also, ich habe jetzt den Stick unmountet, die Software deinstalliert und alles nochmals neu aufgesetzt mit dem Resultat: Ich sehe die Freigabe im Windows PC habe jetzt aber weder Lese- noch Schreibrechte!
Beim Klick auf den Ordner "lost+found" kommt unter Windows die Meldung, daß ich keine Berechtigung habe. Ich verzweifle.

Hier die meiner Meinung nach relevanten Ausgaben bzw. Konfigurationen mit der Bitte um Hilfe, da ich nicht mehr weiter weiß:

Hier ist der Stick gemountet. Die Schreibrechte kann ich nicht veränder, weder als "root", noch "pi", noch "sambauser":

Code: Alles auswählen

pi@AircanPi:~ $ ls -l /media
insgesamt 40
drwxr-x---+ 2 root      root      4096 Sep  4 22:57 pi
lrwxrwxrwx  1 root      root         4 Sep  7 13:39 usb -> usb0
drwxr-xr-x  2 root      root      4096 Sep  7 13:39 usb0
drwxr-xr-x  2 root      root      4096 Sep  7 13:39 usb1
drwxr-xr-x  2 root      root      4096 Sep  7 13:39 usb2
drwxr-xr-x  2 root      root      4096 Sep  7 13:39 usb3
drwxr-xr-x  2 root      root      4096 Sep  7 13:39 usb4
drwxr-xr-x  2 root      root      4096 Sep  7 13:39 usb5
drwxr-xr-x  2 root      root      4096 Sep  7 13:39 usb6
drwxr-xr-x  2 root      root      4096 Sep  7 13:39 usb7
drwxr-xr-x  3 sambauser sambauser 4096 Sep  7 13:50 usbstick
smb.conf:

Code: Alles auswählen

pi@AircanPi:~ $ cat /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
security = user
encrypt passwords = yes

[AircanNAS]
comment = NAS
path = /media/usbstick
read only = no
Test:

Code: Alles auswählen

pi@AircanPi:~ $ smbclient -U sambauser -L aircanpi
Enter sambauser's password:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.2.10-Debian]

        Sharename       Type      Comment
        ---------       ----      -------
        AircanNAS       Disk      NAS
        IPC$            IPC       IPC Service (Samba 4.2.10-Debian)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.2.10-Debian]

        Server               Comment
        ---------            -------
        AIRCAN
        AIRCANPI             Samba 4.2.10-Debian

        Workgroup            Master
        ---------            -------
        WORKGROUP            AIRCANPI

Code: Alles auswählen

pi@AircanPi:~ $ service smbd status
● smbd.service - LSB: start Samba SMB/CIFS daemon (smbd)
   Loaded: loaded (/etc/init.d/smbd)
   Active: active (running) since Mi 2016-09-07 15:41:08 CEST; 1h 27min ago
  Process: 1709 ExecStop=/etc/init.d/smbd stop (code=exited, status=0/SUCCESS)
  Process: 1717 ExecStart=/etc/init.d/smbd start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/smbd.service
           ├─1728 /usr/sbin/smbd -D
           ├─1733 /usr/sbin/smbd -D
           └─1834 /usr/sbin/smbd -D

Code: Alles auswählen

pi@AircanPi:~ $ cat /etc/fstab
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

UUID=10f1d0b6-af6d-4adb-8522-e1eb5055c378    /media/usbstick    ext4    users,rw,auto,exec
Falls noch mehr Ausgaben benötigt werden erstelle ich diese natürlich gerne.
Besten Dank im Voraus!

TomL

Re: Samba: Keine Schreibrechte der Clients

Beitrag von TomL » 07.09.2016 20:12:52

Ah, ich sehe, Du hast den Stick auf ext4 formatiert.... das ist gut..... ok... nun zu Deinem Problem. Erstens, Du musst Dir unbedingt angewöhnen, Probleme systematisch zu diagnostizieren bzw. zu suchen. Das heisst, vergiss jetzt erst mal Deinen Windows-PC als Client.... der kommt hinterher, wenn die Server-Seite klar ist. Das heisst, erst mal sicherstellen, dass der Server, der den Stick im Netz "anbieten" soll, selber nicht schon Ursache der Probleme ist.

Also, mal sehen, wie man das Problem systematisch einkreisen kann. Führe bitte mal folgende Befehle aus:
1. ein Terminalfenster öffnen und als root anmelden
2. den Stick im Terminalfenster unmounten
3. den Stick abziehen
4. im Terminalfenster journalctl starten
5. den Stick einstecken und schauen, ob es zu Fehlermeldungen kommt
Die zwei Befehle sind:

Code: Alles auswählen

umount /media/usbstick
journalctl -f 
Wenn die Meldungen erfolgreich durchgerauscht sind, beendest Du den Journalctl-View mit ctrl-c. Wenn keine gravierenden Fehler berichtet werden, ist das erst Mal gut und man kann sich mit dem nächsten Schritt befassen. Wenn Fehler, dann müssen die zuerst beseitigt werden. Ansonsten gehts jetzt mit dem nächsten Schritt weiter.

Kontrolliere nun, ob der Stick vom Automounter gemountet ist, wenn ja, muss er wieder unmountet und via fstab-Eintrag re-mounted werden. Dazu folgende Befehle, immer noch im gleichen root-Terminal. Mit dem abschließenden "df" siehst Du, ob der mount erfolgreich war.

Code: Alles auswählen

df
umount /media/$mountpoint-name
mount -a
df
$mountpoint-name ist hier wieder nur ein Stellvertreter.... den richtigen findest Du mit df

Ganz nebenbei bemerkt, als normaler User habe ich auf meine lost-found-Dirs selbst direkt auf meinem Rechner auch keinen Zugriff.... also wird Windows den erst recht nicht haben. Nachdem der Stick nun via fstab gemountet ist,
- schaust Du Dir die Rechte des mountpoints an und setzte ggf. die korrekten Rechte.
- richtest Du ein neues Verzeichnis ein
- testest Du als nächstes, ob Du eine Datei erzeugen kann
- prüfst, ob der Inhalt der Datei korrekt ist.

Mach das ruhig alles im immer noch aktiven root-terminal. Dazu folgende Befehle:

Mit "ls" überprüfst Du ja gleich die Rechte auf den mountpoint /media/usbstick. Wenn der Eigentümer des Sticks "root:root" ist und die Rechte rwx r-x r-x lauten, so hat NUR root schreibrechte, alle anderen dürfen nur lesen. Also musst Du die Rechte ändern. Entweder über einen Eigentümer-Wechsel, oder über das Öffnen für alle. Welche Weg richtig ist, ergibt sich aus dem weiteren Zielsetzungen.

Den Eigentümer-Wechsel führst Du mit chown durch, die Rechte werden mit chmod gesetzt. Ich würde jetzt einfach mal zum Testen erst einmal die Rechte für alle setzen, egal wems gehört.... es muss erst mal grundsätzlich funktionieren

Code: Alles auswählen

ls /media
chmod -R 777  /media/usbstick
ls /media
mkdir /media/usbstick/TestDir
echo "Das ist ein Test" >/media/usbstick/TestDir/Testdatei
ls /media/usbstick/TestDir
cat /media/usbstick/TestDir/Testdatei
Wenn diese schritte bis hierher alle erfolgreich waren und keine Problem aufgetreten sind, wiederholst Du den letzten Block noch einmal als normaler User. Das heisst, Du meldest Dich im aktiven root-Terminal ab und führst die Befehle als normaler User durch.

Code: Alles auswählen

exit
echo "Das ist der zweite Test" >/media/usbstick/TestDir/Testdatei2
ls /media/usbstick/TestDir
cat /media/usbstick/TestDir/Testdatei2
Wenn das alles fehlerfrei klappt, kann man sich mit den Freigaben über Samba befassen. Aber genau das muss zuvor erst einmal sichergestellt werden.

Aircan
Beiträge: 22
Registriert: 05.09.2016 21:36:11

Re: Samba: Keine Schreibrechte der Clients

Beitrag von Aircan » 08.09.2016 12:37:14

Hallo TomL,

die gute Nachricht vorweg: Es funktioniert jetzt!

Ich hatte noch vor Deiner Antwort den von Dir angesprochenen systematischen Ansatz verfolgt und bin immer wieder zu dem Punkt gekommen, daß alles richtig konfiguriert und gemountet ist nur die Schreibrechte des Mountverzeichnis /media/usbstick (Rechte sambauser:sambauser) konnte ich nicht ändern. Egal ob als root oder sonstiger Nuter. Dann habe ich als root das Verzeichnis /media/usbstick/lost+found (Rechte root:root) gelöscht bekommen. Danach konnte ich die Rechte von /media/usbstick endlich ändern auf drwxr-xr-x. Jetzt kann ich als im Windows eingeloggter Nutzer sambauser auch auf dem Mountverzeichnis schreiben.
Ganz nebenbei bemerkt, als normaler User habe ich auf meine lost-found-Dirs selbst direkt auf meinem Rechner auch keinen Zugriff.... also wird Windows den erst recht nicht haben. Nachdem der Stick nun via fstab gemountet ist,
- schaust Du Dir die Rechte des mountpoints an und setzte ggf. die korrekten Rechte.
Diesen Punkt hatte ich schon immer als Problemursage vermutet, nur konnte ich sie jetzt erst beheben.

Puh! Seit 5 Tagen arbeite ich mich jetzt in den Pi ein und habe das mit den (leider sehr wichtigen) Linux-Rechten noch immer nicht ganz durchdrungen.

Besten Dank für Deine Unterstützung. :hail:

Nach dem Motto: Never change a running system, werde ich auch nichts mehr verändern, da es sowieso nur um ein Heimnetzwerk dreht und die Rechtegeschichte daher zu vernachlässigen ist.

Gruß und bis bald mal wieder, wenn ich die nächste Baustelle anfange. 8O

Antworten