我想在局域網的某些系統中阻止usb海量存儲。我寫了一個bash腳本來修改文件。我在ubuntu中將腳本作爲默認管理員運行。但腳本無法修改文件。我收到以下錯誤 「慶典:/etc/modprobe.d/blacklist.conf:權限被拒絕」sudo in bash,權限被拒絕
下面是我的bash腳本
#/bin/bash
password='mypassword' #admin password of remote system
val='blacklist usb-storage' #text which i want to add in the file
for sysName in $(cat systemDetails) #systemDetails is file which stores
do
ssh $sysName 'echo '$password' | sudo -S echo '$val ' >> /etc/modprobe.d/blacklist.conf'
echo
done
#script ends
注:我已經配置我的系統,不需要ssh密碼。
這方面的任何指針都會很有幫助。
檢查:LS -la /etc/modprobe.d/blacklist.conf。 看看有什麼權限。 –
它看起來像引用問題。爲什麼你可以直接在root帳戶下運行sudo? – marbu
命令寫入時的重定向由調用sudo的shell處理,您需要寫入/重定向以由sudo(高級進程)啓動的進程啓動。 – Mat