Mot de passe sans sudo dans le script

j'ai

Accès divisé

au serveur. Mon compte est ajouté à

sudoers

File

NOPASSWD

Utiliser des services / Demons B. /etc/init.d/.

Je veux ecrire

scénario

Pour commencer ou arrêter un démon en fonction de quelques tests. J'ai installé cron Pour démarrer ce script à un moment donné. Mais il retourne une erreur «sudo: ne pas tty Et le programme n'est pas spécifié. askpass».

Je peux utiliser le nom sudo /etc/init.d/service start / stop sans mot de passe dans le terminal. Je n'ai pas de mot de passe root.

J'ai vérifié le fichier deux fois / etc / sudoers. Il n'y a pas d'exigence. j'utilise Ubuntu-10.04, 2.6.32-24-generic.

Ci-dessous sont des lignes actives dans sudoers:

Defaults        env_reset
root ALL=(ALL) ALL
bijo ALL=NOPASSWD: /etc/init.d/apache2
%sudo ALL=(ALL) ALL
%admin ALL=(ALL) ALL
Invité:

Emilie

Confirmation de:

Si vous exécutez le script au nom du même utilisateur que celui qui n'a pas accès au mot de passe, il devrait fonctionner correctement, je vous assurerais que le script est en cours d'exécution pour le compte de l'utilisateur correct, je serais également testé le script. , l'appelant manuellement comme un utilisateur correct.

Vous devrez peut-être également vérifier que la ligne suivante n'existe pas dans le fichier. sudoers Ou qu'est-ce que vous avez une chaîne supplémentaire dans laquelle il est indiqué que votre utilisateur n'est pas requis TTY

Defaults requiretty

Si cette ligne est présente, vous pouvez également commenter (pas très bonne idée), Probablement mieux d'ajouter ce qui suit dans

Defaults:<username> !requiretty

Où USERNAME - Votre utilisateur
</username>

Christine

Confirmation de:

Ce message avec une plainte provient d'une partie du code que le mot de passe demande, de sorte qu'il se plaint car sans tty Il ne peut pas désactiver l'écho. Vous pouvez vous prouver que vous êtes de cette manière code en installant

visiblepw

dans sudoers, Ce qui évitera cet avertissement et vous permettra de voir la demande de mot de passe.

Donc, finalement quelque chose ne va pas avec

NOPASSWD:

le contrôle.

Quand plusieurs règles de

sudoers

correspondre,

dernier

La coïncidence est utilisée et non la plus spécifique. Donc, utilisateur.

bijo

situé dans% sudo ou% admin; Ainsi

NOPASSWD:

Le contrôle ne s'applique pas.

Votre test sur la ligne de commande s'est-il arrivé avant de sortir du système ou après vous avoir ajouté à l'un de ces groupes?

Alice

Confirmation de:

Je pense que vous devez utiliser

ssh -t

Alice

Confirmation de:

Ajouter

Defaults !requiretty

Rangée à la fin du fichier. Cela fera clairement éteindre requiretty pour tout.

Pour répondre aux questions, connectez-vous ou registre