Forcer sudo à demander le mot de passe une fois de l'extérieur du sudoers

3

J'essaie de pirater ma propre application Android qui ouvre une connexion SSH sur mon ordinateur et envoie des commandes.

Je souhaite minimiser l’interactivité de ce processus afin de lui donner l’impression d’une télécommande.

J'ai ajouté un "commutateur" sudo qui, une fois activé, demandera un mot de passe sudo qui exécutera ensuite une commande x sudo -S -p '' x, puis le mot de passe sera envoyé au STDIN.

Le problème est que si la connexion échoue, la commande attendra 2 autres tentatives de mot de passe, en ajoutant une interactivité que je ne souhaite pas!

Je sais que je peux éditer passwd_triesdans le sudoersfichier, mais je sais plutôt s’il existe un moyen de définir cela en tant qu’argument avec sudo ou s’agit-il également d’une variable d’environnement pouvant être définie?

Quelqu'un sait? Ou n'est-ce pas autorisé pour des raisons de sécurité?

Sam Gonshaw
la source
Pourriez-vous simplement vérifier et, si le mot de passe échoue, rédigez quelques messages de spam pour utiliser les deux tentatives de mot de passe suivantes? Certainement pas une très bonne solution, mais c'est une option.
Saint Wacko

Réponses:

0

Après avoir parcouru man sudoet le sudoersfichier, je ne vois pas voir un moyen d'obtenir le comportement souhaité.

Raisons possibles: le
nombre de tentatives de mot de passe ne peut pas être augmenté, du point de vue de la sécurité. Bien qu’il soit possible de réduire le nombre de tentatives de mot de passe, cela n’était pas nécessaire.

Solution possible: Utilisation de -S, car elle échoue immédiatement si le mot de passe est incorrect:

echo <passwd> | sudo -S ls
bbaja42
la source
Pas tout à fait échoue immédiatement, juste sudo prend le même <passwd> à chaque tentative. Mais ça fait le travail!
Sam Gonshaw
0

Essayez de configurer un compte utilisateur distinct et configurez votre sudoersfichier pour accorder un accès sans mot de passe.

myuser    ALL = NOPASSWD: ALL

Vous pouvez également configurer l'utilisateur d'avoir un uidde ce 0qui est effectivement un second compte racine.

Cela supprime tout mot de passe secret de votre application Android. En réalité, évitez de stocker des secrets partagés tels que les mots de passe utilisateur en texte brut.

Gertvdijk
la source