# Script à l'insertion Clef/hdd USB (udev?)

**URL:** <https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393>\
**Category:** Support Debian\
**Created:** [Novembre 10, 2022, 12:24 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393 "2022-11-10T12:24:57Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![ADomani](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@ADomani](https://www.debian-fr.org/u/ADomani)\
**Post date:** [Novembre 10, 2022, 12:24 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/1 "2022-11-10T12:24:57Z")

</div>

Bonjour,

J’ai monté un petit serveur local sous DEBIAN bullseye et je cherche à gerer mes HDD ou Clef USB lors du plug/déplug

**Contexte:**  
Actuellement les partitions se montent automatiquement (Dans media/user/) 👍  
Mon soucis (_besoin_) est que j’aimerai les ajouter au partage de samba pour qu’il soient dispo pour les autres machines du réseau.  
Le soucis est que le partitionnement de certains HDD-USB peut être amené à changer suivant le besoin.  
Donc impossible d’avoir une config samba en «&nbsp;dur&nbsp;».

J’ai donc lu pas mal de chose sur «&nbsp; **udev** &nbsp;» et il semble que ca doit me permettre de lancer un ptit script lors lors des plug/déplug afin de générer dynamiquement les diffèrent «&nbsp;mount&nbsp;» et partages samba.  
Voila pour la description… mon soucis est plus (trop 🙃) simple pour le coup.  
Impossible de lancer un script basic via les rules (_/etc/udev/rules.d_), j’ai beau retourner le truc dans tous les sens, je dois louper quelque chose 🙄

Actuellement j’ai un fichier (_/etc/udev/rules.d/10-USB\_HDD.rules_) avec diffèrent essais:

```nohighlight
#SUBSYSTEMS=="block", ATTRS{model}=="WDC_WD10TMVV-11BG7S0", SYMLINK+="MyUSBHDD",RUN+="/opt/smallbox/sys/USB_plugin.sh"
#SUBSYSTEMS=="block", ATTRS{model}=="", RUN+="/opt/smallbox/sys/USB_plugin.sh"
#SUBSYSTEMS=="block", ATTRS{idVendor}=="Kingston", ,SYMLINK+="MyUSB", RUN+="/opt/smallbox/sys/USB_pluging.sh"
#SUBSYSTEMS=="block", ATTRS{idVendor}=="0951",SYMLINK+="MyUSB", RUN+="/opt/smallbox/sys/USB_pluging.sh"
#KERNEL=="sd[0-9]*", SYMLINK+="disque/n", RUN+="/opt/smallbox/sys/USB_pluging.sh"
#
#ATTRS{vendor}=="Kingston", KERNELS=="target8:0:0", SUBSYSTEMS=="scsi", RUN+="/opt/smallbox/sys/USB_pluging.sh"
ATTRS{manufacturer}=="Kingston", ATTRS{idProduct}=="1666", ATTRS{idVendor}=="0951", SYMLINK+="USB_TEST", RUN+="/opt/smallbox/sys/USB_plugin.sh"
ATTRS{manufacturer}=="Kingston", ATTRS{idProduct}=="1666", ATTRS{idVendor}=="0951", PROGRAM="/opt/smallbox/sys/USB_plugin.sh"

```

Et le basique script (USB\_plugin.sh)suivant:

```nohighlight
#!/bin/sh
echo "USB_plugin IN: ${ACTION} / ${DEVICE}" > udev.log 2>&1

```

Jamais il n’est executé, donc j’avance pas !

Merci d’avance pour vos conseil/remarques !

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Novembre 10, 2022, 12:57 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/2 "2022-11-10T12:57:15Z")

</div>

> [@ADomani](#):
>
> Actuellement les partitions se montent automatiquement (Dans media/user/) 👍  
> Mon soucis ( _besoin_ ) est que j’aimerai les ajouter au partage de samba pour qu’il soient dispo pour les autres machines du réseau.  
> Le soucis est que le partitionnement de certains HDD-USB peut être amené à changer suivant le besoin.  
> Donc impossible d’avoir une config samba en « dur ».

Bonjour,  
permettre un montage SMB automatique sur une clef USB, sur un protocole fondamentalement peu fiable, ce n’est pas une bonne idée du point de vue de la sécurité.  
Ensuite, considérant que mettre une clef dans la machine c’est une opération manuelle, autant faire la configuration du partage au passage (peu de clic à faire)

> [@ADomani](#):
>
> Donc impossible d’avoir une config samba en « dur ».

une configuration en dur sur un élément matériel qui n’est pas «&nbsp;en dur&nbsp;», et donc variable par essence, pas facile 🙂

---

<div class="post-metadata">

**Author:** ![ADomani](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@ADomani](https://www.debian-fr.org/u/ADomani)\
**Post date:** [Novembre 11, 2022, 12:05 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/3 "2022-11-11T00:05:07Z")

</div>

J’hésite pour le moment à répondre à votre propre réponse 🤔

Problème: «&nbsp;_je n’arrive pas a allumer mes phares_&nbsp;»  
Solution: «&nbsp;_t’a pas besoin de rouler la nuit_&nbsp;»  
👍

En tout cas merci pour le temps passé à cette…réponse 😏

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Novembre 11, 2022, 10:41 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/4 "2022-11-11T10:41:05Z")

</div>

🙂 Pas tout à fait, je te dit seulement que c’est une faille de sécurité.  
Après si tu es sur de ta sécurité, pas de soucis. Mais une raison pour laquelle ce genre d’opération est difficile à faire, c’est justement à cause de ça.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Novembre 11, 2022, 1:45 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/5 "2022-11-11T13:45:09Z")

</div>

Est-ce qu’au moins le lien symbolique est créé dans /dev ?  
PROGRAM sert normalement à évaluer une condition et pas à réaliser une action.  
As-tu rechargé les règles (redémarrage ou `udevadm control --reload`) avant de tester ?

J’ai utilisé ce genre de règke udev pour créer des liens symboliques pour une clé USB et ses partitions :

```
SUBSYSTEM=="block", ACTION=="add", KERNEL=="sd*", SUBSYSTEMS=="usb", ATTRS{serial}=="XXXXX", SYMLINK+="kingston%n"

```

Bien lire la page de manuel d’udev concernant les restrictions de la commande RUN, notamment :

- les programmes doivent se terminer rapidement
- le montage de système de fichiers est interdit
- l’alternative consiste à utiliser systemd.device

> [@ADomani](#):
>
> Actuellement les partitions se montent automatiquement (Dans media/user/)

Cela ne se produit que si une session locale est ouverte par cet utilisateur et monte automatiquement les volumes amovibles via udisks (si configuré comme tel dans le gestionnaire de fichiers de l’environnement de bureau).

---

<div class="post-metadata">

**Author:** ![ADomani](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@ADomani](https://www.debian-fr.org/u/ADomani)\
**Post date:** [Novembre 11, 2022, 3:01 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/6 "2022-11-11T15:01:22Z")

</div>

Merci pour votre message.

Le soucis est réglé !  
j’avais en fait un souci d’espace dans le sheban du script (_une ligne vide avant se dernier_)  
_🤦‍♂️ penser à changer de lunettes 🤓_

Le truc étonnant (_ou pas_) c’est qu’en ligne de commande le script fonctionnait sans soucis, mais pas depuis les rules udev (!)

Bref, tout est OK, tant qu’au niveau du/des liens symboliques de devices que pour les diffèrent traitement lors de l’insertion ou l’éjection des HDD USB.  
La config des partages Samba fonctionne donc maintenant en dynamique quelque soit les partitions.  
😌

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Novembre 11, 2022, 3:23 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/7 "2022-11-11T15:23:31Z")

</div>

> [@ADomani](#):
>
> Le truc étonnant ( _ou pas_ ) c’est qu’en ligne de commande le script fonctionnait sans soucis, mais pas depuis les rules udev

bash est plus tolérant, étant lui-même un shell il n’a pas besoin de shebang pour exécuter un script.

Comment gères-tu le montage des systèmes de fichiers du support de stockage USB ? Pas en comptant sur le montage automatique dans /media par une session graphique, j’espère ?

---

<div class="post-metadata">

**Author:** ![ADomani](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@ADomani](https://www.debian-fr.org/u/ADomani)\
**Post date:** [Novembre 11, 2022, 3:43 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/8 "2022-11-11T15:43:06Z")

</div>

Oui merci de «&nbsp;_sensibiliser_&nbsp;» sur l’aspect sécurisé.  
Ce qui est juste dommage c’est que vous remettez en cause, par cette «&nbsp;sensibilisation&nbsp;», le besoin de base de l’utilisateur (_moi ici_).  
Votre «&nbsp;_conseil_&nbsp;» ne devrait pas être la comme simple et unique «&nbsp;_solution_&nbsp;» donné à un utilisateur.

Préjuger de l’environnement, comme un a priori, n’a pas vraiment de sens, à mon avis.  
Se préoccuper de la demande initiale par contre, a plus de sens, quitte par la suite amener vos «&nbsp;conseils&nbsp;».

J’ai assez trainé mes guêtres sur les forums (_et avant sur les newsgroup via UUCP_) depuis bien longtemps pour toujours et encore être «&nbsp;agacé&nbsp;» (_le mot est peut être trop fort_) par ces réponses hors sujet ou les trucs genre «&nbsp;_reformate_&nbsp;» comme ultime solutions.  
Ouaip, je suis aussi, comme vous visiblement, un «&nbsp;ancien&nbsp;» sous Linux (_Minix/QNX avant_), ce qui m’étonne d’autant plus dans votre approche.

Je suis désolé mais je ne m’y ferai jamais 😉  
Dans ma philosophie l’aide n’a jamais été de convaincre un utilisateur que la solution à son besoin/soucis est de ne pas avoir ce besoin.

Quand au reste…

> permettre un montage SMB automatique sur une clef USB, sur un **protocole fondamentalement peu fiable** , ce **n’est pas une bonne idée** du point de vue de la sécurité.

En d’autre temps, j’aurai bien volontier débattu de ce genre d’affirmation, mais l’envie n’est pas très vaillante une sorte de «&nbsp;_Pfff houlala_&nbsp;» si je repense aux nombres de serveurs samba qui sont utilisé depuis tant d’année sur mes serveurs en entreprise.  
La encore, une bonne dose «&nbsp;d’a priori&nbsp;» sur les connaissances de configuration d’un samba.

> Ensuite, considérant que mettre une clef dans la machine c’est **une opération manuelle, autant faire la configuration du partage** au passage **(peu de clic à faire)**

1/ heu… perso sur **aucun** de mes serveurs je ne fait de «&nbsp;clic&nbsp;», en Desktop oui.. mais pas sur un serveur !!! (_la encore étrange conseil_)  
2/ il y a quand même une"_petite_" (?) différence entre une **opération manuelle** (_insertion d’un HDD externe_) et faire systématiquement **manuellement** la configuration, non ? 🙄

Pour finir…

> une configuration en dur sur un élément matériel qui n’est pas « en dur », et donc variable par essence, **pas facile**

Bin si en fait, c’est franchement sans aucun problème technique, c’est **très simple** au contraire.

Voila pour quoi j’hésitait à vous répondre, ne pas vous prendre la tête, ni la mienne mais avec tout le respect que je vous dois, je ne peux m’empêcher à penser au syndrome de l’effet Dunning-Kruger

Sans rancune, mon «&nbsp;soucis&nbsp;», venait d’une erreur de ma part, et mon «&nbsp;soucis&nbsp;» est réglé, c’est ce qui compte.  
Bon courage à vous sur ce forum

---

<div class="post-metadata">

**Author:** ![ADomani](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@ADomani](https://www.debian-fr.org/u/ADomani)\
**Post date:** [Novembre 11, 2022, 3:48 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/9 "2022-11-11T15:48:51Z")

</div>

> Comment gères-tu le montage des systèmes de fichiers du support de stockage USB ? Pas en comptant sur le montage automatique dans /media par une session graphique, j’espère ?

Non non, le montage Auto n’est pas actif, de plus c’est sur un _(petit)_ serveur interne, _donc_ sans interface graphique

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Novembre 11, 2022, 5:39 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/10 "2022-11-11T17:39:40Z")

</div>

> [@ADomani](#):
>
> Votre « _conseil_ » ne devrait pas être la comme simple et unique « _solution_ » donné à un utilisateur.

Ce n’est pas une solution c’est juste un conseil. je n’ai préjugé de rien. Mais merci de me montrer ce que peut donner comme résultat la conviction du problème XY.

Et c’est normal de ne pouvoir s’y faire, faute d’équipement.

---

<div class="post-metadata">

**Author:** ![BMr](https://www.debian-fr.org/user_avatar/www.debian-fr.org/bmr/32/9570_2.png) [@BMr](https://www.debian-fr.org/u/BMr)\
**Post date:** [Novembre 17, 2022, 9:11 UTC](https://www.debian-fr.org/t/script-a-linsertion-clef-hdd-usb-udev/87393/11 "2022-11-17T09:11:06Z")

</div>

Pb de lunettes ? newsgroup ? UUCP ? (aaaaahhhhh compuserve…)  
Je me sens moins seul 😉😃
