2

みなさん、こんにちは。私はPythonの初心者です。DNSを変更するスクリプトをPythonで作成したかったのです。

しかし、そのコードを書いた後、resolv.confが読み取り専用ファイルであることを学びました。そのエラーが発生したため:IOError:[Errno 13]アクセスが拒否されました:'/etc/resolv.conf'

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

次に、少し検索して見つけ、 resolv.confos.chmode()のすべての特権を削除するための新しい行を書きました。これは次のとおりです。

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

しかし今、私はそのエラーを受け取っています:IOError:[Errno 13]許可が拒否されました:'/etc/resolv.conf'

私はこの質問を乗り越えることができず、あなたのアドバイスを待っています。

ありがとうございました。

4

3 に答える 3

6

/etc/resolv.conf通常はによって所有されrootます。スクリプトがroot権限を持つような方法で実行されない限り、ファイルを変更することはできません。

于 2011-02-18T11:17:28.253 に答える
0

Chmodは、スクリプトの前にrootとして実行する必要があります。また、権限を取得すると、スクリプトはエラーなしで実行されます

于 2011-02-18T11:17:47.173 に答える
0

resolv.confのようなファイルがすべての人に書き込み可能になることを決して許可しないでください。777にchmodしたか、とにかくしようとしていたようです。それは本当に悪いことです。ホスト上のリゾルバーを変更し、そのホストが悪意のある理由でセットアップされたシステムを指すようにすることで、誰かができることはたくさんあります。たとえば、独自のLDAPサーバーを使用し、resolv.confを変更することで、システムをリゾルバーとLDAPサーバーにポイントし、特権レベルのアクセスを取得できる可能性があります。

このファイルは常にロックダウンしてください。

于 2011-02-18T17:12:07.960 に答える