Aller au contenu principal
Sujet résolu
Ce sujet a été marqué résolu et ne nécessite aucune autre attention.
Sujet: sans passer par su - (Lu 3379 fois) sujet précédent - sujet suivant

sans passer par su -

Hello !
j'ai une commande qui ne passe que par su - ou par sudo:
protonvpn c -f
et comme je dois la faire chaque fois que je démarre mon ordi et que je dois passer par su
c'est énervant de chaque fois donner le mdp du super-u
et comme je ne fais rien de mal,  dites-moi comment passer cette commande en étant le user....

Re : sans passer par su -

Répondre #1
Ton password Root est si compliqué?
Il y a la commande
xhost +
qui te permet de faire ce que tu veux,comme si tu étais Root et non user. Pour revenir à la normale tu tapes
xhost-
. Mais c'est trés dangereux. Tu peux être victime d'un script malveillant. Donc à ne pas mettre entre toutes les mains.

Re : sans passer par su -

Répondre #2
alain@siderante:~$ xhost +
access control disabled, clients can connect from any host
alain@siderante:~$ protonvpn c -f
[!] The program was not executed as root.
[!] Please run as root.
alain@siderante:~$
ton truc, ça ne marche pas... serai-je un malveillant ???

Re : sans passer par su -

Répondre #3
Bah chez moi ça sert notamment à éditer un fichier graphiquement, fichier a l'accès et aux droits en principe réservés exclusivement exclusivement à Root.
As tu essayé sous leap?

Re : sans passer par su -

Répondre #4
J'essaye avec ma Tumble cabriolet:
alain@Susette:~> xhost +
access control disabled, clients can connect from any host
alain@Susette:~> protonvpn c -r
[!] The program was not executed as root.
[!] Please run as root.
alain@Susette:~> xhost + ; protonvpn c -r
access control disabled, clients can connect from any host
[!] The program was not executed as root.
[!] Please run as root.
alain@Susette:~>
et pourtant la commande protonvpn fonctionne (en su):
Mot de passe : 
Susette:~ # protonvpn c -r
Connecting to DK#1 via TCP...
Connected!
Susette:~ #

Re : sans passer par su -

Répondre #5
Pas sûr d'avoir compris la question, mais s'il s'agit juste d'éviter de taper le mdp root, alors il est possible de configurer sudo (par ex. via Yast),  pour y ajouter la commande (et ses paramètres) avec l'option "pas de mot de passe".

Re : sans passer par su -

Répondre #6
Pas sûr d'avoir compris la question, mais s'il s'agit juste d'éviter de taper le mdp root, alors il est possible de configurer sudo (par ex. via Yast),  pour y ajouter la commande (et ses paramètres) avec l'option "pas de mot de passe".
Salut et merci pour ce petit rappel (j'étais passé là dessus vite fait après ma première installation)

Ce Yast m'épate car en l'occurence ça évite d'aller bricoler à la main /etc/sudoers , ou d'aller fouiner dans le dossier /etc/sudoers.d/.

J'espère que cela solutionnera la question de Moniroje  (normalement oui).

Re : sans passer par su -

Répondre #7
super guiv !!
mais ça ne marche pas avec la commande protonvpn c -f ni avec protonvpn
En fait il faut user de parcourir et là je choise /usr/local/bin/protonvpn

Heu, je viens d'essayer:
alain@Susette:/> protonvpn c -f
[!] The program was not executed as root.
[!] Please run as root.
alain@Susette:/>
Peut-être après un reboot ?? A+

Ben non, ça ne marche toujours pas... à la prochaine install de Suse, je choisirais que le user soit aussi le super-user... na !

 

Re : sans passer par su -

Répondre #8
Heu, je viens d'essayer:
alain@Susette:/> protonvpn c -f
[!] The program was not executed as root.
[!] Please run as root.
alain@Susette:/>
Bonjour,

J'imagine que tu es passé par Yast pour configurer Sudo. Tu as donc établi une nouvelle règle Sudo pour l'utilisateur alain sur la commande /usr/local/bin/protonvpn et sans mot de passe. Ce faisant tu as délégué des droits root sur protonvpn à l'utilisateur alain (sans que celui-ci doive saisir un mot de passe).

Il faut donc indiquer qu'alain agit en tant que root quand il passe la commande protonvpn. Comment? En utilisant sudo :
alain@Susette:/> sudo protonvpn c -f
Que Guiv me corrige au besoin...

Re : sans passer par su -

Répondre #9
Je confirme
1/ dans yast/sudo : tu donnes le droit à ton utilisateur d'exécuter la commande "machin" avec les droits root, sans mot de passe
2/ depuis une console, avec ton utilisateur, la commande "sudo machin" s'exécutera en root sans te demander de mot de passe

Attention, à utiliser avec prudence, donner des droits via "sudo" reste une dérogation à une règle de sécurité.

Dans ton cas, si effectivement tu as besoin de taper cette commande à chaque ouverture de session, j'irai probablement jusqu'à l'automatiser...
Via les paramètres de ta session ("Configuration du système / Démarrage et arrêt / Démarrage automatique) tu peux ajouter l'exécution automatique d'une commande ou d'un script à l'ouverture de ta session.

Ben non, ça ne marche toujours pas... à la prochaine install de Suse, je choisirais que le user soit aussi le super-user... na !
Alors ça, c'est une TRES mauvaise idée !
A titre personnel, je suis tout à fait rassuré de ne jamais (ou quasiment jamais) être root. C'est une protection très efficace contre les erreurs !

Re : sans passer par su -

Répondre #10
scrogneugneu, même en sudo, il me demande quand même mon password!
[/url][/img]
Oui, je vais essayer d'automatiser comme tu me le conseilles.
Je pensais aussi à créer des alias du genre proton-r, proton-f,
ah zut, j'ai pas l'image: j'essaye:
https://zupimages.net/viewer.php?id=20/43/22dg.png
et là, c'est bon ??

Re : sans passer par su -

Répondre #11
scrogneugneu, même en sudo, il me demande quand même mon password!

Euuuh... Je ne comprends pas : si j'en crois ta capture d'écran, tu n'as pas eu besoin de saisir le mdp quand tu as tapé la commande "sudo /usr/local/bin/protonvpn c -f" ?  :o
En clair ça a l'air de marcher, non ?

Le plus simple à mon avis pour automatiser :
- tu crées un fichier texte "monscriptamoi.sh" quelque part
- tu le rends exécutable : "chmod +x monscriptamoi.sh", ou simplement via dolphin/clic-droit/propriétés/Droits d'accès et tu coches "est exécutable"
- tu tapes dedans ta commande: sudo /usr/local/bin/protonvpn c -f
- via "Configuration du système / Démarrage et arrêt / Démarrage automatique" tu pointes sur ton script.

Ça devrait se lancer tout seul à chaque ouverture de session, et sans demander de mdp  8)

Je ne connais pas protonvpn, mais s'il a besoin d'être connecté au réseau avant de s'exécuter et que tu te connectes en wifi, il y a moyen pour que le script se lance trop tôt et que ça foire... Dans ce cas, tu peux aussi (toujours via "configuration du système") attacher un raccourci clavier perso à ton script. Comme ça, quand tu en as besoin, un petit raccourci clavier et c'est bon.

Re : sans passer par su -

Répondre #12
Euuuh... Je ne comprends pas : si j'en crois ta capture d'écran, tu n'as pas eu besoin de saisir le mdp quand tu as tapé la commande "sudo /usr/local/bin/protonvpn c -f" ?  :o
En clair ça a l'air de marcher, non ?

Bonsoir (bien tard),

J'interprète moi aussi que cela fonctionne.

Maintenant je m'interroge en aparté  :  /usr/local/bin/ est normalement un chemin d'accès déclaré des exécutables de telle  sorte qu'une commande présente dans /usr/local/bin/ ne doive pas être nécessairement précédée de son chemin pour l'invoquer (j'exprime en français ma compréhension du PATH... c'est plus long, désolé). Donc pas normal que cela ne réagisse pas correctement à la première invoquation.
chumi@localhost:~> echo $PATH
/home/chumi/bin:/usr/local/bin:/usr/bin:/bin
Mais peu importe dans l'immédiat.

Pour l'automatisation avec le script et un délai d'exécution à retardement,  il est peut-être possible de s'inspirer de ce qui se fait pour Conky (sleep xx seconds).

Re : sans passer par su -

Répondre #13
Maintenant je m'interroge en aparté  :  /usr/local/bin/ est normalement un chemin d'accès déclaré des exécutables de telle  sorte qu'une commande présente dans /usr/local/bin/ ne doivent pas être nécessairement précédée de son chemin pour l'invoquer (j'exprime en français ma compréhension du PATH... c'est plus long, désolé). Donc pas normal que cela ne réagisse pas correctement à la première invoquation.
Oui... mais non ! En fait cela me semble tout à fait normal...et même plutôt bien pensé.
Avec sudo on donne des droits à un programme précis, pas juste à un nom de commande.
Il faut tout de même éviter qu'un petit malin créé un binaire, le nomme "protonvpn", le range quelque part dans le path, et puisse ensuite l'exécuter en root sans mot de passe !
Yast/sudo est d'ailleurs bien fait, puisqu'il demande de sélectionner le programme (avec son emplacement précis), pas juste de donner un nom de commande.

D'ailleurs ça m'intrigue un peu ce protonvpn. S'il ne doit être exécuté que par root, je me demande bien pourquoi il est rangé dans /usr/local/bin et pas /usr/local/sbin qui est fait pour ça (les binaires réservés à root).
Pour éviter des risques inutiles, il serait bon de vérifier que seul root à le droit de modifier /usr/local/bin/protonvpn, sinon on retrouve le problème de sécurité mentionné plus haut (n'importe qui peut faire n'importe quoi avec les droits root, bof bof).

En résumé, sudo c'est avec précautions. En règle générale quand on crée des exceptions de sécurité avec sudo, il faut faire attention à maîtriser le programme auquel on donne des droits privilégiés

Re : sans passer par su -

Répondre #14
Oui... mais non ! En fait cela me semble tout à fait normal...et même plutôt bien pensé.
Avec sudo on donne des droits à un programme précis, pas juste à un nom de commande.

Ah oui, en prenant un peu de hauteur, ça se tient. Je suis un "administrateur" de pacotille (mono-utilisateur pour mes loisirs), du coup mon champs de vision est souvent rétréci  ;)