如果非 root 用户针对 root 拥有的文件运行以下代码,即使该非 root 用户具有 sudo 权限,它也会引发错误:
try:
f = open(filename, "w+")
except IOError:
sys.stderr.write('Error: Failed to open file %s' % (filename))
f.write(response + "\n" + new_line)
f.close()
有没有办法运行 open(filename, "w+")
具有 sudo 权限,或者执行此操作的替代功能?
原文由 user2824889 发布,翻译遵循 CC BY-SA 4.0 许可协议
你有几个选择:
os.geteuid() != 0
),然后使用sudo
infront 调用自己(这将要求用户输入密码)并退出:
调用它看起来像这样: