Eu tenho um script que faz várias coisas diferentes, a maioria das quais não requer privilégios especiais. No entanto, uma seção específica, que eu conti em uma função, precisa de privilégios de root.
Não desejo exigir que o script inteiro seja executado como root e quero poder chamar essa função, com privilégios de root, de dentro do script. Solicitar uma senha, se necessário, não é um problema, pois, na maioria das vezes, é interativo. No entanto, quando tento usar sudo functionx
, recebo:
sudo: functionx: command not found
Como eu esperava, export
não fez diferença. Eu gostaria de poder executar a função diretamente no script, em vez de quebrá-la e executá-la como um script separado por vários motivos.
Existe alguma maneira de tornar minha função "visível" para o sudo sem extraí-la, encontrar o diretório apropriado e executá-la como um script independente?
A função tem aproximadamente uma página e contém várias seqüências de caracteres, algumas com aspas duplas e outras com aspas simples. Também depende de uma função de menu definida em outra parte do script principal.
Eu só esperaria que alguém com sudo QUALQUER capaz de executar a função, pois uma das coisas que faz é alterar as senhas.
declare
também elas.