3 votes

Exécuter bash script sans demander le mot de passe

J'ai écrit un petit shell script qui change certains paramètres que je dois changer souvent. Je l'ai enregistré en tant que fichier .command, de sorte qu'un double-clic l'exécute. Maintenant, à chaque fois que je l'exécute, il me demande mon mot de passe (bien que le simple fait de changer ces paramètres ne nécessite aucun mot de passe lorsque je le fais à la main). Est-il possible de faire en sorte que le bash script s'exécute, sans qu'il demande un mot de passe à chaque fois ? Tout ce qu'il fait est de désactiver mes paramètres de proxy...

Le script :

#!/bin/bash
osascript -e 'quit app "MyAppsAnywhere"'
networksetup -setautoproxystate Wi-Fi off
exit 0

0 votes

Essayez d'utiliser sudo networksetup ... -- Il vous demandera toujours votre mot de passe, mais pas à chaque fois.

2voto

thrig Points 777

Vous pourriez utiliser

sudo networksetup -setautoproxystate Wi-Fi off

et ensuite configurer sudoers(5) pour autoriser cette commande exacte (ou toute autre networksetup (ou n'importe quelle commande) sans mot de passe, bien que cela nécessite généralement de manipuler les éléments suivants visudo(8) et si vous vous trompez, vous risquez d'être exclu de l'utilisation future du système. sudo(1) . Ouvrez un shell Root, faites une sauvegarde de /etc/sudoers modifiez le fichier en exécutant visudo Testez-le, et utilisez Root shell pour restaurer la sauvegarde de la configuration si les choses tournent mal. Pertinent sudoers(5) Les lignes de configuration seraient du type

# only with these args
yourloginnamehere ALL=(root) NOPASSWD: /usr/sbin/networksetup-setautoproxystate Wi-Fi off, /usr/sbin/networksetup-setautoproxystate Wi-Fi on

# any arguments to the command
yourloginnamehere ALL=(root) NOPASSWD: /usr/sbin/networksetup

# no password prompts at all from sudo ever
yourloginnamehere  ALL=(ALL) NOPASSWD: ALL

Aussi visudo peut exécuter un éditeur étrange par défaut, donc vous pourriez vouloir lire sur les EDITOR y DISPLAY les variables d'environnement et les sudo questions et de la documentation avant de s'engager dans vi ...

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X