Ziel ist ein gemeinsames Datenverzeichnis, auf das ich sowohl vom Hauptsystem als auch von einer virtuellen Maschine (Windows 10 Pro) zugreifen kann.
1. Versuch mit Samba:
Mit hilfreichen Händen (danke TomL & halo44 ! ) hat man mir dazu auch schon einmal auf einem anderen System verholfen
viewtopic.php?t=173999&start=45
Nach diesem Vorbild bin ich auch dieses Mal vorgegangen.
Zunächst, wie in
https://debian-handbook.info/browse/de- ... ation.html
beschrieben, installiert:
apt-get install libvirt-clients libvirt-daemon-system qemu-kvm virtinst virt-manager virt-viewer
Dazu dann noch: bridge-utils spice-vdagent iputils-ping
Benutzer »martin« ist den Gruppen »kvm«, »libvirt« und »libvirt-qemu« hinzugefügt.
Die VM (Windows 10) funktioniert mit dem default-Netzwerk, Internetzugang, Fritz!Box kann verlustfrei angepingt werden, ebenso der Host-PC.
Dann weiter wie im Thread aus 2019 beschrieben:
Code: Alles auswählen
root@L14:~# systemctl stop smbd nmbd
root@L14:~# smbpasswd -a martin
New SMB password:
Retype new SMB password:
Added user martin.
root@L14:~# addgroup sambauser
Lege Gruppe »sambauser« (GID 1001) an ...
Fertig.
root@L14:~# adduser martin sambauser
Füge Benutzer »martin« der Gruppe »sambauser« hinzu ...
Benutzer martin wird zur Gruppe sambauser hinzugefügt.
Fertig.
root@L14:~# pdbedit -L
Code: Alles auswählen
root@L14:~# mkdir /media/Daten
root@L14:~# chown root:sambauser /media/Daten
root@L14:~# chmod 770 /media/Daten
root@L14:~# ls /media | grep Daten
Daten
root@L14:~# echo "Dies ist eine Testdatei" >/media/Daten/Testdatei
Code: Alles auswählen
root@L14:~# mv /etc/samba/smb.conf /etc/samba/smb.conf.alt
root@L14:~# touch /etc/samba/smb.conf
root@L14:~# nano /etc/samba/smb.conf
root@L14:~#
Code: Alles auswählen
GNU nano 5.4 /etc/samba/smb.conf
# smb.conf
# Date : 16.11.2018
# Version: 1.0
#============================================================
[global]
# hosts allow = 192.168.1.0/24 localhost
workgroup = WORKGROUP
server string = %h server
server role = standalone server
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = no
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 = no
map to guest = bad user
usershare allow guests = no
invalid users = root
#======================= Share Definitions =======================
[Daten]
path=/media/Daten
writeable = yes
browseable = yes
guest ok = no
write list = @sambauser
valid users = @sambauser
force user = martin
force group = sambauser
create mask = 0770
force create mode = 0660
directory mask = 0770
force directory mode = 0770
#[Public]
#path=/media/ZweitesDir
#writeable = yes
#browseable = yes
#guest ok = no
#write list = @sambauser
#valid users = @sambauser
#force user = martin
#force group = sambauser
#create mask = 0770
#directory mask = 0770
#force create mode = 0660
#force directory mode = 0770
#=============================================================
#EOF
Code: Alles auswählen
martin@L14:~$ testparm
Load smb config files from /etc/samba/smb.conf
lpcfg_do_global_parameter: WARNING: The "encrypt passwords" option is deprecated
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
dns proxy = No
log file = /var/log/samba/log.%m
map to guest = Bad User
max log size = 1000
panic action = /usr/share/samba/panic-action %d
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd program = /usr/bin/passwd %u
security = USER
server role = standalone server
server string = %h server
unix password sync = Yes
idmap config * : backend = tdb
invalid users = root
[Daten]
create mask = 0770
directory mask = 0770
force create mode = 0660
force directory mode = 0770
force group = sambauser
force user = martin
path = /media/Daten
read only = No
valid users = @sambauser
write list = @sambauser
martin@L14:~$
Code: Alles auswählen
martin@L14:~$ systemctl status smbd nmbd
● smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-12-22 23:34:09 CET; 1min 57s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Process: 3350 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCC>
Main PID: 3355 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 4 (limit: 76932)
Memory: 6.5M
CPU: 70ms
CGroup: /system.slice/smbd.service
├─3355 /usr/sbin/smbd --foreground --no-process-group
├─3357 /usr/sbin/smbd --foreground --no-process-group
├─3358 /usr/sbin/smbd --foreground --no-process-group
└─3359 /usr/sbin/smbd --foreground --no-process-group
● nmbd.service - Samba NMB Daemon
Loaded: loaded (/lib/systemd/system/nmbd.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-12-22 23:34:09 CET; 1min 57s ago
Docs: man:nmbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 3353 (nmbd)
Status: "nmbd: ready to serve connections..."
Tasks: 1 (limit: 76932)
Memory: 2.7M
CPU: 45ms
CGroup: /system.slice/nmbd.service
└─3353 /usr/sbin/nmbd --foreground --no-process-group
lines 1-31/31 (END)
Code: Alles auswählen
C:\Users\herrn>ping /a 192.168.178.59
Ping wird ausgeführt für l14 [192.168.178.59] mit 32 Bytes Daten:
Antwort von 192.168.178.59: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.178.59: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.178.59: Bytes=32 Zeit<1ms TTL=64
Antwort von 192.168.178.59: Bytes=32 Zeit<1ms TTL=64
Ping-Statistik für 192.168.178.59:
Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
(0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms
C:\Users\herrn>ping /a 192.168.178.1
Ping wird ausgeführt für 192.168.178.1 mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Antwort von 192.168.178.1: Bytes=32 Zeit=1ms TTL=63
Ping-Statistik für 192.168.178.1:
Pakete: Gesendet = 4, Empfangen = 1, Verloren = 3
(75% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 1ms, Maximum = 1ms, Mittelwert = 1ms
C:\Users\herrn>
Aber:
Code: Alles auswählen
C:\Users\herrn>net use x: \\192.168.178.59\Daten /user:martin PASSWORD:password /persistent:yes
Systemfehler 53 aufgetreten.
Der Netzwerkpfad wurde nicht gefunden.
C:\Users\herrn>
Code: Alles auswählen
C:\Users\herrn>net use x: \\192.168.178.59\Daten /user:martin PASSWORD:password /persistent:yes
Systemfehler 86 aufgetreten.
Das angegebene Netzwerkkennwort ist falsch.
C:\Users\herrn>
2. Versuch mit bullseye-Maschine:
Um zu checken, ob es sich um ein Windows-Problem handelt, habe ich es mit mit einer Linux-Maschine probiert, bullseye:
Hier wieder wie o.g. von TomL empfohlen:
Code: Alles auswählen
root@L14-VMM-debian:~# mkdir /media/Daten
root@L14-VMM-debian:~# mount //192.168.178.59/Daten /media/Daten -t cifs -o defaults,username=martin
root@L14-VMM-debian:~# ls /media/Daten
KVM lost+found Packages Testdatei
root@L14-VMM-debian:~# echo "Dies ist eine zweite Testdatei" >/media/Daten/TestdateiNo2
root@L14-VMM-debian:~# ls /media/Daten/
KVM lost+found Packages Testdatei TestdateiNo2
root@L14-VMM-debian:~#
Also Windowsproblem?
3. Versuch über NFS:
In der Linuxwelt 1/2021 (Eggeling, Thorsten: Alternativen für den Datentausch, S. 76-79) wird eine Alternative zu Samba beschrieben, und zwar über NFS.
Dazu wird zunächst das Paket nfs-kernel-server installiert.
Anschließend geht es mit folgendem Befehl weiter:
Code: Alles auswählen
root@L14:~# mkdir -p /srv/nfsv4/freigabe1
Code: Alles auswählen
root@L14:~# nano /etc/exports
Code: Alles auswählen
GNU nano 5.4 /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/srv/nfsv4 192.168.178.0/24(rw,async,insecure,root_squash,no_subtree_check,fsid=0)
/srv/nfsv4/freigabe1 192.168.178.0/24(rw,async,insecure, root_squash,no_subtree_check)
Code: Alles auswählen
root@L14:~# mkdir /srv/nfsv4/media/
root@L14:~# mkdir /srv/nfsv4/media/Daten/
root@L14:~#
Code: Alles auswählen
GNU nano 5.4 /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/VG--L14-lv--root / ext4 errors=remount-ro 0 1
# /boot was on /dev/nvme0n1p1 during installation
UUID=bdcb988e-c9a9-4e63-b8bb-62339c8b4675 /boot ext4 defaults 0 2
/dev/mapper/VG--L14-lv--home /home ext4 defaults 0 2
/dev/mapper/VG--L14-lv--swap none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
# Konfiguration 23.12.2021
/dev/mapper/VG--L14-lv--daten /mnt/Daten ext4 defaults 0 2
/dev/mapper/VG--L14-lv--daten /media/Daten ext4 defaults 0 2
Code: Alles auswählen
root@L14:~# mount -a
Code: Alles auswählen
root@L14:~# mount -o bind /media/Daten /srv/nfsv4/media/Daten/
root@L14:~#
Anschließend noch einmal anpassen der /etc/exports:
Code: Alles auswählen
GNU nano 5.4 /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/srv/nfsv4 192.168.178.0/24(rw,async,insecure,root_squash,no_subtree_check,fsid=0)
/srv/nfsv4/freigabe1 192.168.178.0/24(rw,async,insecure, root_squash,no_subtree_check)
#
/srv/nfsv4/user 192.168.178.0/24(rw,async,nohide,insecure,no_subtree_check,no_root_squash)
Nun soll "einfach" NFS neugestartet werden, aber es folgt leider die Meldung:
Code: Alles auswählen
root@L14:~# service nfs-kernel-server restart
Job for nfs-server.service canceled.
Code: Alles auswählen
root@L14:~# showmount -e localhost
clnt_create: RPC: Program not registered
root@L14:~#
Einbindung unter Windows soll ganz einfach erfolgen:
Im "Ausführen-Dialog" (Windowstaste + R) das Tool (und damit den Begriff) "optionalfeatures" eingeben und starten und dann im sich öffnenden Fenster "Windows-Features" unter "Dienste für NFS" einen Haken anklicken. Hinter "Dienste für NFS" verbergen sich auch die "Clients für NFS" und die "Verwaltung".
[album][/album]
Optional lässt sich auch weiter unten das "Windows Subsystem für Linux" aktivieren, das Eggeling (s.o.) als Alternative ergänzt.
Trotzdem kamen dann folgende Fehlermeldungen:
Code: Alles auswählen
Microsoft Windows [Version 10.0.19041.264]
(c) 2020 Microsoft Corporation. Alle Rechte vorbehalten.
C:\Users\herrn>showmount -e 192.168.178.59
RPC: Programm ist nicht verfügbar.RPC: Portzuordnungsprogramm-Fehler - RPC: Zeitüberschreitung.
C:\Users\herrn>mount -o nolock,fileaccess=644 \\192.168.178.59\srv\nfs4 C:
Netzwerkfehler - 85
Geben Sie "NET HELPMSG 85" ein, um weitere Informationen zu erhalten.
C:\Users\herrn>NET HELPMSG 85
Der lokale Gerätename wird bereits verwendet.
Gruß
marind