我读到this very interesting post ,这非常接近我的需要,但并不完全,他们将其用于 shell 脚本编写,而我主要需要针对内置 Python 函数的相同解决方案。
长话短说:
open("/dev/input/event3", "rb")
这不能开箱即用,因为为了打开 event3,由于权限提升,我每次执行 Python 脚本时都需要输入密码。我可以做什么,这样我就不必每次都输入密码,也不必在脚本中以平面文本形式写入密码?我喜欢上面链接的帖子中提供的解决方案,但这不起作用,因为这意味着我在这个打开的文件上获得的某种说话句柄将位于另一个作用域/python 脚本中。
有什么解决办法吗?
谢谢
编辑
我尝试修改整个 Python 脚本的权限,这样我就不需要输入密码,但这也不起作用。我尝试过的:
1)修改访问权限
sudo chown root:root /home/username/myscript.py
sudo chmod 700 /home/username/myscript.py
2)修改visudo
myusername ALL=(ALL) NOPASSWD: /home/username/myscript.py
3) 尝试执行我的 python 脚本现在失败了,尽管它显然在那里
myusername$ ./myscript
bash: ./myscript: No such file or directory
最佳答案
我认为您可能会倒退地处理这个问题。目前,您在问如何提升 python 脚本的权限,而无需每次都输入密码,而您应该问“为什么我需要输入密码?”
只要文件不存在安全问题,相关脚本和文件都应归输入组中的非 root 用户所有。然后,拥有 python 脚本的用户可以在没有 root 权限的情况下执行它来访问不需要它们的文件。
关于python - 如何打开 "root"文件而无需每次都输入密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49654856/