grub2はルートなしで再起動できます

grub2はルートなしで再起動できます

私は次のスクリプトを使用します(コードベース)ここ) Windows で再起動すると空想に陥り、起動メニューを見逃すたびに自責をやめることができます。

#!/bin/bash
ENTRY=$( grep Windows /boot/grub2/grub.cfg | head -n 1 | cut -d"'" -f2 )
echo Rebooting to \"$ENTRY\"
sudo grub2-reboot "$ENTRY" && reboot

sudoただし、パスワードが必要で入力する必要があります。それ以外の場合は、次の結果が表示されます。

/usr/bin/grub2-editenv: error: cannot open ‘/boot/grub2/grubenv’: Permission denied.

これはシンボリックリンクであり/boot/grub2/grubenv -> /boot/efi/EFI/fedora/grubenv、所有していますroot

このコマンドはreboot通常のユーザーとして Fedora 23 で正しく実行されます。どうすればgrub2-reboot安全に実行できますか?

棒で尋ねるのと似たことを考えていましたがgrub2-editenv、それがうまくいかないようです。私のスクリプトの固定ビットは機能しません(良いもの)。ファイルの権限を変更すると/boot/efi/EFI/fedora/grubenv機能しますが、予想よりも多くの可能性がある可能性があります。

ベストアンサー1

私は2つの可能性を見る:

  • sudoを使用しますが、コマンドがパスワードを要求しないように設定します(NOPASSWDオプションを使用)。

  • ルートをスクリプト所有者に設定し、スクリプトのuidを設定します。chown root.root script ; chmod u+s script

おすすめ記事