python - 如何打开 "root"文件而无需每次都输入密码?

标签 python linux permissions sudo

我读到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/

相关文章:

php - 无法写入只读 SQLite 数据库文件

Python AppIndicator 绑定(bind) -> 如何检查菜单是否打开?

python - 下载 huggingface 预训练模型

python - 停止 callgrind 中的检测

java - 如何防止 Spring Boot/Tomcat (Java8) 进程被 OOM 杀死?

linux - 写权限问题

python - 502 Bad Gateway 重新加载主管后

python - 将 tfidf 附加到 pandas 数据框

c++ - 根据该实用程序的源代码创建类似 Linux "df"的实用程序

python - 自定义和非托管用户模型/滞后用户表