Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Droits d'accès aux exécutables


Sujet :

Raspberry Pi

  1. #1
    Membre éclairé
    Droits d'accès aux exécutables
    Bonjour à toutes et à tous,

    Je pense que je n'ai pas tout compris.

    Lorsque j'ai installé mon Raspberry PI 3B+, je croyais que l'utilisateur "pi" était le propriétaire, c'est-à-dire pour moi, le "root".

    Je développe des programmes avec Lazarus et d'une manière générale, tout se passe bien, je peux exécuter, à partir de Lazarus, ou de l'éditeur de fichier, ou d'un terminal, mes programmes.

    Mon dernier programme est un essai avec les GPIO, et là ça plante. J'ai réussi à comprendre que c'était à cause des droits d'accès : apparemment, je ne suis pas le "root".

    J'ai réussi à lancer mon exécutable via le terminal par la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pi@raspberrypi:~/Le_Dossier_qui_va_bien $ sudo ./ mon_programme
    J'aimerais pouvoir lancer cet exécutable à partir de Lazarus ou bien à partir de l'éditeur de fichier. Comment faire ?

    Cordialement.

    Pierre

  2. #2
    Rédacteur

    Bonjour,

    si c'est Raspbian que tu utilises comme système, c'est l'utilisateur pi qui est configuré, et le compte root est désactivé par défaut.
    Pour activer le compte root il te faut lui attribuer un mot de passe par
    redémarrer, et tu pourras te loguer en tant que root.
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  3. #3
    Membre éclairé
    Ok, merci, c'est tout bon.

    Mais une autre question : j'ai créé un lanceur (fichier desktop) pour Lazarus. Est-il possible de créer un autre lanceur qui lancerait la même application, mais en mode "root". Autrement dit, est-il possible d'intégrer le mode "root" à un lanceur ?

    Cordialement.

    Pierre

  4. #4
    Rédacteur

    Tu peux ajouter un sudo dans la ligne de commande de ton lanceur (exec=sudo ....)
    Le mot de passe sera demandé.
    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  5. #5
    Expert éminent sénior
    Bonjour,

    je suis pas sûr que définir l'utilisateur root soit une bonne idée. Le mieux est que tu te connectes en tant q'utilisateur Pi.

    Visiblement il faut inclure l'utilisateur Pi dans le groupe GPIO comme on le fait avec le port série :
    https://raspberrypi.stackexchange.co...-as-root/40106

  6. #6
    Membre éclairé
    j'y avais pensé, mais je n'avais pas osé, c'est idiot !

    Effectivement, ça fonctionne bien.

    Merci beaucoup.

    Pierre.

  7. #7
    Expert éminent sénior
    Supprime ou désactive le compte root

  8. #8
    Membre éclairé
    Citation Envoyé par Auteur Voir le message
    Supprime ou désactive le compte root
    Comment fait-on ?

    Merci d'avance.

    Pierre

  9. #9
    Rédacteur

    Plus on apprend, plus on découvre que ce que l'on sait est insignifiant face à tout ce que l'on ne sait pas.
    Retrouvez la liste de mes articles et tutoriels sur la sauvegarde-restauration, les distributions éducatives, le système Linux et le Raspberry pi en cliquant sur ce lien.

  10. #10
    Membre éclairé
    C'est tout bon,

    Merci beaucoup.

    Pierre

  11. #11
    Expert éminent sénior
    Ce message n'a pas pu être affiché car il comporte des erreurs.
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  12. #12
    Membre éclairé
    Merci Artemus24 pour ces recommandations.

    Citation Envoyé par Artemus24 Voir le message
    ...
    Je suppose que vous n'avez pas intégré le compte "pi" dans le groupe "gpio".
    Faites cela :
    ...
    Si, avant que de faire joujou avec les GPIO, j'ai appliqué cette commande, comme préconisé dans ce lien. Il est dit :

    The code may at first require to be run as root, i.e. either from a root account (not recommended) or via su. A better option is to add the user to the gpio group, the i2c group and the spi group.

    sudo adduser pi gpio
    sudo adduser pi i2c
    sudo adduser pi spi


    J'ai cru comprendre que d'intégrer le groupe me permettait d'éviter d'être en "root" ou de passer par "sudo". Mais a priori non, car je suis toujours obligé de passer par "sudo" ou être en "root".

    Cordialement.

    Pierre

  13. #13
    Expert éminent sénior
    quelle est exactement le message d'erreur que vous obtenez ?
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  14. #14
    Membre éclairé
    Citation Envoyé par Artemus24 Voir le message
    quelle est exactement le message d'erreur que vous obtenez ?
    Il semble, il faut que je vérifie, que deux cas se présentent :

    • exécutables réalisés à partir de Lazarus : si je ne suis pas en "root" ou "sudo", l'application se lance mais ne fait rien et lorsque je fais appel à une IO, j'ai un message d'erreur (ou pas) : Access violation. Si je suis en "root" ou en "sudo", tout se passe bien.
    • exécutables réalisés à partir de "Geany" en lengage C : "root" ou "sudo" ou pas : ça fonctionne toujours.


    Mais il faut que j'aille plus loin, je n'utilise pas les mêmes bibliothèques (WiringPi, PiGPIO, pas de bibliothèque, voir ICI) en C ou en Free Pascal. Pour l'instant, je teste.

    Mais au final, je me mets systématiquement en "root" ou "sudo" pour faire tourner ces applications.

    Cordialement.

    Pierre

  15. #15
    Expert éminent sénior
    Il y a une solution de contournement qui consiste à mettre le compte "pi" fans le groupe "root".
    Mais la bonne démarche consiste à savoir où il y a un blocage.
    Sans faire des essais par moi-même, il est difficile de dire où le problème se pose.
    Essaye de voir les accès aux répertoires. Le problème peut venir de là.
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

###raw>template_hook.ano_emploi###