GNU/Linux >> Linux Esercitazione >  >> Linux

Esegue uno script di shell nella shell corrente con l'autorizzazione sudo

Non sono sicuro che questo infranga qualche regola, ma

sudo bash script.sh

Sembra funzionare per me.


Quello che stai cercando di fare è impossibile; la tua attuale shell è in esecuzione con il tuo normale ID utente (cioè senza root l'accesso sudo ti darebbe) e non c'è modo di concedergli l'accesso come root . Cosa sudo fa è creare un nuovo *sub*processo che viene eseguito come root. Il sottoprocesso potrebbe essere solo un normale programma (ad esempio sudo cp ... esegue cp programma in un processo root) o potrebbe essere una subshell root, ma non può essere la shell corrente.

(In realtà è ancora più impossibile di così, perché il file sudo il comando stesso viene eseguito come un sottoprocesso della shell corrente, il che significa che in un certo senso è già troppo tardi per fare qualcosa nella "shell corrente", perché non è lì che viene eseguito.)


Linux
  1. Come eseguire retroattivamente uno script come root?

  2. Cambia la directory di lavoro nella shell con uno script python

  3. Ubuntu - Esegui il comando all'avvio con sudo

  4. Aggiunta a $PYTHONPATH con lo script bash

  5. Kali Linux VM:Autorizzazione negata per eseguire script shell, come root

Come eseguire un comando Shell con Python

Eseguire una linea di comandi con un sudo?

Modo per fare in modo che uno script di shell venga sempre eseguito come root?

Come eseguire un comando in uno script della shell?

Debug in pyCharm con privilegi sudo?

Posso fare in modo che uno script venga sempre eseguito come root?