O problema que estou recebendo é que, quando insiro o comando,
su - root
no início do meu arquivo de script de shell, ele solicita que o usuário digite a senha e NÃO continua com o restante do script de shell. Em seguida, tenho que localizar e executar manualmente o script de shell via terminal. Quero que o script garanta que o usuário efetue login como root e continue com o restante do script de shell.
Em outras palavras, desejo executar o script como qualquer usuário, mas, assim que o script começar a ser executado, o usuário deverá mudar para raiz e, em seguida, continuar com o restante do script como raiz até concluir. Isso pode ser feito?
sudo: must be setuid root
, algo aconteceu com o seu sudo. Para corrigi-lo:chmod u+s $(which sudo)
. E sim, eu estou ciente do que você está tentando fazer, faço a mesma coisa o tempo todo nos meus scripts.Você também pode verificar o UID:
fonte
Você pode chamar o próprio script e verificar:
fonte
No ponto em que você deseja fazer login, basta adicionar o seguinte comando
Isso está funcionando perfeitamente com meu código
fonte