2011-02-18 46 views
1

嘿,大家好,我只是Python新手。我想用Python寫一個腳本來改變DNS。Python腳本來改變resolv.conf [權限問題]

但是我知道resolv.conf是只讀文件,寫完代碼後。因爲我把這個錯誤:IO錯誤:[錯誤13]許可被拒絕:「在/etc/resolv.conf」

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

於是,我做了一個小的搜索和發現os.chmode(),我寫了一個新的行刪除的resolv.conf的一切特權是:

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

但現在我要帶這個錯誤:IO錯誤:[錯誤13]許可被拒絕: '在/etc/resolv.conf'

我無法克服這個問題,我正在等待您的建議。

謝謝。

+0

它被稱爲**腳本**,而不是* scrypt *。 – ThiefMaster 2011-02-18 11:17:47

回答

6

/etc/resolv.conf通常由root所有。除非您的腳本以root privileges的方式運行,否則它將無法更改文件。

0

Chmod必須在腳本之前以根用戶身份運行。並且,當您獲得權限時,您的腳本將無錯地運行

0

絕不應允許像resolv.conf這樣的文件被所有人寫入。看起來你正在調整它,或者試着去777.這真的很糟糕。有很多人可以通過更改主機上的解析器並將該主機指向因惡意原因而設置的系統。例如,可以擁有自己的LDAP服務器,並且通過更改resolv.conf指向解析器的系統和LDAP服務器,從而可能獲得特權級別的訪問權限。

保持此文件始終處於鎖定狀態。