GNU/Linux >> Tutoriels Linux >  >> Linux

Exécuter un script shell dans le shell actuel avec l'autorisation sudo

Je ne sais pas si cela enfreint les règles, mais

sudo bash script.sh

semble fonctionner pour moi.


Ce que vous essayez de faire est impossible; votre shell actuel s'exécute sous votre ID utilisateur habituel (c'est-à-dire sans root l'accès sudo vous donnerait), et il n'y a aucun moyen de lui accorder un accès root . Quoi sudo fait est de créer un nouveau *sous*processus qui s'exécute en tant que root. Le sous-processus peut être juste un programme normal (par exemple sudo cp ... exécute le cp programme dans un processus racine) ou il pourrait s'agir d'un sous-shell racine, mais il ne peut pas être le shell actuel.

(C'est en fait encore plus impossible que ça, car le sudo La commande elle-même est exécutée en tant que sous-processus du shell actuel - ce qui signifie qu'en un sens, il est déjà trop tard pour qu'il fasse quoi que ce soit dans le "shell actuel", car ce n'est pas là qu'il s'exécute.)


Linux
  1. Comment exécuter rétroactivement un script en tant que root ?

  2. 4 façons d'exécuter un script shell sous UNIX / Linux

  3. Changer le répertoire de travail dans le shell avec un script python

  4. Répertoire courant du script shell ?

  5. Exécuter un script shell dans un nouveau terminal à partir du terminal actuel

Comment exécuter une commande Shell avec Python

Comment exécuter une commande dans un script shell ?

Déboguer dans pyCharm avec les privilèges sudo ?

Comment exécuter un fichier sans extension .sh dans le shell

Puis-je faire en sorte qu'un script s'exécute toujours en tant que root ?

Créer des modèles avec Linux dans un script Shell ?