Vergabe von Rechten für einen Ubuntu Server 20.04 an einer SMB-Share
Ich habe folgende Frage:
Ich betreibe einen Ubuntu Server 20.04, dessen ausschließliche Aufgabe eine SQL-Datenbank unter MSSQL.
Ich möchte von einem Windows 11 mit MSSMS Backups der SQL-Datenbank auf eine SMB-Share erstellen. Die SMB ist auf einer TrueNAS Core. (FreeBSD).
Der Windows-Benutzer, der Ubuntu-Benutzer und der NAS-Benutzer sind identisch.
Ich kann (selbstverständlich) von Windows auf die SMB schreiben.
Auf dem Ubuntu habe ich die SMB-Share \\192.168.2.11\Backups\Backup auf /mnt/smb_share gemountet.
Beim Versuch auf die SMB zu schreiben bekomme ich eine Fehlermeldung, daß ich keine Schreibrechte habe. Die Rechte sind 775.
Lediglich wenn ich mich am Server als root anmelde, kann ich schreiben. Auf der NAS existiert auch ein User root, also weshalb geht es nicht mit einem anderen gleichen User. Ich bin davon ausgegangen, daß vom Ubuntu Server darauf geschrieben werden kann, solange man als gleicher Benutzer wie auf der NAS angemeldet ist.
Wo liegt mein Denkfehler? Danke
Ich betreibe einen Ubuntu Server 20.04, dessen ausschließliche Aufgabe eine SQL-Datenbank unter MSSQL.
Ich möchte von einem Windows 11 mit MSSMS Backups der SQL-Datenbank auf eine SMB-Share erstellen. Die SMB ist auf einer TrueNAS Core. (FreeBSD).
Der Windows-Benutzer, der Ubuntu-Benutzer und der NAS-Benutzer sind identisch.
Ich kann (selbstverständlich) von Windows auf die SMB schreiben.
Auf dem Ubuntu habe ich die SMB-Share \\192.168.2.11\Backups\Backup auf /mnt/smb_share gemountet.
Beim Versuch auf die SMB zu schreiben bekomme ich eine Fehlermeldung, daß ich keine Schreibrechte habe. Die Rechte sind 775.
Lediglich wenn ich mich am Server als root anmelde, kann ich schreiben. Auf der NAS existiert auch ein User root, also weshalb geht es nicht mit einem anderen gleichen User. Ich bin davon ausgegangen, daß vom Ubuntu Server darauf geschrieben werden kann, solange man als gleicher Benutzer wie auf der NAS angemeldet ist.
Wo liegt mein Denkfehler? Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 93463484609
Url: https://administrator.de/contentid/93463484609
Ausgedruckt am: 21.11.2024 um 13:11 Uhr
15 Kommentare
Neuester Kommentar
Der Denkfehler kann sein, dass hosta\root nicht Hostb\root ist.
Aber ohne Details, eine Freitagfrage...
Aber ohne Details, eine Freitagfrage...
Hallo,
zuerst : hier kein NAS ..aber!
natürlich muss UserID-A gleich Userid-B sein ... sonst ist es ein anderer User (und müsste ggfs angelegt werden) .
Namen sind Schall und Rauch .. numerische Userid muss auf beiden Seiten passen!
Optimalerweise mounted man user "der Backup_User"
Rechte = 775 sind für das Verzeichnis auf welcher Seite ? (A oder B sprich Ubuntu oder NAS)
Wir hatten bis zu 9 Samba-Server zu laufen in verschiedenen Netzen (routed) und peinlich drauf geachtet dass es jede UserID nur einmal und immer auch (blind) auf jedem System gab, zuminderst wenn die Möglichkeit bestand das User x darauf zugreifen könnte.
Es werden wohl alle "roots" immer die gleiche UID haben.... damit geht das!
Mache einen "test"user z.B. mit UID=1234 auf allen beteilgten Systemen und es wird gehen.
Fred
ps: bei ein bis zwei Useränderungen im Monat ist/war das gerade so beherrschbar
zuerst : hier kein NAS ..aber!
natürlich muss UserID-A gleich Userid-B sein ... sonst ist es ein anderer User (und müsste ggfs angelegt werden) .
Namen sind Schall und Rauch .. numerische Userid muss auf beiden Seiten passen!
Optimalerweise mounted man user "der Backup_User"
Rechte = 775 sind für das Verzeichnis auf welcher Seite ? (A oder B sprich Ubuntu oder NAS)
Wir hatten bis zu 9 Samba-Server zu laufen in verschiedenen Netzen (routed) und peinlich drauf geachtet dass es jede UserID nur einmal und immer auch (blind) auf jedem System gab, zuminderst wenn die Möglichkeit bestand das User x darauf zugreifen könnte.
Es werden wohl alle "roots" immer die gleiche UID haben.... damit geht das!
Mache einen "test"user z.B. mit UID=1234 auf allen beteilgten Systemen und es wird gehen.
Fred
ps: bei ein bis zwei Useränderungen im Monat ist/war das gerade so beherrschbar
Alternativ kann man beim Mount auch UID und GID mitgeben auf den man den Mountpoint mappen möchte und auch forcieren falls nötig. Anzugeben als Options beim Mount
https://linux.die.net/man/8/mount.cifs
Gruß sid.
sudo mount -t cifs -o 'username=Bla,password=blub,uid=XXXX,gid=XXXX,forcegid,forceuid' //server/share /mnt/point
Gruß sid.
Eventuell ist es kein Problem des Host-User-Mappings, sondern des Samba-User-Mappings.
Wenn Du den Share auf die Ubuntu-Maschine mountest, machst Du vom Windows aus ein SMB-Mapping dorthin, nicht auf das NAS. Wenn Du im Ubuntu zwar den Linux-User angelegt hast, nicht aber auch den Samba-User (gleichen Namens/PW), versuchst Du auf ein SMB-Share zu mappen, für das keine credentials vorliegen.
https://wiki.ubuntuusers.de/Samba_Server/ :
Viele Grüße, commodity
Wenn Du den Share auf die Ubuntu-Maschine mountest, machst Du vom Windows aus ein SMB-Mapping dorthin, nicht auf das NAS. Wenn Du im Ubuntu zwar den Linux-User angelegt hast, nicht aber auch den Samba-User (gleichen Namens/PW), versuchst Du auf ein SMB-Share zu mappen, für das keine credentials vorliegen.
https://wiki.ubuntuusers.de/Samba_Server/ :
Bei der Installation von Samba wird leicht vergessen, dass weder die im System eingetragenen Benutzer noch deren Passwörter automatisch in die Benutzer-Datenbank von Samba übernommen werden.
Evtl. ist das bei TrueNAS nicht erforderlich gewesen, weil die Userverwaltung dort anders implementiert ist, d.h. das Samba-User-Mapping automatisch angelegt wird.Viele Grüße, commodity
Zitat von @vafk18:
sudo mount -t cifs -o "username=Bla,password=blub,uid=XXXX,gid=XXXX,forcegid,forceuid" //server/share /mnt/point
ausprobiert und erhalte einen Fehler
-bash: !,uid=1000,gid=1000,forcegid,forceuid: event not found
Liegt an Sonderzeichen deines Passwortes .sudo mount -t cifs -o "username=Bla,password=blub,uid=XXXX,gid=XXXX,forcegid,forceuid" //server/share /mnt/point
ausprobiert und erhalte einen Fehler
-bash: !,uid=1000,gid=1000,forcegid,forceuid: event not found
, single Quotes, oder escaping nutzen.
Aber, ich habe es immer noch nicht verstanden
Just RTFM on Fridays 🐟 and then happy ⛱️⛵
https://linux.die.net/man/8/mount.cifs
sorry, ich hatte den Task nicht verstanden. Du schreibst:
1.
Viele Grüße, commodity
1.
Ich betreibe einen Ubuntu Server 20.04, dessen ausschließliche Aufgabe eine SQL-Datenbank unter MSSQL.
2.Ich möchte von einem Windows 11 mit MSSMS Backups der SQL-Datenbank auf eine SMB-Share erstellen. Die SMB ist auf einer TrueNAS Core. (FreeBSD).
3.Auf dem Ubuntu habe ich die SMB-Share \\192.168.2.11\Backups\Backup auf /mnt/smb_share gemountet.
4.Beim Versuch auf die SMB zu schreiben bekomme ich eine Fehlermeldung, daß ich keine Schreibrechte habe. Die Rechte sind 775.
Verstehe ich das richtig, dass das Backup aus Windows über SMSS angestoßen wird, dieses aber durch die SQL-DB auf dem Ubuntu ausgeführt und auf die Freigabe im NAS geschrieben werden soll? Wäre in diesem Falle nicht der SQL-User der schreibende User? Hat der Erlaubnis, auf das NAS zu schreiben?Viele Grüße, commodity
Ich habe das problem gelöst, aber konnte nicht herausfinden, was 'noperm' bewirkt hat.
Na, was es bewirkt, lässt sich ja auf der durch den Kollegen @7907292512 verlinkten Manpage nachlesen:Client does not do permission checks. This can expose files on this mount to access by other users on the local client system. ...
Wenn meine Annahme richtig ist, dass der SQL-User das Backup initiiert, funktioniert das natürlich nicht, wenn dieser keine Rechte auf dem Share hat. Er kann bei 775 zwar lesen, aber nicht schreiben. Mit noperm wird das übergangen, da es dann allein auf die Rechte des mountenden Users ankommt.
Viele Grüße, commodity