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=имя_пользователя
password=пароль
domain=имя_standalone_сервера_или_домена

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 можно использовать команду 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] - имя сервера и сетевой папки
/mnt/[mountpoint] - точка монтирования на локальном компьютере
vers=3.0 - принудительно установить версию протокола SMB3 (либо vers=2.0 - если клиент и сервер поддерживают лишь SMB2)
credentials=/home/username/.sharelogin - указание файла с именем пользователя, паролем и доменом для входа
iocharset=utf8 - прямое указание набора символов utf8 (не обязательно, если без него работает)
file_mode=0777,dir_mode=0777 - права доступа при выполнении mount
uid=[username],gid=[username] - данные uid и gid из результата вывода команды cat /etc/passwd | grep username
nofail - загрузка ОС будет продолжена даже в случае недоступности сервера URL

Andere Parameter:
defaults - включает опции rw, suid, dev, exec, auto, nouser, and async. Обычно идёт первой, т.к. можно переопределить отдельные опции в строке позднее, например: defaults, noexec, ro - нет исполнения, только чтение.
rw - очевидно, чтение-запись со стороны клиента (является противоположностью ro - только чтение (защита от записи).
suid - запрещает использование бит полномочий SUID (Set-User-IDentifier - установка идентификатора владельца) или SGID (Set-Group-IDentifier). Грубо говоря, запрещает передачу части прав при помощи битов SUID и SGID - права должны быть заданы явно.
auto - используется в /etc/fstab - разрешает автоматическое монтирование сетевых ресурсов при выполнении команды mount -a
noauto - запрет для fstab монтировать папку автоматически при выполнении команды mount -a.
nouser - прямой запрет на "ручное" монтирование всеми пользователями, кроме root (не влияет на монтирование во время загрузки ОС)
guest - для доступа к "гостевым" общим папкам, которые доступны по сети без указания имени пользователя и пароля.
async - запись данных в сетевую папку производится по мере возможности - значение по умолчанию. Повышает производительность.
sync - немедленная запись на удаленный компьютер (без использования буферов), не рекомендуется.
noperm - отключает встроенную в клиент проверку прав. Используют noperm в том случае, если права вроде бы есть, но создать файл на запись, например, программно, не получается, из-за несовместимости в реализации CIFS на клиенте и сервере.
noexec - прямой запрет запуска исполнимых файлов из сетевой папки
noatime - не обновлять время создания файла (повышает производительность, но понижает информативность)
nounix - отключение расширений Linux: не использовать символические ссылки. Используется, чтобы отключить символьные ссылки для обеспечения совместимости с Windows.
mfsymlinks - ключ для символьных ссылок в стиле Minshall+French. Этот стиль ссылок поддерживается Windows и Mac.

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