grub2 無需 root 即可重新啟動

grub2 無需 root 即可重新啟動

我使用以下腳本(基於程式碼這裡)重新啟動到 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

我看到兩種可能性:

  • 使用 sudo,但配置它以便該命令不會詢問您密碼(使用NOPASSWD選項)

  • 將 root 設定為腳本的擁有者並設定腳本的 uid:chown root.root script ; chmod u+s script

相關內容