GNU/Linux >> Tutoriels Linux >  >> Linux

Exécutez une commande Sudo en spécifiant le mot de passe sur la même ligne ?

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 le sudo 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 lorsque sudo 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)

Linux
  1. Comment supprimer un utilisateur sous Linux à l'aide de la ligne de commande

  2. Est-ce Shell Portable pour exécuter une commande sur la même ligne après l'affectation de variables ?

  3. Désactiver l'autorisation Sudo pour l'utilisateur à partir de la ligne de commande ?

  4. Comment utiliser sudo pour permettre à un utilisateur non root d'exécuter une commande particulière

  5. Comment exécuter TeX à partir de l'interface de ligne de commande sous Linux

Comment exécuter la commande Sudo sans mot de passe

Comprendre la différence entre les commandes sudo et su sous Linux

Maîtrisez la ligne de commande Linux

Principes de base de la ligne de commande Linux :sudo

Comment changer le mot de passe sudo via la ligne de commande sur CentOS 8

Googler - Exécutez des recherches Google à partir de la ligne de commande