Linux

sudoers 文件權限

  • October 25, 2012

我正在嘗試執行以下命令而不需要 sudo:

echo 1 | sudo tee -a /sys/block/$hd/device/delete

對於我的驅動器托架中的每個 HDD,$hd 變數從 sdb -> sdi 動態變化。

我在 sudoers 文件中添加了以下行:

operator ALL=/sys/block/sdb/device/delete

但這並沒有什麼不同,即使我執行它仍然要求輸入 sudo 密碼:

echo 1 | sudo tee -a /sys/block/sdb/device/delete

sudoers行只能指向您要執行的命令,而不是目標輸出文件。其下的任何內容/sys都是寫入字元的特殊設備。

您要做的是創建一個腳本,該腳本將echo 1 > /sys/block/$hd/device/delete檢查 $hd 以匹配正則表達式/sd[b-i]/。將 sudo 命令指向該腳本,而不是您擁有它的位置。

此外,Michael Hampton 是對的:有人執行刪除命令,你不想把事情搞砸。如果您沒有適當的備份,那麼您的數據就永遠不存在。

引用自:https://serverfault.com/questions/442108