Bonjour,
As-tu pensé au setuid ?
Un fichier exécutable avec setuid root est exécuté avec les droits root, ça me semble correspondre à ce que tu désires faire.
setuid sur wikipedia
setuid chez linux-france
Pour ce qui est de HAL, je l'utilise pour ce qui concerne le montage de périphériques (point de montage, options,...)
Dans ton cas, si j'ai bien compris, il ne s'agit pas de monter le périphérique mais de communiquer avec lui.
C'est sans doute plutôt du côté de UDEV qu'il faudrait regarder...
La première chose à faire pour créer une règle udev est de repérer le nom de device (/dev/...) que prend ton périphérique lorsque tu le branches.
Tu peux ensuite demander des infos à udev sur le périphérique, par exemple pour sdb1 :
udevinfo -a -p $(udevinfo -q path -n /dev/sdb1)
Ces informations permettront d'identifier le périph pour créer un règle udev.
Par exemple, pour une clé usb, udevinfo me retourne entre autres informations :
ATTRS{vendor}=="EMTEC "
ATTRS{model}=="U3 Smart Drive"
Pour modifier les droits sur ce périphérique, je peux créer une règle udev que je place dans un fichier /etc/udev/rules.d/10-local.rules (que j'ai créé en root) :
ATTRS{vendor}=="EMTEC ", ATTRS{model}=="U3 Smart Drive", SYMLINK+="ma_cle_usb_u3", MODE="0666"
Et quand je branche ma clé, je retrouve le nom "ma_cle_usb_u3" qui apparait dans /dev (c'est le "SYMLINK+="ma_cle_usb_u3"") et les droits sont rw-rw-rw comme spécifié dans la règle (MODE="0666")
Tu dois pouvoir trouver beaucoup de doc sur udev, pour ma part, j'ai créé cette règle (qui marche) à partir d'
une doc ubuntu sur udev
Tiens nous au courant de ce que tu as fait (qui marche ou qui ne marche pas)