[erledigt] Fehler beim mount von CIFS

Probleme mit Samba, NFS, FTP und Co.
Antworten
suleiman
Beiträge: 192
Registriert: 21.12.2016 04:09:41

[erledigt] Fehler beim mount von CIFS

Beitrag von suleiman » 15.05.2018 14:56:56

Nachtrag:
Ich habe mein ursprüngliches Problem in Griff bekommen, dank des Tips von weshalb.
Nun hab ich ein anderes Problem und zwar der mount-Befehl funktioniert nicht wie gewollt.
Weiter unten im Post beschreibe ich das Problem genauer.

Diese Post wurde editiert weil der Betreff nicht mehr stimmt und ich ihn anpassen wollte.

--------------------

Alter Post ...

Ich versuche vergeblich Samba nach meinen Wünschen zu konfigurieren.
Mein Ziel:

Gast ...
/srv/smb/music (ro)
/srv/smb/videos (ro)
/srv/smb/pictures (ro)

Users ...
~/ (rw)
/srv/smb/keepass (rw)
/srv/smb/music (ro)
/srv/smb/videos (ro)
/srv/smb/pictures (ro)
/srv/smb/prog (ro)
/home/*/Öffentlich (ro)

Mario ...
~/ (rw)
/srv/smb/keepass (rw)
/srv/smb/music (rw)
/srv/smb/videos (rw)
/srv/smb/pictures (rw)
/srv/smb/prog (ro)
/home/*/Öffentlich (ro)

Ich hab es geschafft die Konfiguration so anzupassen dass sich alle Benutzer authentifizieren können und ein Heimatverzeichnis haben.
Da können sie schreiben und lesen wie gewollt. Freigaben im Heimatverzeichnis erstellen hab ich nicht probiert weil ich erst mal alle anderen Probleme beseitigen will bevor ich mir neue Probleme auflade.

Es können alle User auf Bilder, Musik und Filme zugreifen/authentifizieren und es gibt auch einen Gastzugriff.
Getestet habe ich auch die Funktion "guest ok = no" damit ich sicher sein kann dass alle Benutzer sich authentifizieren müssen.
Wiederrum die Schreibrechte für den Benutzer Mario auf den Medienverzeichnissen funktionieren nicht.
Ich dachte es könnte an den Datei-Rechten liegen, aber selbst bei 777 hat Mario keine Rechte zum schreiben.

Es bekommt auch keiner hin sich auf das Verzeichnis /srv/smb/keepass zu authentifizieren, mit Ausnahme vom Benutzer keepass selbst (welcher eigentlich nur für SFTP genutzt werden soll).
Ich finde leider keine Fehlermeldung in den Logs (/var/log/samba/*), auser das der Drucker nicht gefunden wird.
in der /var/log/auth.log sehe ich die Authentifizierung der Benutzer.
Wenn jemand versucht auf /srv/smb/keepass zu zugreifen wird einen Verbindung erlaubt, aber gleich danach wird die Verbindung wieder beendet.
Das Verzeichnis wurde auch auf 777 gestellt, hilft leider alles nicht.

Backupverzeichnis wurde noch nicht eingerichtet, weil es noch Probleme mit Schreibrechten und der Authentifizierung auf andere Verzeichnisse gibt.
Es soll Backup-Verzeichnisse geben, so dass jedes System nur sein eigenes Backup sieht und mit root Backups via Backup-Scripts vorgenommen wird.
/srv/smb/*/backup (rw)
/srv/smb/prog (rw)


Hier die /etc/samba/smb.conf

Code: Alles auswählen

# Kommentare in smb.conf sind Zeilen, welche mit "#" oder ";" beginnen.

[global]
workgroup = WORKGROUP
server string = %h
wins support = no


#############################
# Benutzerauthentifizierung #
#############################
security = user
encrypt passwords = true
invalid users = root 
guest ok = yes
map to guest = bad user
guest account = nobody




########################
# Zeit-Synchronisation #
########################
time server = yes



######################
# Art der Verbindung #
######################
; dns proxy = no
; interfaces = eth0
; bind interfaces only = yes
; hostname lookups = yes
; hosts allow = debian, raspbian, windows 




########################
# Debugging/Accounting #
########################
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d



#############################
# Verwaltung der Passwörter #
#############################
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes




#############
# Sonstiges #
#############
/var/lib/samba -s /bin/false %u
usershare allow guests = yes



#======================= Share Definitions =======================

[homes]
comment = Heimatverzeichnis
browseable = no
read only = no
create mask = 0750
directory mask = 0775
valid users = %S

[keypass]
path = /srv/smb/keepass
comment = Keepass2 Datenbank
browseable = no
guest ok = no
writeable = no
write list = mario,@keepass
force user = keepass
force group = keepass
create mask = 0660
directory mask = 0660

[Musik]
path = /srv/smb/music
comment = Meine Musiksammlung
browseable = yes
guest ok = yes
writeable = no
write list = mario
create mask = 0744
directory mask = 0744

[Bilder]
copy = Musik
path = /srv/smb/pictures
comment = Meine Bildersammlung

[Videos]
copy = Musik
path = /srv/smb/videos
comment = Meine Videosammlung
Ich kann gern noch die Logs und Verzeichnisstruktur posten, wenn es was hilft.
Zuletzt geändert von suleiman am 18.05.2018 14:44:16, insgesamt 2-mal geändert.

Benutzeravatar
weshalb
Beiträge: 777
Registriert: 16.05.2012 14:19:49

Re: Samba Authentifikation und Schreibrechte

Beitrag von weshalb » 15.05.2018 20:14:22

suleiman hat geschrieben: ↑ zum Beitrag ↑
15.05.2018 14:56:56
Es bekommt auch keiner hin sich auf das Verzeichnis /srv/smb/keepass zu authentifizieren, mit Ausnahme vom Benutzer keepass selbst (welcher eigentlich nur für SFTP genutzt werden soll).
Ich frage mich dann, warum in der smb.conf zu /srv/smb/keepass
force user = keepass
force group = keepass
steht. Nimm das mal raus, überprüfe die Rechte des Ordners (die sollten nicht nur von keepass beschreibbar sein), starte Samba neu und gucke, was passiert.

Am Besten ist, du räumst da mal richtig auf. Also den Ordnern die richtigen Rechte nach User und Gruppen vergeben und dann Stück für Stück die smb.conf anpassen. Beispiele und Lösungen findest du hier im Forum genug.

suleiman
Beiträge: 192
Registriert: 21.12.2016 04:09:41

Re: Samba Authentifikation und Schreibrechte

Beitrag von suleiman » 16.05.2018 22:25:22

Joa, jetzt klappt es.
Ohne "force user" können sich alle für /srv/smb/keepass authentifizieren.

Ich dachte mit "force user" bekommen alle Benutzer eine neue UID zugeteilt, so wie der "force group" Befehl, womit die GID bestimmt wird.
Da hatte ich wohl was falsch verstanden.

Dann hatte ich noch einen Rechtscheibfehler in einem Verzeichnisnamen, wodurch man sich auch nicht authentifizieren konnte.
Komisch nur dass die Logeinträge nicht darauf hin gewiesen haben.

Jetzt bleibt nur noch die Frage offen wie man System-Backups auf den Samba-Server überträgt.
Ich nutz ein Script womit inkrementelle Backups vom System erstellt werden.
Dieses Script nutzt root-Rechte und erstellt eine tgz-Datei die nur mit root entpackt werden kann.

Ich weiß man soll in der smb.conf das kommando "inherit owner" dafür nutzen, aber ich möchte nicht für jedes System eine Freigabe mit extra Gruppenrechten erstellen müssen.
Gibt es eine Möglichkeit die Variable %m oder %M in das freizugebende Verzeichnis einzubauen ?
Im Prinzip so was wie die [homes] Freigabe nur mit Systemnamen statt Benutzernamen ?!

Benutzeravatar
weshalb
Beiträge: 777
Registriert: 16.05.2012 14:19:49

Re: Samba Authentifikation und Schreibrechte

Beitrag von weshalb » 16.05.2018 23:11:08

suleiman hat geschrieben: ↑ zum Beitrag ↑
16.05.2018 22:25:22
Jetzt bleibt nur noch die Frage offen wie man System-Backups auf den Samba-Server überträgt.
Intern handel ich meine Backups mit RSnapshot auf Verzeichnis XYZ aus und gebe, wenn gewünscht, dem Ordner unter Samba nur Leserechte. So kann ein bestimmter User auf seine Dateien zugreifen falls mal etwas gelöscht wurde.

suleiman
Beiträge: 192
Registriert: 21.12.2016 04:09:41

Re: Samba Authentifikation und Schreibrechte

Beitrag von suleiman » 17.05.2018 01:56:35

Folgendes habe ich mir vorgestellt und probiert ...

Neuen Benutzer erstellt, der gebraucht wird um Backups zu erstellen und sonst keine Rechte hat.
Login-Rechte werden dem Benutzer entzogen, damit er sich NUR über Samba anmelden kann.
Der Benutzer soll nur Backups erstellen können und bekommt deswegen ein sonst leeres Heimatverzeichnis.
Server ...

Code: Alles auswählen

adduser bak
smbpasswd -a bak
usermod -s /usr/sbin/nologin bak
chown root:root /home/bak
chmod 0755 /home/bak
Hier noch die Freigabe aus der smb.conf

Code: Alles auswählen

[backup]
path = /srv/smb/backups/%m
comment = Inkrementelle Backups vom System
browseable = no
guest ok = no
writeable = yes
valid users = bak
inherit owner = yes
Klappt aber nicht mit Variablen in Dateinamen scheinbar.

Client ...

Code: Alles auswählen

apt install cifs-utils
nano ~/.smbcredentials
chmod 0600 ~/.smbcredentials
Irgendwie bekomme ich alle Backup-Verzeichnisse angezeigt und ich muß ins passende Unterverzeichnis wechseln, was ich eigentlich nicht wollte.
Es wurde extra die Variable %m als Pfad angegeben!

Wenn %M statt %m genutzt wird dann bekomme ich nur eine Fehlermeldung.
Server ...

Code: Alles auswählen

root@mysrv:~# dmesg | tail -n7
[1224374.827315] Key type dns_resolver registered
[1224374.861229] FS-Cache: Netfs 'cifs' registered for caching
[1224374.861600] Key type cifs.spnego registered
[1224374.861636] Key type cifs.idmap registered
[1224374.862991] CIFS VFS: No username specified
[1224434.782701] CIFS VFS: No username specified
[1224605.931472] CIFS VFS: cifs_mount failed w/return code = -6
Client ...

Code: Alles auswählen

root@debian:~# mount -t cifs -o credentials=~/.smbcredentials //192.168.147.1/backup /mnt
Retrying with upper case share name
mount error(6): No such device or address
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Nachtrag:
Komisch, wenn ich es mit dem Nautilus probiere dann klappt es, aber wenn ich es mit der Konsole probiere dann klappt es nicht.
Irgendwas muß ich wohl mit dem mount-Befehl anders machen.
Eigentlich müsste ich auch %M in der smb.conf nutzen, weil bei mir kein NetBIOS läuft sondern dhcp & bind.

suleiman
Beiträge: 192
Registriert: 21.12.2016 04:09:41

Re: Fehler beim mount von CIFS

Beitrag von suleiman » 18.05.2018 14:43:54

Ich habe den Fehler gefunden.
Meine Anfragen mit mount.cifs gingen noch scheinbar über Port 445.
Ich mußte in meine smb.conf den Parameter "smb ports = 139" in die [global] Sektion einfügen.
Hat wohl damit zu tun dass NetBIOS nicht mehr unterstützt wird und daher der Port 445 nicht mehr genutzt wird.
Jetzt funktioniert alles wie gewünscht.

Antworten