Greifen Sie von Windows 10 in VirtualBox auf die Samba-Freigabe zu

Greifen Sie von Windows 10 in VirtualBox auf die Samba-Freigabe zu

Ich habe viele Benutzerfragen und Blogs zu diesem Thema gelesen, aber nichts hat mein Problem behoben.

Ich habe einen Linux CENTOS-Host mit einem in VirtualBox installierten Windows 10-Gast. Unter Linux gibt es einen Benutzer namens „myuser“, der ein Verzeichnis (777) freigibt und in der Samba-Benutzerdatenbank registriert ist. Dieser Benutzer hat keine Kennwortbeschränkung. Das smb.confsieht so aus:

[global]
workgroup = WORKSPACE_SHARE
security = user
map to guest = bad user

[public]
path = /home/myuser/public
public = yes
writeable = yes
comment = smb share
printable = no
guest ok = yes

Windows verfügt über einen lokalen Benutzer mit demselben Namen („myuser“, kein Kennwort festgelegt), die Datei- und Druckerfreigabe ist aktiviert, der Microsoft-Client ist aktiviert, die Arbeitsgruppe ist mit der Samba-Arbeitsgruppe identisch und verwendet ein privates Netzwerk.

Im Explorer kann ich den Linux-Host sehen, der tatsächlich den freigegebenen Ordner („public“) enthält. Aber wenn ich versuche, auf diesen freigegebenen Ordner zuzugreifen, erscheint eine Fehlermeldung: Sie haben keine Zugriffsberechtigung...

Im Internet habe ich Dinge gelesen wie „Windows 10 verwendet SMBv3, aber Samba unterstützt es noch nicht“ und wie man SMBv3 abschaltet – aber es hat nichts geholfen.

Auch die Änderung der lokalen Sicherheitsrichtlinien unter Windows hat nicht geholfen:https://superuser.com/a/916835/408191

Wie kann ich dieses seltsame Problem beheben?

Antwort1

Einige Linux-Distributionen haben eine sogenannte SELinux-Implementierung in ihrem Kernel. Es steht für„Sicherheitsverstärktes Linux“und schränkt unter anderem Samba-Freigaben ein. Wenn Sie einen freigegebenen Ordner erstellen möchten, reicht es nicht aus, in entsprechende Zugriffsberechtigungen und eine Definition anzugeben samba.conf. Sie müssen auch den richtigen „Sicherheitskontext“ des freigegebenen Ordners festlegen.

Die folgende Berechtigungsmaske und der folgende Sicherheitskontext sollten funktionieren:

chmod -R 770 yoursharefolder
chcon -R -t samba_share_t yoursharefolder

Dabei müssen sämtliche Bedingungen eingehalten werden, die bereits aus anderen Wikis bekannt sind:

  • Der Unix-Benutzer als Eigentümer der Freigabe muss zur Samba-Benutzerdatenbank hinzugefügt werden:smbpasswd -a youruser
  • Auf Ihrem Windows-Computer muss ein Benutzer mit demselben Namen und demselben Kennwort vorhanden sein, wie in der Samba-Datenbank festgelegt.
  • Ihr samba.confkönnte so aussehen:

samba.conf(alle Teile in Großbuchstaben müssen an Ihre jeweilige spezifische Umgebung angepasst werden):

[global]
workgroup = SAME_WORKGROUP_AS_CONFIGURED_IN_WINDOWS
server string = Samba Server %v
netbios name = HOST_NAME_OF_YOUR_LINUX_MACHINE_ON_NETWORK
security = user
map to guest = bad user
dns proxy = no

[yourshare]
path = /PATH/TO/YOURSHARE
valid users = YOUR_WINDOWS_USER_NAME
browsable = yes
writeable = yes
guest ok = no
read only = no
directory mask = 0770
create mask = 0770

Bearbeiten:Beachten Sie, dass die Änderungen chconnicht dauerhaft sind. Um dauerhafte Änderungen am Sicherheitskontext vorzunehmen, verwenden Sie den folgenden Befehl:

semanage fcontext -a -t samba_share_t /full/path/to/your/share/folder

...und um es wirksam zu machen:

restorecon -v /full/path/to/your/share/folder

verwandte Informationen