Sudo sans mot de passe?

Je cherche à modifier mon fichier sudoers afin que mon user toto n’ait plus à entrer de mot de passe sur les commande sudo.

J’ai parcouru les forums, et la seule chose qui s’en rapproche est la suivante:
identifiant ALL = commande, NOPASSWD: autrecommande

“Toutes les commandes situées à la droite du mot-clé NOPASSWD: peuvent être exécutées par l’utilisateur ou le groupe d’utilisateurs précisé en début d’instruction. Celles restées à sa gauche sont toujours soumises à l’authentification par mot de passe.”

Mais voilà, je veux que toutes les commandes soient sans mot de passe, donc la partie gauche ne m’intéresse pas.

J’ai tenté un toto NOPASSWD: ALL

mais le fichier n’en veut pas (syntaxe mauvaise).

Quelle est la solution svp?

Merci.

Salut,

Ne comptes pas sur nous pour te donner la corde pour te pendre !

Quoi que je paries mes deux sous qu’avant ce midi il y aura un … pour te donner la solution :mrgreen:

Je suis assez d’accord avec ggoodluck47 :slightly_smiling:
Autant se connecter directement en root dans se cas ?!

Mais bon :

Pour info :

toto ALL(Peut lancer une commande en tant que n’importe quel users)=ALL(Sur n’importe quelle machine) ALL (Toutes les commandes)
Je vais vérifier mais il me semble que c’est ca.

[quote=“Bastichou”]Je suis assez d’accord avec ggoodluck47 :slightly_smiling:
Autant se connecter directement en root dans se cas ?!

Mais bon :

visudo 
toto    ALL=ALL(NOPASSWD):ALL

Pour info :

toto ALL(Peut lancer une commande en tant que n’importe quel users)=ALL(Sur n’importe quelle machine) ALL (Toutes les commandes)
Je vais vérifier mais il me semble que c’est ca.[/quote]

Alors pourquoi essayer de lui donner la solution ?

Pour que quelqu’un puisse dire qu’il y a des trous de sécurité dans sudo :013

La question à laquelle il faudrait une réponse c’est « pourquoi » ? Pourquoi as-tu besoin d’exécuter sudo sans mot de passe mais sans pour autant être root ? :think: Il doit bien exister une solution dans le cadre d’une utilisation normale et sécurisée de ta machine, non ?

Essentiellement pour scripter.

Ex.
je souhaite fermer une appli. avec mon user toto, qui a besoin de killer un “service” (dans logrotate.d)
L’appli repose en effet sur un daemon qui se lance donc au démarrage du système.

Donc je peux scripter facilement avec un sudo pour killer le “daemon” (enfin en théorie).

Côté sécurité, peu m’importe, je suis le seul à utiliser mon PC.

Je vais tenter:
toto ALL=localhost(NOPASSWD):ALL

Pour déjà éviter les attaques réseau, on verra ce que ca donne.

Un grand merci à Bastichou pour les infos.

Oups, en fait visudo ne veut ni d’un :

toto ALL=ALL(NOPASSWD):ALL

encore moins d’un

toto ALL=localhost(NOPASSWD):ALL

Qui n’est pas relié à Internet :laughing: :laughing: :laughing:

Debian est synonyme de liberté pour moi (GNU/Linux d’une manière générale). Chacun fait ce qu’il veut de sa machine.
S’il s’agissait d’une technique de hacking, je comprendrai mais là c’est pas le cas.

Bien sûr tu fais ce que tu veux. De mon coté, je rejoins la démarche de Bastichou et Coq qui le mettent en garde sans pour autant l’empecher de choisir.

Et alors? Tu t’es fait ta propre opinion de sudo à partir de ton experience non? Que les kevins racontent ce qu’ils veulent, on s’en cogne.

Je crois que la solution serait plus proche d’un
toto ALL=(ALL) NOPASSWD: ALL

après si c’est pour lancer des scripts, ce que j’ai du faire aussi sur une machine personnellement j’ai fait

toto ALL=(ALL) NOPASSWD : /home/scripts/script1.sh,/home/scripts/script2.sh
Comme ca ton script (avec un petit su avant ta commande) est utilisé en tant que root et voila :slightly_smiling:

Merci Kristy, nickel.

[quote=“ggoodluck47”]
Alors pourquoi essayer de lui donner la solution ?
Pour que quelqu’un puisse dire qu’il y a des trous de sécurité dans sudo :013[/quote]

Il est très facile de trouver l’info sur le net, je lui ai juste fais gagné un peu de temps. (ou pas apparament)

+1

Sinon, au siècle dernier (avant sudo) on m’a appris à écrire ça en C.

Un petit programme exécute d’abord :
setuid (0);

Puis il lance la commande exec…(…); ou system ("…"); avec ce qu’il faut dans les pointillés.

Pour que ce programme ait les droits de root, il faut que le fichier exécutable obtenu par compilation du programme C appartienne à root et que le bit s soit positionné dans les droits d’accès.