Se você puder editar o script e remover os comandos sudo
, a execução do script como usuário raiz deverá funcionar conforme o esperado.
Instalar o comando sudo
também seria uma maneira de executar o comando com êxito.
apt install sudo
Novo no Linux - estou usando o Debian 9.
Eu quero executar um script para instalar o pwndbg
, seguindo o tutorial aqui . Estou usando minha conta root para fazer isso e quero instalá-lo no diretório inicial da minha conta raiz. A saída é a seguinte:
root@My-Debian-PC:~/pwndbg# ./setup.sh
+ PYTHON=
+ INSTALLFLAGS=
+ osx
+ uname
+ grep -i Darwin
+ '[' '' == --user ']'
+ PYTHON='sudo '
+ linux
+ uname
+ grep -i Linux
+ sudo apt-get update
./setup.sh: line 24: sudo: command not found
+ true
+ sudo apt-get -y install gdb python-dev python3-dev python-pip python3-pip libglib2.0-dev libc6-dbg
./setup.sh: line 25: sudo: command not found
root@My-Debian-PC:~/pwndbg#
Evidentemente, o script será executado como uma conta com sudo priveliges, fornecendo o erro porque a conta raiz não pode usar o comando sudo
.
Então, há uma maneira de remover os erros? Devo simplesmente editar o script e remover a palavra sudo
das linhas 24 e 25, ou é uma prática ruim fazê-lo? Ou é possível adicionar minha conta root ao grupo de usuários sudo, caso eu encontre o erro com outro script no futuro? Ou devo apenas executar o script como está e, em seguida, executar apt-get update
e, em seguida, apt-get -y install gdb python-dev python3-dev python-pip python3-pip libglib2.0-dev libc6-dbg
?
Obrigado!
Eu tentaria executar isso como um usuário não raiz. Essas construções de segurança existem por um motivo.
Se você já é root, sudo
é redundante. Os scripts geralmente usam "sudo" para perguntar aos usuários comuns de forma efetiva "Você realmente tem certeza de que deseja fazer isso?" Ou para diferenciar entre as alterações feitas para um determinado usuário e as alterações feitas em todo o sistema. Então, se você está apenas brincando em uma caixa de teste, vá em frente, mas definitivamente certifique-se de entender em particular o que a linha "sudo" está fazendo.
Também gostaria de advertir contra o uso de sua conta root para uso extensivo fora da administração. Se você quiser realmente usar a biblioteca que está instalando para desenvolver software, não faz sentido ter um usuário não administrativo que você usa como seu login diário. Veja aqui por que é uma má ideia registrar em regularmente para executar aplicativos como root. Entender isso deve ser particularmente importante se você estiver interessado em segurança.
Tags sudo bash root scripting shell-script