25
August
2022
16:00

CIFs und Samba: Verbindung zu den allgemeinen Windows -Ordnern

25 August 2022 16:00

Für die Arbeit muss eine Verbindung von Linux mit dem allgemeinen Windows -Ordner hergestellt werden, um Dateien abzuholen oder zu übertragen. Unternehmen mit 99% verwenden Computer, die Windows ausführen, sodass Sie eine Verbindung von Linux zu Windows herstellen müssen.

Samba -Installation eines Clients unter Linux

sudo apt-get update
sudo apt-get install samba-client
sudo apt-get install cifs-utils

Um die Netzwerkumgebung in der GUI anzuzeigen

sudo apt-get install nautilus nautilus-share

Sehen Sie gemeinsame Netzwerkressourcen mithilfe einer Befehlszeile an

Rufen Sie den Samba -Client auf, um Serverressourcen aus der Befehlszeile anzusehen:

1) Häufige Ordner für den allgemeinen Zugriff auf das Netzwerk für lokale Serverbenutzer anzeigen

smbclient -L //192.168.100.10 -U Username%Password

oder

smbclient -L //servername -U Username%Password

Wo: 192.168.100.10 - IP -Serveradresse, Servera - Servername, Benutzername - lokaler Serverbenutzer, Passwort - Benutzerkennwort

2) Betrachten gemeinsamer Ordner, die für den allgemeinen Zugriff auf die Domänenbenutzer bereitgestellt werden

smbclient -L //192.168.100.10 -U Domain/Username%Password

oder

smbclient -L //192.168.100.10 -U Username%Password -W Domain

oder mit Namen

smbclient -L //servername -U Username%Password -W Domain

Wobei die Domäne der Name der Active Directory -Domäne ist.

Oder (um das Kennwort nicht jedes Mal in den Befehlsparametern zu melden) erstellen Sie eine Datei ~/.smbcredentials
Mit den Eingangsdaten:

username=Benutzername
password=Passwort
domain=eigenständiger_Server_oder_Domänenname

Dann schließen Sie sich dem Netzwerkkatalog an:

smbclient //server/share --authentication-file=/home/vladimir/.smbcredentials 

Verbindung zu einem gemeinsamen Samba -Ordner im interaktiven Modus herstellen

Das Gleiche, aber ohne Schlüssel -l, aber mit dem Parameter - dem Namen des allgemeinen Ordners, in diesem Fall "Freigabe"

smbclient //192.168.100.10/share -U Domain/Username%Password

oder

smbclient //servername/share -U Domain/Username%Password

oder

smbclient //servername/share -U Username%Password -W Domain

Nach einem erfolgreichen Eingang tritt eine Einladung auf

smb: \>

Sie können Befehle eingeben, z. B. Hilfe oder Dir. Die SMBClient -Schnittstelle mit Befehlen ähnelt einem FTP -Client.

Verbindung zu allgemeinen Ordnern mit dem Nautilus -Dateimanager

Wählen Sie nach dem Start von Nautilus "+ andere Orte" auf der linken Seite des Fensters ** - Das Anzeigen des lokalen Netzwerks wird geöffnet, wo Sie Computer im Netzwerk mit allgemeinen Ordnern anzeigen können.

Lösen des Problems mit der Verbindung: Entfernen Sie den Fehler -13 Zugriff verweigert oder nt_status_access_denied

Fehler:CIFS: VFS: cifs_mount failed w/return code = -13"

Dieser Fehler kann nur durch Einrichten von Rechten auf dem Server gelöst werden. Um den Gesamtansichtsordner zu öffnen, benötigen Sie drei Bedingungen:
1) Der Benutzer ist unter den Benutzern des Servers il domain angegeben (oder der Gäste vom Typ Zugrifftyp ist zulässig).
2) Bereitstellung (nicht begrenzt) Zugriff auf das Dateisystem.
3) Dan Access auf einen bestimmten Netzwerkordner - Zum Beispiel ist der Benutzer in der Benutzergruppe enthalten, auf die er Zugriff auf den gemeinsamen Ordner erhält.

Der letzte dritte Zustand ist der strengste. Es ist notwendig, dass der Serveradministrator dem Benutzer das Recht gewährt (in eine Gruppe von Benutzern eines gemeinsamen Ordners einbezieht).

Das Interessanteste ist, dass die Rechte des Administrators dies nicht garantieren, er hat vollständige Rechte, auf einen gemeinsamen Ordner zuzugreifen, da der Benutzer "Administrator" in die Gruppe aufgenommen wird, was die Rechte an den Netzwerkordner danu gewährt wird. In dieser Hinsicht unterscheidet sich der Administrator nicht von der Oter/No -Gruppe: Er erhält den Mount -Fehler (13): Erlaubnis abgelehnt, da er nicht in der Gruppe der Benutzer des Netzwerkordners enthalten ist.

Verwenden des Befehls des Mount

Anstatt smbclient sie können den Befehl verwenden mount.

Zuerst müssen Sie Mountspunkte erstellen und das Recht geben, auf den Ordner zuzugreifen, z. B.:

sudo mkdir /mnt/cifs
sudo chmod 0777 /mnt/cifs

Beispiele für die Verwendung des Mount -Teams mit Netzwerkordnern:

sudo mount -t cifs //192.168.20.222/share /mnt/cifs -o user=Vlad,pass=Str0ngPa$$word
ls  /mnt/cifs
sudo umount //192.168.20.222/share
ls  /mnt/cifs

Oder dasselbe mit der Datei .smbcredientials:

sudo mount -t cifs //192.168.20.222/share /mnt/cifs -o credentials=/home/vladimir/.smbcredentials

Wenn der Name des Netzwerkordners Lücken enthält ("mit Leerzeichen im Namen teilen"), müssen Sie wie folgt eingeben:

sudo mount -t cifs //192.168.20.222/share\ with\ spaces\ in\ name /mnt/cifs -o credentials=/home/vladimir/.smbcredentials

HINWEIS: Damit der Befehlsordner mount nicht nur zum Lesen, sondern auch für den Remote-Ofen geschrieben wird, müssen Sie den Remote-Benutzer mit den Parametern der Linux-Lokal vergleichen uid = 1000, gid-1000 . Wobei 1000 Linux durch einen UID- und GID -Benutzer ersetzen soll (angezeigt vom Befehl id).
Oder zu den Parametern hinzufügen -o noperm, iOcharset = utf8 .
In den Schlüsselschlüssel können Sie die Samba -Version festlegen, mit der wir eine Verbindung herstellen. Zum Beispiel,
für SMB2: Vers = 2.0 oder für SMB3 Vers = 3.0 .

Beispiele:

sudo mount -t cifs //192.168.20.222/share\ with\ spaces\ in\ name /mnt/cifs -o user=username,pass=password,uid=1000,gid=1000

sudo mount -t cifs //192.168.20.222/share\ with\ spaces\ in\ name /mnt/cifs -o credentials=/home/vladimir/.smbcredentials,vers=2.0,noperm 

Wenn die angegebene Version von Samba (z. B. SMB3) vom Server nicht unterstützt wird, wird ein Fehler angezeigt "mount error(95): Operation not supported.".

Das Hinzufügen des Nofail -Parameters ist nützlich, wenn nicht bekannt ist, ob der Remote -Computer (Server) eingeschaltet ist oder nicht.

Montage eines Netzwerkordners während des Downloads (Datei /etc /fstab)

Zeilensyntax in /etc /fstab:

//[URL]/[sharename] /mnt/[mountpoint] cifs vers=3.0,credentials=/home/username/.sharelogin,iocharset=utf8,file_mode=0777,dir_mode=0777,uid=[username],gid=[username],nofail 0 0

Wo:
//[URL]/[sharename] - Server- und Netzwerkordnername
/mnt/[mountpoint] - Einhängepunkt auf dem lokalen Computer
vers=3.0 - Installation der SMB3-Protokollversion erzwingen (oder Version 2.0 – wenn Client und Server nur SMB2 unterstützen)
credentials=/home/username/.sharelogin - Angabe einer Datei mit Benutzername, Passwort und Login-Domäne
iocharset=utf8 - direkte Angabe des utf8-Zeichensatzes (nicht notwendig, wenn es ohne funktioniert)
file_mode=0777,dir_mode=0777 - Berechtigungen beim Ausführen von mount
uid=[username],gid=[username] - UID- und GID-Daten aus der Befehlsausgabe cat /etc/passwd | grep username
nofail - Das Laden des Betriebssystems wird auch dann fortgesetzt, wenn der Server nicht verfügbar ist URL

Andere Parameter:
defaults“ – enthält die Optionen rw, suid, dev, exec, auto, nouser und async. Geht normalerweise zuerst, weil Sie später einzelne Optionen in der Zeile überschreiben können, zum Beispiel: defaults, noexec, ro – keine Ausführung, schreibgeschützt.
rw“ ist auf der Clientseite offensichtlich lese- und schreibgeschützt (was das Gegenteil von ro ist – schreibgeschützt (schreibgeschützt).
suid“ – verbietet die Verwendung der Berechtigungsbits SUID (Set-User-IDentifier) oder SGID (Set-Group-IDentifier). Grob gesagt verbietet es die Übertragung einiger Rechte mithilfe der SUID- und SGID-Bits – die Rechte müssen explizit festgelegt werden.
auto“ – verwendet in /etc/fstab – ermöglicht das automatische Mounten von Netzwerkressourcen beim Ausführen des Befehls mount -a
noauto“ – verhindert, dass fstab den Ordner automatisch einbindet, wenn der Befehl mount -a ausgeführt wird.
nouser“ – direktes Verbot des „manuellen“ Mountens durch alle Benutzer außer Root (hat keinen Einfluss auf das Mounten während des Betriebssystemstarts)
guest“ – für den Zugriff auf freigegebene „Gast“-Ordner, auf die über das Netzwerk zugegriffen werden kann, ohne dass ein Benutzername und ein Passwort angegeben werden müssen.
async“ – Daten werden nach Möglichkeit in den Netzwerkordner geschrieben – der Standardwert. Verbessert die Produktivität.
sync“ – sofortige Aufzeichnung auf einem Remote-Computer (ohne Verwendung von Puffern), nicht empfohlen.
noperm“ – deaktiviert die integrierte Rechteprüfung des Clients. Sie verwenden noperm, wenn sie scheinbar Rechte haben, es aber aufgrund der Inkompatibilität bei der Implementierung von CIFS auf dem Client und dem Server nicht möglich ist, eine Datei zum Schreiben beispielsweise programmgesteuert zu erstellen.
noexec“ – direktes Verbot des Startens ausführbarer Dateien aus einem Netzwerkordner
noatime“ – Aktualisiert die Dateierstellungszeit nicht (verbessert die Leistung, reduziert aber den Informationsgehalt)
nounix“ – Linux-Erweiterungen deaktivieren: keine symbolischen Links verwenden. Wird verwendet, um symbolische Links aus Gründen der Windows-Kompatibilität zu deaktivieren.
mfsymlinks“ – Schlüssel für symbolische Links im Minshall+French-Stil. Dieser Linkstil wird auf Windows und Mac unterstützt.

Beispiele für die Linie in fstab (wobei die Eingabedaten in der Datei /etc/.Smbcredientialials angegeben sind):

//192.168.20.222/share_name rw,auto,nofail,credentials=/etc/.smbcredentials 0 0

Wenn in/etc/hosts oder der lokale DNS -Server die Namen der Maschinen anstelle von IP -Adressen geschrieben werden, können Sie einen allgemeinen Ordner mit dem Namen // Server/Freigabe anschließen.

FSTAB -Basis -Installationsteam:

sudo mount -a

Alle auf /etc /fstab basierenden Discs werden mit Ausnahme des Parameters "noauto" geändert.

Kurze SAMBA -Einstellungen in Windows (Protokolle SMB1, SMB2, SMB3)

Das Samba -Protokoll hat drei Versionen 1, 2 und 3.
Das SMB1 -Protokoll ist enthalten, wenn die Organisation Autos für Windows XP hat. In anderen Fällen versuchen sie, SMB1 als unsicher auszuschalten.

Ein- und ausgeschaltet in Windows 7 und Windows Server 2008R2 wird mit einer Registrierung, Parametern, erstellt
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ LanManserver \ Parameter
DWORD -Typparameter
SMB1 = 0
Smb2 = 1

In Windows 8, Windows 10, 11, Windows Server 2012, 2016 und über dem Befehl PowerShell wird verwendet

Get-smbserverconfiguration | SELECTED MB1PROTOCOL, engs mb2Protocol

Set -smbserverConfiguration -enablesMb2Protocol $ true

Diese Kommandeure arbeiten nicht in den frühen Versionen von Windows 7 und Windows Server 2008r2.
Außerdem funktioniert SMB3 nicht in Win7 - weitere Details finden Sie in der Lage.Hier ist Winitpro.ru.


Links:



Verwandte Veröffentlichungen