J'aimerais faire quelque chose comme ça :
sudo -p password rm /a/file
Puis-je mettre le mot de passe et l'utilisateur sur la même ligne ?
Ma version de Sudo est 1.8.9p5
Réponse acceptée :
sudo
n'a pas d'option pour spécifier le mot de passe, mais vous pouvez toujours faire l'authentification sur la ligne de commande, comme ceci :
echo password | sudo -u root --stdin
ou simplement
echo password | sudo -S
en vous référant à la page de manuel de sudo :
-S
,--stdin
Écrivez l'invite dans l'erreur standard et lisez le mot de passe à partir de l'entrée standard au lieu d'utiliser le terminal. Le mot de passe doit être suivi d'un caractère de saut de ligne.
et
-u
utilisateur,--user=
utilisateur
Exécutez la commande en tant qu'utilisateur autre que l'utilisateur cible par défaut (généralement root). L'utilisateur peut être soit un nom d'utilisateur, soit un ID utilisateur numérique (UID) précédé du caractère « # » (par exemple, #0 pour l'UID 0). Lors de l'exécution de commandes en tant qu'UID, de nombreux shells exigent que le '#' soit échappé avec une barre oblique inverse (''). Certaines politiques de sécurité peuvent limiter les UID à ceux répertoriés dans la base de données de mots de passe. La politique sudoers autorise les UID qui ne figurent pas dans la base de données de mots de passe tant que l'option targetpw n'est pas définie. D'autres stratégies de sécurité peuvent ne pas le prendre en charge.
Mais sudo
est en développement depuis longtemps. Vérifiez la version :
-V
,--version
Imprimer lesudo
chaîne de version ainsi que la chaîne de version du plug-in de politique de sécurité et de tout plug-in d'E/S. Si l'utilisateur appelant est déjà root, le-V
l'option affichera les arguments passés à configure lorsquesudo
a été construit et les plugins peuvent afficher des informations plus détaillées telles que les options par défaut.
La prise en charge des options longues a été ajoutée en 2013.
En plus de l'authentification, vous avez besoin de quelque chose pour sudo
à faire , par exemple une commande. Je vérifie souvent que ça marche en faisant juste
sudo id
qui devrait afficher la racine utilisateur, par exemple
uid=0(root) gid=0(root) groups=0(root)