Ho una sceneggiatura che fa diverse cose, molte delle quali non richiedono alcun privilegio speciale. Tuttavia, una sezione specifica, che ho contenuto all'interno di una funzione, necessita dei privilegi di root.
Non desidero richiedere che l'intero script venga eseguito come root e voglio poter chiamare questa funzione, con i privilegi di root, dall'interno dello script. Chiedere una password, se necessario, non è un problema poiché è comunque per lo più interattivo. Tuttavia, quando provo ad usare sudo functionx
, ottengo:
sudo: functionx: command not found
Come mi aspettavo, export
non ha fatto differenza. Mi piacerebbe essere in grado di eseguire la funzione direttamente nello script anziché scomporla ed eseguirla come script separato per una serie di motivi.
Esiste un modo per rendere "visibile" la mia funzione di sudo senza estrarla, trovare la directory appropriata e quindi eseguirla come script autonomo?
La funzione riguarda una pagina lunga e contiene più stringhe, alcune tra virgolette doppie e altre tra virgolette singole. Dipende anche da una funzione di menu definita altrove nello script principale.
Mi aspetterei solo che qualcuno con sudo ANY sia in grado di eseguire la funzione, poiché una delle cose che fa è cambiare le password.
declare
anche loro.