2012-06-15 1 views
1

J'ai un script de lancement dans Linux Mint 13 afin que je puisse cliquer sur une icône sur le bureau pour monter mon NAS. Pour utiliser/bin/mount sans un mot de passe, je dois ajouter cette ligne à sudoers:sudoers NOPASSWD inefficace dans le script de lancement de bureau

<username> ALL = NOPASSWD: /bin/mount 

Le script pour monter le NAS est très simple:

#!/bin/bash 
if [ 0 = `sudo mount |grep -c nasbox` ] 
    then 
     sudo mount -a 
fi 

Si j'utilise un terminal mon script fonctionne sans qu'il soit nécessaire d'entrer un mot de passe, mais quand il est exécuté à partir d'un lanceur (en utilisant « application dans le Terminal »), il demande le mot de passe. Si je donne le mot de passe, il l'accepte et fonctionne - il doit savoir quel utilisateur exécute et permettre à l'utilisateur d'utiliser sudo, il fait partie de l'honneur de sudoers, mais il ne respecte pas le mot-clé NOPASSWD pour/bin/montage . Comment puis-je faire fonctionner le NOPASSWD ici?

Répondre

0

Supprimer/var/run/sudo,/var/lib/sudo et/var/db/sudo pour débusquer tout ce qui a peut-être mis en cache sudo. Assurez-vous ensuite que l'heure et la date de votre système sont correctement définies. En tant que (paranoïaque) mesure de sécurité, peut inciter sudo le mot de passe si elle détermine que l'horloge système est peu fiable.

Ce fait me est arrivé une fois sur un système sans une horloge RTC persistante. Je pense que je l'ai résolu en supprimant ces répertoires et en définissant l'horloge système à une valeur future au démarrage. L'utilitaire sudo a peut-être changé à ce jour, donc je ne suis pas sûr que cela s'applique toujours, mais essayez-le!

Questions connexes