Python及安全存储pyc文件
我把Django的settings.py文件设置成了chmod 600,这样可以防止那些坏人偷窥我的数据库连接信息。但是在导入时,Python会编译这个文件,并生成一个settings.pyc文件,权限是644。坏人只需要稍微查一下,就能从这个编译后的版本中获取他们需要的信息。我担心我的博客内容会受到严重威胁。
除了明显的os.chmod,还有什么方法可以让你的编译后的Python文件在磁盘上更安全呢?
2 个回答
1
补充一下S.Lott的评论:你博客里的代码部分应该放在一个可以执行的地方(比如通过网页请求来运行),但不能直接被读取。任何支持CGI的合理网络服务器都可以做到这一点。
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