更改resolv.conf[权限问题]的Python脚本

更改resolv.conf[权限问题]的Python脚本,python,file-io,chmod,Python,File Io,Chmod,大家好,我只是Python的新手。我想用Python编写一个脚本来更改DNS 但在编写代码之后,我了解到resolv.conf是只读的。因为我犯了那个错误:IOError:[Errno 13]权限被拒绝:'/etc/resolv.conf' myFile= open("/etc/resolv.conf", "w") 然后,我进行了一些搜索,找到了os.chmode(),我写了一行新行,删除了resolv.conf的所有特权,即: os.chmod("/etc/resolv.conf", 077

大家好,我只是Python的新手。我想用Python编写一个脚本来更改DNS

但在编写代码之后,我了解到resolv.conf是只读的。因为我犯了那个错误:IOError:[Errno 13]权限被拒绝:'/etc/resolv.conf'

myFile= open("/etc/resolv.conf", "w")
然后,我进行了一些搜索,找到了
os.chmode()
,我写了一行新行,删除了resolv.conf的所有特权,即:

os.chmod("/etc/resolv.conf", 0777)
但现在我犯了这个错误:IOError:[Errno 13]权限被拒绝:'/etc/resolv.conf'

myFile= open("/etc/resolv.conf", "w")
我无法克服这个问题,我在等待你的建议


谢谢。

/etc/resolv.conf
通常由
root
所有。除非您的脚本以它所拥有的方式运行,否则它将无法更改文件。

Chmod您必须在脚本之前以root用户身份运行。当您获得权限时,您的脚本将无错误地运行

您不应该允许像resolv.conf这样的文件可供所有人写入。看起来你是想把它改成777。真糟糕。有很多人可以通过更改主机上的解析程序并使该主机指向出于恶意原因而设置的系统来完成。例如,您可以拥有自己的LDAP服务器,并通过更改resolv.conf将系统指向其解析程序和LDAP服务器,从而可能获得特权访问级别

始终锁定此文件。

它称为脚本,而不是scrypt。