2009-11-28 50 views
1

我將django的settings.py文件設置爲chmod 600,以防止有害人員窺探我的數據庫連接信息,但是在導入時,python編譯此文件並將settings.pyc寫爲模式644。對於那些壞人來說,要從這個編譯版本中獲取他們所需要的信息並不算什麼。我擔心我的博客條目處於嚴重危險之中。python和保護磁盤上的pyc文件

除了明顯的os.chmod之外,人們用什麼技術將編譯好的python保存在磁盤上?

+4

誰是「壞人」可以訪問您的服務器?請提供姓名。他們是如何通過操作系統安全性來首先閱讀這些目錄的?誰授予他們訪問權?請提供姓名。 – 2009-11-28 23:07:44

+1

umask(和S.Lott +1) – KevinDTimm 2009-11-28 23:13:20

+0

瓷磚權限*是*操作系統安全性,他們越過它,因爲他們被設置不正確。我認爲這是一個錯誤:pyc文件應儘可能與它們對應的源文件具有相同的權限。雖然這很容易解決外部問題。而不是更改umask(可能很脆弱,例如,如果從單元測試導入模塊或調試時),我會更改包含文件的目錄的權限。 – 2009-11-29 03:02:30

回答

6

你可以直接在python中設置umask。解釋器使用該umask爲創建PYC文件:

import os 
os.umask(077) # Only keep rights for owner 
import test 

驗證創建的test.pyc:

$> ls -l test.py* 
-rw-r--r-- 1 shad users 0 2009-11-29 00:15 test.py 
-rw------- 1 shad users 94 2009-11-29 00:15 test.pyc 
+0

甜。我不知道這一點。只是我在找什麼 – mtvee 2009-11-28 23:24:33

1

向S.Lott的評論添加一點點:您的博客的代碼部分應存儲在可執行的位置(例如通過Web請求),但不能直接讀取。提供CGI支持的任何合理的Web服務器都將允許這樣設置。

+0

是的,它更多的是通過shell訪問機器的ppl,如果他們選擇的話可以窺視pyc文件。我可能會更好地回答這個問題。謝謝! – mtvee 2009-11-28 23:29:08

+0

@mtvee:誰是這些神祕的「帶殼訪問的人」?請定義「ppl」。請提供名稱列表。談論安全性很難,只是隨機揮手。您需要控制哪些用戶?請爲您的系統管理員提供一份清單。 – 2009-11-29 00:06:50

+3

我不知道他們是誰,那是瘋狂的事情,但我知道他們在那裏,四處嗅探,看着我的crontabs並查看日誌文件。有時候,深夜,當我做一個快速的ps ax | grep python'我看到一個,但一閃,當我再次看他們走了。他們可能也在你的系統中。警惕我的朋友,警惕和chmod 600. – mtvee 2009-11-29 01:07:27