Além de sudo
, você pode escrever scripts para fazer coisas com suid bit set (não necessariamente suid root, talvez suid www-data ou mesmo suid nobody) e group execute bit set, e permitir que pessoas o executem adicionando-os para o grupo apropriado que possui o script em questão.
sudo
é melhor, porque deixa uma trilha de auditoria detalhada e pode ser bastante flexível, embora a página sudoers(5)
man seja bastante hostil a humanos e cheia de spaghetti Backus-Naur. E sudo
tende a vomitar e parar de trabalhar com qualquer erro de sintaxe em / etc / sudoers, então é melhor você definir uma senha de root real para o tempo que você configurou sudoers
file, ou você pode se encontrar bloqueado com sudo
quebrado.
sudo
ou não sudo
, tenha muito cuidado ao projetar scripts, analisar argumentos de linha de comando, gravar em arquivos controláveis pelo administrador.
Um exemplo, vamos imaginar que você tenha um script que seja invocado sob uma conta privilegiada (root ou qualquer outro), e pelo modo como ele escreve com truncamento (>) em um arquivo que seu administrador pode substituir por um link simbólico você nunca pensou em.
Outro exemplo, editando / etc / network / interfaces (ou um análogo dele em sua distro) e, em seguida, ifup'ing uma interface pode parecer inocente, mas existem scripts pré / post-up / down que são chamados como root . Opa.