chmod我的Python站点包目录到777是一个好主意吗?

我在Linux和OS X上使用Python,我试图想到一个很好的理由不要 chmod我的Python站点包目录到777.看来,这样做比每次我要做丝毫修改。 还是我疯了? 请注意,这主要是针对我的开发机器,而不是任何种类的生产服务器。

免责声明 :是的,我知道警告。 对包pipe理器提供的pip installeasy_install东西是不好的。 在大多数情况下,最好使用virtualenv而不是修改全局Python安装。

如果那是你的机器,那么你可以做任何适合你的东西。 我这样放弃权限的主要原因是这意味着我不太可能意外摧毁一些东西。

这是真正的责任,你想要采取什么样的水平,如果这是你自己的盒子,你很高兴你不会运行恶意软件,不会偶然发生任何垃圾,没有正当理由不要。

我唯一需要考虑的是,如果我正在开发一个软件包,并且想在现实生活条件下testing它并部署它,那么我将无法做到这一点,因为一切都是可写的。

我知道一些不同意的安全专家,但是最终安全性应该与可用性保持平衡。 在一次谈话中,我当时是一名安全人员,他坚持认为操作系统应该改变为不允许用户做某些事情。 幸运的是,在这一点上,有人用“对不起戴夫,我不能让你这么做”

这不是一个好主意。 777意味着任何用户都可以编写模块,例如,包含受Web应用程序脚本攻击的Web服务器用户。 如果该用户可以将py或pyc写入站点包,然后由另一个用户(例如根用户)导入,那么您的低特权折中会升级为严重的机器级别折中。 如果你确定你的机器是可以接受的,那么这个机器是可以接受的,但是如果是这样的话,那么你可能只是以root身份运行一切!

更好的是:如果你想要的模块只有你的用户有权访问,并且可以更新而不必sudo ,添加一个用户特定的模块path。 你可以用PYTHONPATH或者修改sys.path来做到这一点,但是从Python 2.6开始,这是不必要的,因为你可以使用~/.local/lib/python2.6/site-packages 。 有关详细信息,请参阅PEP 370 。