在我的脚本中,我想打开一个特定的(设备驱动程序)文件作为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