Résolu le 20-06-22 Accès aux dossiers partagés Windows

Postez ici toutes vos demandes d’assistance.
Heffgé
Messages : 11
Enregistré le : mar. 14 juin 2022 17:17
Contact :

Accès aux dossiers partagés Windows

Message par Heffgé »

Bonjour,

Afin de découvir Linux je viens d'installer Mint / Cinnamon sur un portable Asus. Independamment des petits soucis liés à la découverte du maniement de base je rencontre un problème avec l'accès aux dossiers partagés d'une station sous Windows 7.

Sur cette station je n'ai pas de mot de passe au niveau compte d'utilisateur et, depuis d'autres stations Windows, j'accède aux ressources partagées sans avoir à en fournir un. Linux ne l'entend pas de cette oreille. En cherchant j'ai cependant trouvé que mount.cifs s'accommodait de cette abscence de mot de passe, ou plus exactement qu'il suffisait de saisir "*" comme nom et comme mot de passe pour obtenir cet accès.

Malheureusement je butte encore sur un autre problème. Mes noms de ressources partagées sont susceptibles de contenir des caractères munis de signes diacritiques, un "ç" dans un cas bien précis. L'accès fonctionne sans problème en l'abscence de ces caractères mais dans le cas contraire j'obtiens le message "No such file or directory".

J'en ai déduit que Linux et Windows 7 utilsaient des encodages différents UTF-8 pour l'un et, saus erreur de ma part, CP1252 pour l'autre, ceci ne posant pas de problème avec les caractères ordinaires. En continuant mes recherces j'ai trouvé la fonction iconv dont j'ai tenté de me servir. Après quelques tâtonnements je suis arrivé à ceci (lin contient le nom à convertir et win le résultat de la conversion) :

Code : Tout sélectionner

win=$(echo $lin | iconv -t CP1252)
Je passe ensuite la commande (ad_IP contient l'adresse IP de la station distante obtenue à l'aide de nmblookup et win est un répertoire déjà créé) :

Code : Tout sélectionner

mount.cifs //$ad_IP/$win /home/moi/win -o user=* password=*
Malheureusement ça ne fonctionne pas plus que sans la conversion. Je soupçonne que ça doit être moins simple que ce que j'ai pu imaginer et c'est pourquoi je sollicite votre aide.

En vous remerciant par avance
Portable Asus X401U
Mint Version 20.3
Bureau Cinnamon 5.2.7

Heffgé
Messages : 11
Enregistré le : mar. 14 juin 2022 17:17
Contact :

Re: Accès aux dossiers partagés Windows

Message par Heffgé »

J'ai dû avoir la berlue car en fait ça fonctionne parfaitement même lorsqu'il y a des signes diacritiques dans le nom de la ressource partagée, sans avoir recours à une quelconque conversion.
Par contre lorsque je mets les mêmes commandes dans un script, ça ne fonctionne pas.La ressource partagée n'est pas trouvée.
Image
Mon script :

Code : Tout sélectionner

#!/bin/bash
ad_IP="$(nmblookup Poste-7 | head -n 1 | cut -d ' ' -f 1)"
part=test
sudo mount.cifs //$ad_IP/$part /home/moi/win -o vers=1.0 user=* password=*
Je suis donc de nouveau arrêté.
Merci d'avance pour vos suggestions.
Portable Asus X401U
Mint Version 20.3
Bureau Cinnamon 5.2.7

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: Accès aux dossiers partagés Windows

Message par arghlub »

Salut,

Le montage automatique de partitions se fait dans le fichier /etc/fstab.
  1. Au préalable, tu crées un dossier pour pouvoir monter ta partition :

    Code : Tout sélectionner

    sudo mkdir /dataWindows
  2. pour commencer tu cherches l'identifiant unique de ta partition (UUID) avec cette commande :

    Code : Tout sélectionner

    blkid -o list
  3. ensuite tu édites le fichier /etc/fstab :

    Code : Tout sélectionner

    sudo nano /etc/fstab
  4. et tu y colles une ligne du style :

    Code : Tout sélectionner

    UUID=TON_UUID	/dataWindows	ntfs	defaults,uid=1000,gid=1000	0	0
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

Heffgé
Messages : 11
Enregistré le : mar. 14 juin 2022 17:17
Contact :

Re: Accès aux dossiers partagés Windows

Message par Heffgé »

Merci de t'intéresser à mon problème mais ce que tu me suggères ne semble pas s'y rapporter directement.

Je tente d'accèder à un dossier partagé d'une station sous Windows. La fonction native "Se connecter au serveur" ne fonctionne pas car le partage sous Windows est du type sans mot de passe, et la rubrique "Réseau" du gestionnaire de fichiers ne voit aucune ressource partagée. La seule solution que j'ai trouvée est d'utiliser mount.cifs.

La commande s'effectue correctement quand elle est passée dans un terminal mais échoue quand elle est placée à l'intérieur d'un script. Je suppose que je n'y prend pas correctement pour rédiger ce script (cf. mon précédent message) et c'est pourquoi je sollicite de l'aide.
Portable Asus X401U
Mint Version 20.3
Bureau Cinnamon 5.2.7

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Accès aux dossiers partagés Windows

Message par cyrille »

La commande s'effectue correctement quand elle est passée dans un terminal mais échoue quand elle est placée à l'intérieur d'un script. Je suppose que je n'y prend pas correctement pour rédiger ce script (cf. mon précédent message) et c'est pourquoi je sollicite de l'aide.
Fais nous voir la commande passée en CLI puis le script et le message d'erreur... .Car sans exemple concret , on ne pourra t'aider ;)
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Heffgé
Messages : 11
Enregistré le : mar. 14 juin 2022 17:17
Contact :

Re: Accès aux dossiers partagés Windows

Message par Heffgé »

Fais nous voir la commande passée en CLI puis le script et le message d'erreur...
J'ai déjà indiqué tout ça dans mes précédents messages mais je peux recommencer si je ne l'ai pas fait de manière assez claire.
Le script :

Code : Tout sélectionner

#!/bin/bash
ad_IP="$(nmblookup Poste-7 | head -n 1 | cut -d ' ' -f 1)"
part=test
sudo mount.cifs //$ad_IP/$part /home/moi/win -o vers=1.0 user=* password=*
Mount.cifs semble ne pas savoir retrouver tout seul l'adresse IP d'après le nom du serveur (Poste-7 ici). La première ligne me permet de la récupérer. "test" est le nom de la ressource partagée et "win" est le mom du répertoire de destination. Le message d'erreur est :
unknown erroruld not resolve address for 192.168.1.2
Image
192.168.1.2 est bien l'adresse IP de ma station Windows et le ping sur cette adresse passe sans problème.
Cette erreur ne se produit pas si je passe une à une les mêmes commandes.
Portable Asus X401U
Mint Version 20.3
Bureau Cinnamon 5.2.7

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Accès aux dossiers partagés Windows

Message par cyrille »

Tu peux poster la commande passée à la main et son retour ?

Sinon dans ton script

Code : Tout sélectionner

ad_IP="$(nmblookup Poste-7 | head -n 1 | cut -d ' ' -f 1)"
Attention à la syntaxe

Code : Tout sélectionner

ad_IP=$(nmblookup Poste-7 | head -n 1 | cut -d ' ' -f 1)
Et mettre un debug style

Code : Tout sélectionner

echo $ad_IP
Voir ce que ça donne
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
cyrille
Administrateur du site
Messages : 12285
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

Re: Accès aux dossiers partagés Windows

Message par cyrille »

Et au fait tu lances ton script en sudo donc pas la peine de relancer sudo ensuite dans le script

Tu peux mettre un test en début de script pour voir s'il est bien lancer avec sudo , style

Code : Tout sélectionner

# Test des droits admin
if [ "$EUID" -ne 0 ]
  then 
  	echo "Lancer ce script en mode administrateur"
  	echo "Utiliser sudo MonScript.sh"
  	echo "Ou un accès root : sudo -s "
  exit
fi
?séuqartéd sel ruoP / sécnoféd sel ruoP / sreiruréB sel ruoP / ?étéicos elleuQ

https://crust.ovh

Avatar du membre
arghlub
Administrateur du site
Messages : 10421
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence
Contact :

Re: Accès aux dossiers partagés Windows

Message par arghlub »

Salut,

sinon ssh → https://doc.ubuntu-fr.org/ssh
Tour1 (custom)CM MSI Z270 M3 | CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : Debian 11 | MXlinux 21 | LMint 19.3 | XFCE
Tour2 (custom)CM Gigabyte | CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD 12.1 XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 20.2 | MXlinux 21 | XFCE
Portable2 MacBook Air A1466 (2015) | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MXlinux 21 XFCE
─────( pour une informatique libre ! -membre en stand-by de l' April.org────────────────

Heffgé
Messages : 11
Enregistré le : mar. 14 juin 2022 17:17
Contact :

Re: Accès aux dossiers partagés Windows

Message par Heffgé »

Attention à la syntaxe
J'ai pompé directement cette commande sur un autre forum et elle fonctionne aussi bien avec que sans les guillemets.
Et au fait tu lances ton script en sudo donc pas la peine de relancer sudo ensuite dans le script
OK, bien noté.
Et mettre un debug style
Là j'ai résumé, sinon j'en ai mis partout au cours de mes tests. Et dans le message d'erreur on voit l'adresse IP récupérée et qui est bien la bonne.
Tu peux mettre un test en début de script pour voir s'il est bien lancer avec sudo
OK, je le ferais mais le message d'erreur n'évoque pas un problème de droits. Pour l'instant voici une copie d'écran qui montre ce que l'on obtient en passant les commandes une à une puis en invoquant le script.
Image
Pour ce test le nom de la ressource partagée a été modifié pour bien montrer qu'un "ç" ne posait pas de problème, et j'ai listé le contenu de répertoire de destination comme preuve du bon fonctionnement de la commande mount.cifs.Win est démonté pour retrouver un contenu vierge avant d'exécuter le script.
Autre problème que je viens de découvrir : pas d'accès en écriture au dossier partagé. Pourtant, côté Windows, contrôle total donné à "Tout le monde", aussi bien au niveau du dossier lui-même que dans la rubrique partage.
Portable Asus X401U
Mint Version 20.3
Bureau Cinnamon 5.2.7

Répondre