【问题标题】:Python script to change resolv.conf [Permission issue]更改 resolv.conf 的 Python 脚本 [权限问题]
【发布时间】:2023-03-08 18:09:01
【问题描述】:

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

但我在编写该代码后得知 resolv.conf 是 只读 文件。因为我犯了那个错误:IOError: [Errno 13] Permission denied: '/etc/resolv.conf'

myFile= open("/etc/resolv.conf", "w")

然后,我稍微搜索了一下,发现os.chmode(),我写了一个新行来删除 resolv.conf 的所有权限,即:

os.chmod("/etc/resolv.conf", 0777)

但现在我遇到了这个错误:IOError: [Errno 13] Permission denied: '/etc/resolv.conf'

我无法解决这个问题,我正在等待您的建议。

谢谢。

【问题讨论】:

  • 它叫做 script,而不是 scrypt

标签: python file-io chmod


【解决方案1】:

你不应该允许像 resolv.conf 这样的文件对所有人都可写。看起来你正在修改它,或者无论如何都尝试到 777。这真的很糟糕。通过更改主机上的解析器并使该主机指向出于恶意原因设置的系统,有人可以做很多事情。例如,可以拥有自己的 LDAP 服务器,并通过更改 resolv.conf 将系统指向其解析器和 LDAP 服务器,从而可能获得特权级别的访问。

始终锁定此文件。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-10
        • 1970-01-01
        • 2013-09-17
        • 1970-01-01
        • 2013-10-25
        • 2015-02-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多