在我的腳本中,我想打開一個特定的(設備驅動程序)文件作爲FD 3. exec 3<
在正常情況下正常工作。bash:使用sudo權限打開文件描述符
但是,設備驅動程序文件只能以root身份讀取,所以我正在尋找一種方法來使用sudo以root身份打開FD。
- >如何用sudo權限打開文件(描述符)?
不幸的是我必須保持腳本運行時的文件打開,所以像管道輸入或輸出這樣的技巧不起作用。 另外我不想在sudo權限下運行整個腳本。
如果須藤+ EXEC是根本不可能的,另一種解決方案是,我可以調用程序,在後臺像sudo tail -f
- 但這帶來另一些問題:
- 如何確定是否程序調用成功
- 如果調用不成功,如何獲取錯誤消息
- 如何在執行結束時「終止」程序。
編輯: 爲了澄清我想達到的目標:
- 打開/ dev/tpm0這需要root權限
- 執行與用戶權限我的命令
- 密切的/ dev/tpm0
這背後的原因是打開/ dev/tpm0阻止其他命令訪問tpm,這在我的s中是至關重要的ituation。
感謝您的幫助
如果您要向我們展示一些演示您正在嘗試解決的問題的代碼,則這將更容易回答。 – larsks
好吧,我想達到的目標是: *打開/ dev/tpm0這需要root權限 *做任何我的腳本需要做的,與用戶權限 *近的/ dev/tpm0 這背後的原因是,我我的腳本運行時必須阻止對/ dev/tpm0的訪問。 /dev/tpm0是一個阻止字符設備。 – PeterH
爲什麼只能以root身份打開fd? – 123