25
août
2022
16:00

CIFS et Samba: Connexion aux dossiers généraux des fenêtres

25 août 2022 16:00

Pour le travail, il est nécessaire de se connecter de Linux au dossier Windows commun pour ramasser ou transférer des fichiers. Les organisations à 99% utilisent des ordinateurs exécutant Windows, vous devez donc vous connecter de Linux à Windows.

Installation de samba d'un client à Linux

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

Pour la commodité de consulter l'environnement réseau dans GUI, le gestionnaire de fichiers Nautilus avec l'ajout Nautilus-Lure est pratique

sudo apt-get install nautilus nautilus-share

Afficher les ressources réseau communes à l'aide d'une ligne de commande

Appeler le client Samba pour visualiser les ressources du serveur à partir de la ligne de commande:

1) Afficher les dossiers communs fournis pour un accès général sur le réseau pour les utilisateurs de serveurs locaux

smbclient -L //192.168.100.10 -U Username%Password

ou

smbclient -L //servername -U Username%Password

Où: 192.168.100.10 - Adresse du serveur IP, nom de serveur - Nom du serveur, nom d'utilisateur - utilisateur de serveur local, mot de passe - mot de passe de l'utilisateur

2) Affichage des dossiers communs prévus pour un accès général aux utilisateurs du domaine

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

ou

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

ou par nom

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

Où le domaine est le nom du domaine Active Directory.

Ou (pour ne pas signaler le mot de passe dans les paramètres de commande à chaque fois) créez un fichier ~ / .smbCredentials
Avec les données d'entrée:

username=nom_d'utilisateur
password=mot_de_passe
domain=serveur_autonome_ou_nom_domaine

Ensuite, en rejoignant le catalogue du réseau:

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

Connexion à un dossier Samba commun en mode interactif

La même chose, mais sans clé -l, mais avec le paramètre - le nom du dossier général, dans ce cas, "partager"

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

ou

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

ou

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

Après une entrée réussie, une invitation apparaîtra

smb: \>

Vous pouvez saisir des commandes, par exemple, aide ou dir. L'interface SMBClient à l'aide de commandes ressemble à un client FTP.

Connexion aux dossiers généraux à l'aide du gestionnaire de fichiers Nautilus

Après le lancement de Nautilus, sélectionnez "+ autres endroits" sur le côté gauche de la fenêtre ** - La visualisation du réseau local s'ouvrira, où vous pouvez afficher les ordinateurs du réseau qui ont des dossiers communs.

Résoudre le problème avec la connexion: se débarrasser de l'erreur -13 accès refusé, ou nt_status_access_denided

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

Cette erreur ne peut être résolue qu'en configurant les droits sur le serveur. Pour ouvrir le dossier de visualisation global, vous avez besoin de trois Conditions:
1) L'utilisateur est indiqué parmi les utilisateurs du serveur il Domain (ou le type d'accès invité est autorisé)
2) Égardé (non limité) d'accès au système de fichiers.
3) Dan Accès à un dossier réseau particulier - par exemple, l'utilisateur est inclus dans le groupe d'utilisateurs, auquel il a accès au dossier commun.

La dernière, troisième condition est la plus stricte. Il est nécessaire que l'administrateur du serveur accorde le droit à l'utilisateur (l'inclure dans un groupe d'utilisateurs d'un dossier commun).

La chose la plus intéressante est que les droits de l'administrateur ne le garantissent pas, il sera plein de droits pour accéder à un dossier commun, car il est nécessaire que l'utilisateur "administrateur" soit inclus dans le groupe, qui est accordé les droits sur le dossier réseau danu. À cet égard, l'administrateur ne diffère pas du groupe Oter / Nobody: il recevra une erreur de montage (13): autorisation refusée car elle n'est pas incluse dans le groupe d'utilisateurs du dossier réseau.

Utilisation de la commande Mount

Au lieu de smbclient tu peux utiliser la commande mount.

Vous devez d'abord créer des points de montage et donner le droit d'accéder au dossier, par exemple:

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

Exemples d'utilisation de l'équipe Mount avec des dossiers de réseau:

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

Ou la même chose avec le fichier .smbRedientials:

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

Si le nom du dossier réseau contient des écarts ("Partage avec des espaces de nom"), vous devez entrer comme suit:

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

Remarque: Pour qu'après avoir exécuté le dossier commandé Mount, cela fonctionnerait non seulement pour la lecture, mais aussi pour écrire au four distant, vous devez comparer l'utilisateur distant avec l'utilisateur local Linux, en utilisant les paramètres uid = 1000, gid-1000 . Où 1000 doit remplacer Linux par un utilisateur UID et GID (affiché par la commande id).
Ou ajouter aux paramètres - o noperm, ioCharset = utf8 .
Dans les touches de touches, vous pouvez définir la version Samba, que nous utilisons pour connecter. Par exemple,
pour SMB2: Vers = 2.0 ou pour SMB3 Vers = 3,0 .

Exemples:

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 

Si la version spécifiée de Samba (par exemple, SMB3) n'est pas prise en charge par le serveur, une erreur s'affichera "mount error(95): Operation not supported.".

L'ajout du paramètre nofail est utile lorsqu'il n'est pas connu si l'ordinateur distant (serveur) est activé ou non.

Montage d'un dossier réseau pendant le téléchargement (fichier / etc / fstab)

Syntaxe de ligne dans / 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

Où:
//[URL]/[sharename] - nom du serveur et du dossier réseau
/mnt/[mountpoint] - point de montage sur l'ordinateur local
vers=3.0 - force l'installation de la version du protocole SMB3 (ou vers=2.0 - si le client et le serveur ne prennent en charge que SMB2)
credentials=/home/username/.sharelogin - spécifiant un fichier avec le nom d'utilisateur, le mot de passe et le domaine de connexion
iocharset=utf8 - indication directe du jeu de caractères utf8 (pas nécessaire s'il fonctionne sans lui)
file_mode=0777,dir_mode=0777 - droits d'accès lors de l'exécution du montage
uid=[username],gid=[username] - données uid et gid de la sortie de la commande cat /etc/passwd | grep nom d'utilisateur
nofail - Le chargement du système d'exploitation continuera même si le serveur URL n'est pas disponible

Autres paramètres:
defaults - inclut les options rw, suid, dev, exec, auto, nouser et async. Cela commence généralement en premier, car vous pouvez remplacer des options individuelles sur la ligne ultérieurement, par exemple : defaults, noexec, ro - pas d'exécution, lecture seule.
rw est évidemment en lecture-écriture côté client (ce qui est l'opposé de ro - en lecture seule (protégé en écriture).
suid - interdit l'utilisation des bits d'autorité SUID (Set-User-IDentifier) ou SGID (Set-Group-IDentifier). Grosso modo, il interdit le transfert de certains droits utilisant les bits SUID et SGID - les droits doivent être définis explicitement.
auto - utilisé dans /etc/fstab - permet le montage automatique des ressources réseau lors de l'exécution de la commande mount -a
noauto - empêche fstab de monter automatiquement le dossier lors de l'exécution de la commande mount -a.
nouser - interdiction directe du montage « manuel » par tous les utilisateurs sauf root (n'affecte pas le montage lors du démarrage du système d'exploitation)
« invité » - pour accéder aux dossiers partagés « invité » accessibles sur le réseau sans spécifier de nom d'utilisateur et de mot de passe.
async - les données sont écrites dans le dossier réseau chaque fois que cela est possible - la valeur par défaut. Améliore la productivité.
sync - enregistrement immédiat sur un ordinateur distant (sans utiliser de tampons), non recommandé.
noperm - désactive la vérification des droits intégrée du client. Ils utilisent noperm s'ils semblent avoir des droits, mais il n'est pas possible de créer un fichier pour l'écriture, par exemple par programme, en raison d'une incompatibilité dans la mise en œuvre de CIFS sur le client et le serveur.
noexec - interdiction directe de lancer des fichiers exécutables depuis un dossier réseau
noatime - ne met pas à jour l'heure de création du fichier (améliore les performances, mais réduit le contenu des informations)
nounix - désactive les extensions Linux : n'utilisez pas de liens symboliques. Utilisé pour désactiver les liens symboliques pour la compatibilité Windows.
mfsymlinks - clé pour les liens symboliques de style Minshall+Français. Ce style de lien est pris en charge sous Windows et Mac.
Exemples de la ligne dans FSTAB (où les données d'entrée sont indiquées dans le fichier /etc/.smbRedientials):

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

Si dans / etc / hôtes ou le serveur DNS local, les noms des machines sont énoncés, au lieu des adresses IP, vous pouvez connecter un dossier général nommé: // serveur / partage.

Équipe d'installation basée sur FSTAB:

sudo mount -a

Tous les disques basés sur / etc / fstab seront modifiés à l'exception du paramètre "Noauto".

Bref paramètres de samba dans Windows (protocoles SMB1, SMB2, SMB3)

Le protocole Samba a trois versions 1, 2 et 3.
Le protocole SMB1 est inclus si l'organisation dispose de voitures pour Windows XP. Dans d'autres cas, ils essaient de désactiver SMB1 comme dangereux.

En outre dans Windows 7 et Windows Server 2008R2 est fabriqué à l'aide d'un registre, paramètres
HKEY_LOCAL_MACHINE \ System \ CurrentControlset \ Services \ LanManServer \ Paramètres
Paramètres de type dword
Smb1 = 0
Smb2 = 1

Dans Windows 8, Windows 10, 11, Windows Server 2012, 2016 et au-dessus de la commande PowerShell est utilisée

Get-SMBServerConfiguration | Sélectionnez ActivedMB1ProtoCol, ActivedMB2ProtoCol

SET -SMBSERverConfiguration -EnablesMB2ProtoCol $ True

Ces commandants ne fonctionnent pas dans les premières versions de Windows 7 et de Windows Server 2008R2.
De plus, SMB3 ne fonctionne pas dans Win7 - pour plus de détails, voir.Voici winitpro.ru.


Liens:



Publications connexes