Wenn Sie mit verschiedenen Betriebssystemen arbeiten, ist es praktisch, Dateien zwischen ihnen austauschen zu können. In diesem Artikel wird erläutert, wie Sie den Dateizugriff zwischen Linux (Fedora 33) und Windows 10 mithilfe von Samba und mount.cifs einrichten.
Samba ist die Linux-Implementierung des SMB/CIFS-Protokolls, die den direkten Zugriff auf freigegebene Ordner und Drucker über ein Netzwerk ermöglicht. Mount.cifs ist Teil der Samba-Suite und ermöglicht das Mounten des CIFS-Dateisystems unter Linux.
VorsichtHinweis: Diese Anweisungen gelten für die gemeinsame Nutzung von Dateien in Ihrem privaten lokalen Netzwerk oder in einem virtualisierten Host-only-Netzwerk zwischen einem Linux-Hostcomputer und einem virtualisierten Windows-Gast. Betrachten Sie diesen Artikel nicht als Richtlinie für Ihr Unternehmensnetzwerk, da er die notwendigen Überlegungen zur Cybersicherheit nicht berücksichtigt.
Zugriff auf Linux von Windows
In diesem Abschnitt wird erläutert, wie Sie über den Windows-Datei-Explorer auf das Linux-Home-Verzeichnis eines Benutzers zugreifen.
1. Samba installieren und konfigurieren
Starten Sie auf Ihrem Linux-System, indem Sie Samba installieren:
dnf install samba
Samba ist ein System-Daemon und seine Konfigurationsdatei befindet sich in /etc/samba/smb.conf
. Die Standardkonfiguration sollte funktionieren. Wenn nicht, sollte diese minimale Konfiguration die Aufgabe erfüllen:
[global]
workgroup = SAMBA
server string = %h server (Samba %v)
invalid users = root
security = user
[homes]
comment = Home Directories
browseable = no
valid users = %S
writable = yes
Eine detaillierte Beschreibung der Parameter finden Sie im Abschnitt smb.conf auf der Website des Projekts.
2. Ändern Sie LinuxSE
Wenn Ihre Linux-Distribution durch SELinux geschützt ist (wie Fedora), müssen Sie Samba aktivieren, um auf das Home-Verzeichnis des Benutzers zugreifen zu können:
setsebool -P samba_enable_home_dirs on
Überprüfen Sie, ob der Wert eingestellt ist, indem Sie Folgendes eingeben:
getsebool samba_enable_home_dirs
Ihre Ausgabe sollte wie folgt aussehen:
sebool.png
(Stephan Avenwedde, CC BY-SA 4.0)
3. Aktivieren Sie Ihren Benutzer
Samba verwendet eine Reihe von Benutzern und Passwörtern, die berechtigt sind, eine Verbindung herzustellen. Fügen Sie Ihren Linux-Benutzer dem Set hinzu, indem Sie Folgendes eingeben:
smbpasswd -a <your-user>
Sie werden nach einem Passwort gefragt. Das ist ein ganz neu Passwort; es ist nicht das aktuelle Passwort für Ihr Konto. Geben Sie das Passwort ein, mit dem Sie sich bei Samba anmelden möchten.
So rufen Sie eine Liste der zulässigen Benutzertypen ab:
pdbedit -L -v
Entfernen Sie einen Benutzer, indem Sie Folgendes eingeben:
smbpasswd -x <user-name>
4. Samba starten
Da Samba ein System-Daemon ist, können Sie es auf Fedora starten mit:
systemctl start smb
Dadurch wird Samba für die aktuelle Sitzung gestartet. Wenn Sie möchten, dass Samba beim Systemstart automatisch gestartet wird, geben Sie Folgendes ein:
systemctl enable smb
Auf einigen Systemen ist der Samba-Daemon registriert als smbd
.
4. Konfigurieren Sie die Firewall
Standardmäßig wird Samba von Ihrer Firewall blockiert. Erlauben Sie Samba, dauerhaft auf das Netzwerk zuzugreifen, indem Sie die Firewall konfigurieren.
Sie können dies in der Befehlszeile tun mit:
firewall-cmd --add-service=samba --permanent
Oder Sie machen es grafisch mit dem Firewall-Config-Tool:
Firewall_Konfiguration.png

(Stephan Avenwedde, CC BY-SA 4.0)
5. Greifen Sie von Windows aus auf Samba zu
Öffnen Sie unter Windows den Datei-Explorer. Geben Sie in der Adresszeile zwei umgekehrte Schrägstriche gefolgt von der Adresse Ihres Linux-Rechners (IP-Adresse oder Hostname) ein:
windows_access_shared_1.png

(Stephan Avenwedde, CC BY-SA 4.0)
Sie werden nach Ihren Zugangsdaten gefragt. Geben Sie die Kombination aus Benutzername und Passwort aus Schritt 3 ein. Sie sollten jetzt auf Ihr Home-Verzeichnis auf Ihrem Linux-Rechner zugreifen können:
windows_acess_shared_2.png

(Stephan Avenwedde, CC BY-SA 4.0)
Von Linux aus auf Windows zugreifen
Die folgenden Schritte erklären, wie Sie von Linux aus auf einen freigegebenen Windows-Ordner zugreifen. Um sie zu implementieren, benötigen Sie Administratorrechte auf Ihrem Windows-Benutzerkonto.
1. Dateifreigabe aktivieren
Öffne das Netzwerk-und Freigabecenter entweder durch Anklicken des
Windows-Taste > Einstellungen > Netzwerk & Internet
oder indem Sie mit der rechten Maustaste auf das kleine Monitorsymbol unten rechts in Ihrer Taskleiste klicken:
open_network_and_sharing_center.png

(Stephan Avenwedde, CC BY-SA 4.0)
Suchen Sie im sich öffnenden Fenster die Verbindung, die Sie verwenden möchten, und notieren Sie ihr Profil. ich benutzte Ethernet 3, das als a . markiert ist Öffentliches Netzwerk.
Vorsicht: Erwägen Sie, das Verbindungsprofil Ihres lokalen Computers in zu ändern Privatgelände wenn Ihr PC häufig mit öffentlichen Netzwerken verbunden ist.
Merken Sie sich Ihr Netzwerkprofil und klicken Sie auf Erweiterte Freigabeeinstellungen ändern:
network_and_sharing_center_2.png

(Stephan Avenwedde, CC BY-SA 4.0)
Wählen Sie das Ihrer Verbindung entsprechende Profil aus und schalten Sie es ein Netzwerkerkennung und Datei- und Druckerfreigabe:
network_sharing.png

(Stephan Avenwedde, CC BY-SA 4.0)
2. Definieren Sie einen freigegebenen Ordner
Öffnen Sie das Kontextmenü, indem Sie mit der rechten Maustaste auf den Ordner klicken, den Sie freigeben möchten, navigieren Sie zu Zugriff gewähren auf, und wählen Sie Bestimmte Menschen… :
give_access_to.png

(Stephan Avenwedde, CC BY-SA 4.0)
Prüfen Sie, ob Ihr aktueller Benutzername auf der Liste steht. Klicke auf Teilen um diesen Ordner als freigegeben zu markieren:
tag_as_shared.png

(Stephan Avenwedde, CC BY-SA 4.0)
Sie können eine Liste aller freigegebenen Ordner anzeigen, indem Sie eingeben \localhost
in der Adresszeile des Datei-Explorers:
show_shared_folder_1.png

(Stephan Avenwedde, CC BY-SA 4.0)
show_shared_folder_2.png

(Stephan Avenwedde, CC BY-SA 4.0)
3. Mounten Sie den freigegebenen Ordner unter Linux
Gehen Sie zurück zu Ihrem Linux-System, öffnen Sie eine Befehlsshell und erstellen Sie einen neuen Ordner, in den Sie die Windows-Freigabe einhängen möchten:
mkdir ~/WindowsShare
Das Mounten von Windows-Freigaben erfolgt mit mount.cifs, die standardmäßig installiert werden sollte. Um Ihren freigegebenen Ordner vorübergehend bereitzustellen, verwenden Sie:
sudo mount.cifs //<address-of-windows-pc>/MySharedFolder ~/WindowsShare/ -o user=<Windows-user>,uid=$UID
In diesem Befehl:
<address-of-windows-pc>
ist die Adressinformation des Windows-PCs (IP oder Hostname)<Windows-user>
ist der Benutzer, der auf den freigegebenen Ordner zugreifen darf (ab Schritt 2)
Sie werden nach Ihrem Windows-Passwort gefragt. Geben Sie es ein, und Sie können mit Ihrem normalen Linux-Benutzer auf den freigegebenen Ordner unter Windows zugreifen.
So heben Sie die Bereitstellung des freigegebenen Ordners auf:
sudo umount ~/WindowsShare/
Sie können auch einen freigegebenen Windows-Ordner beim Systemstart bereitstellen. Befolgen Sie diese Schritte, um Ihr System entsprechend zu konfigurieren.
Zusammenfassung
Dies zeigt, wie Sie einen temporären Zugriff auf freigegebene Ordner einrichten, der nach jedem Booten erneuert werden muss. Es ist relativ einfach, diese Konfiguration für einen dauerhaften Zugriff zu ändern. Ich wechsle oft zwischen verschiedenen Systemen hin und her, daher halte ich es für unglaublich praktisch, einen direkten Dateizugriff einzurichten.