Executar sudo
é uma má ideia porque você não sabe o que vai acontecer e se é realmente necessário:
-
Um prompt de senha será exibido? Se sim, quem vai digitar uma senha? Lembre-se: seu script pode ser executado em um shell por um humano, mas também pode ser executado em segundo plano, na inicialização, pelo cron ou em outras situações em que um terminal não está disponível.
-
O usuário digitará sua senha se ela vir o prompt? Pessoalmente, eu imediatamente paro os scripts me pedindo uma senha. Além disso, talvez eu nem perceba o aviso se o seu script produzir muitos resultados.
-
sudo
está disponível e configurado? O usuário atual pode executarsudo
? A resposta a uma dessas perguntas pode ser "não", e nesse caso você deve permitir que o usuário escolha como fornecer ao seu script os privilégios necessários. -
Tem certeza de que precisa ser superusuário? Talvez eu tenha configurado meu sistema para que seu script não precise de privilégios de root, neste caso,
sudo
é totalmente desnecessário e pode ser muito perturbador.
Por favor, deixe me decidir quais privilégios você precisa e como entregá-los a você.
A execução de sudo
pode ser uma boa ideia se você for root e quiser eliminar seus privilégios. Por exemplo, você pode abrir um arquivo de propriedade do root e, em seguida, alternar imediatamente para nobody:nogroup
por motivos de segurança. Ainda assim, o problema que sudo
pode não estar disponível ou não ser configurado permanece.