Eu quero executar um script que exija privilégios de root sem inserir uma senha. Existem perguntas / respostas semelhantes, mas parece que não funciona para mim.
Eu coloquei meu script em / home / kf / bin (adicionei o bin dir) e incluí este diretório no meu caminho para que eu possa executá-lo em qualquer lugar.
O script: trim.sh
:
#! /bin/sh
sudo fstrim -v /
Alterei a propriedade do script para root
:
sudo chown root:root /home/kf/bin/trim.sh
e tornou-o executável
sudo chmod 700 /home/kf/bin/trim.sh
em seguida, adicionei uma linha ao meu arquivo sudoers com visudo
:
kf ALL=(ALL) NOPASSWD: /home/kf/bin/trim.sh
Quando eu fizer login novamente e executar o script com trim
, ainda preciso inserir minha senha. Eu sei que posso fazer um cron para isso, mas também quero poder executar o script manualmente sem digitar minha senha. Qualquer ajuda apreciada.
edit:
Meu arquivo sudoers é assim:
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin: /usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
kf ALL=(ALL) NOPASSWD: /home/kf/bin/trim.sh
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL