Envoyé par
mnemozip
Merci pour les informations mais j'aimerai que mon programme se comporte comme l'application Minicom :
Lors de l’accès au /dev/ttyUSB0 que le mot de passe utilisateur soit demandé ?
Lorsque j'essaie moi-même (avec le port série car je n'ai pas de terminal USB sous la main), j'obtiens bien :
1 2
| $ minicom -D /dev/ttyS1
Cannot create lockfile for /dev/ttyS1: Permission non accordée |
Il faudrait que tu nous donnes plus de détails sur la distribution que tu utilises ainsi que la façon dont minicom t'invite à saisir ton mot de passe. Est-ce dans une fenêtre plein écran intégré à ton environnement de bureau ou est-ce depuis le terminal, depuis une ligne qui suit la commande que tu as lancée ?
Dans le premier cas, il est possible que ta distribution soit configurée pour placer des hooks sur certaines commandes utiles et/ou populaires (par exemple, « systemctl »), afin de t'inviter elle-même à saisir ton mot de passe et lancer ensuite la commande avec les droits, de façon à ce que cela apparaisse propre et facile à utiliser à l'utilisateur débutant.
Dans le second, il y a deux cas à prendre en compte. Le fait d'utiliser son mot de passe pour lancer l'application en super-utilisateur (généralement, sous Unix, tout cela s'appuie sur sudo) et le fait que minicom servent à exploiter une ligne série et se connecter à distance. Auquel cas, selon le protocole, le mot de passe demandé peut-être celui de la machine contactée et pas forcément la tienne.
Dans cette situation, ça ne te dirait pas comment minicom a pu avoir accès à la ligne série. La réponse est généralement dans les « setuid/setgid bits ». Un examen des bits de flags en début de ligne de ls -l $(which minicom) devrait te renseigner.
Dans tous les cas, il s'agit donc d'administration système avant d'être du langage C.
Je t'invite donc à jeter aux man pages suivantes pour te renseigner sur le fonctionnement des programmes que tu utilises
1 2 3 4
| man su
man sudo
man sudoers
man minicom |
… puis dans le cas de Minicom en particulier, aux fichiers de configuration qu'il utilise. Sur ta machine, certains sont peut-être déjà configurés sans que tu le saches pour gérer ces affaires de mot de passe :
FICHIERS
Minicom conserve les fichiers de configuration dans un répertoire, habituellement /var/lib/minicom, /usr/local/etc ou /etc. Pour chercher quel répertoire par défaut est com‐
pilé, faites la commande minicom -h. Vous trouverez probablement aussi les fichiers de démonstration pour runscript(1), et les exemples de tables de conversion de caractères
soit ici, soit dans les sous-répertoires de /usr/doc/minicom*. Les tables de conversion sont nommées quelque chose comme mc.* dans ce répertoire, mais vous voulez probable‐
ment copier ceux dont vous avez besoin dans votre dossier personnel en quelque chose commençant par un point.
minicom.users
minirc.*
$HOME/.minirc.*
$HOME/.dialdir
$HOME/minicom.log
/usr/share/locale/*/LC_MESSAGES/minicom.mo
Bon courage.
Partager