Eu uso o seguinte script (baseado no códigoaqui) para reiniciar o Windows, para que eu possa parar de me culpar toda vez que começo a sonhar acordado e perco o menu de inicialização.
#!/bin/bash
ENTRY=$( grep Windows /boot/grub2/grub.cfg | head -n 1 | cut -d"'" -f2 )
echo Rebooting to \"$ENTRY\"
sudo grub2-reboot "$ENTRY" && reboot
No entanto, preciso sudo
e devo digitar uma senha ou recebo o seguinte:
/usr/bin/grub2-editenv: error: cannot open ‘/boot/grub2/grubenv’: Permission denied.
É um link simbólico /boot/grub2/grubenv -> /boot/efi/EFI/fedora/grubenv
e de propriedade de root
.
O comando reboot
funciona bem como um usuário normal no Fedora 23. Como posso fazer grub2-reboot
funcionar também, mas de forma segura?
Eu estava pensando em algo parecido com um pedaço de pau grub2-editenv
, mas isso não parece bom. Um pedaço pegajoso no meu script não funcionará (uma coisa boa). Alterar as permissões no arquivo /boot/efi/EFI/fedora/grubenv
funcionaria, mas poderia abrir mais possibilidades do que o pretendido.
Responder1
Vejo duas possibilidades:
Use sudo, mas configure-o para que este comando não peça senha (usando
NOPASSWD
a opção)Defina root como o proprietário do script e configure o script:
chown root.root script ; chmod u+s script