Pb de droits lors de l'execution d'un script python

Bonjour,

J’ai un raspberry pi 3 b+ avec Raspbian Buster.

J’ai un script python qui fonctionne parfaitement lorsque je l’exécute avec le compte « pi » (par defaut).

J’ai créé un autre utilisateur nommé « pii », lorsque je vais dans l’arborescence de « pii » elle est vide, il n’y a pas tous les dossiers se trouvant dans « pi » celui par défaut à l’installation.

Lorsque j’exécute mon script avec le compte utilisateur « pii » en tapant python test.py

Voici le message qui s’affiche:

Traceback (most recent call last):
File « test.py », line 10, in
GPIO.setup(16,GPIO.LOW) # Definition du port en sortie
RuntimeError: No access to /dev/mem. Try running as root!

Sur ce même compte si je tape: sudo python test.py
Cela fonctionne parfaitement

Pouvez-vous me dire quelle est la raison pour laquelle lorsque un nouveau compte utilisateur est créé je n’ai pas toute arborescence comme dans le compte par défaut « pi »

Je souhaiterai qu’à partir su compte créé « pii » je puisse exécuter le script python en tapant uniquement cette commande: python test.py

Je pense qu’il s’agit d’un problème de droit, mais je n’arrive pas à trouver, malgré plusieurs tests infructueux.
Pouvez-vous m’aider?
Merci d’avance

Cordialement,

ça se crée la première fois que tu te loggues avec. à noter qu’il n aura pas de sudo tant que tu ne l’auras pas rajouter ds /etc/sudoers (en dupliquant /etc/sudoers.d/010_pi-nopasswd en /etc/sudoers.d/010_toto-nopasswd puis en faisant un chmod +w dessus et en changeant ds le fichier pi par ton nouveau user et apres tu supprime les droit d ecriture ( chmod -w … ) pourquoi faire simple quand on peut faire compliqué !

pour le problème de droit il doit falloir ajouter ton utilisateur au groupe kmem et peut être changer les droits ( écriture sur /dev/mem pour le groupe)

la solution du groupe est moins laxiste que de changer les droits utilisateurs de /dev/kmem

pour ces histoires de droit je ne suis jamais sur a 100% mais dans le pire des cas tu peux toujours remettre les droits d origine et virer le user du group :wink:

Merci pour votre aide!

Salut @Matrixx03

Sans contredire les informations données par @bof mais pour avoir un complément de ta part :

Tu as créé cet utilisateur de quelle manière ?

As-tu essayé de faire
chmod +x test.py
en étant dans le compte pii ?
Ensuite, tu refais
python3 test.py

Redis-nous,
++

le plus simple se serait de donner a ton utilisateur pii les mêmes droits sur les groups que ceux de pi.
pour faire ça, en se logguant sous pi, ds un terminal tu tapes la commande :
groups
tu auras la liste de tous les groupes auquel appartient pi
il ne te restera plus qu’a faire appartenir pii à ces groups :
sudo adduser pii nom_groupe
ou nom_groupe est un des group issu de la commande groups ( à faire bien sur pour chaque groupe issu de la commande groups)

je ne sais pas si rajouter pii dans le group pi suffirait !!!

j’avais zappé je pensais que le adduser pour la création du user faisait déja ce job ! on en apprend tous les jours ! ,-)

PS : j ai rien trouvé pour une duplication complète de user mais la solution d’ajouter les droits devrait solutionner ton problème.

pour Nabla
RuntimeError: No access to /dev/mem. Try running as root! je me goure peut être mais ce message a l’air de criser sur /dev/mem qui a des droit en lecture/ecriture que pour root et lecture pour kmem d’ou l’idée que c’est le user pii qui a ps les droits nécessaires ! mais ces trucs de droits c’est toujours une galère lol !

Merci pour votre réponse :wink: