Python dist-packages权限

时间:2018-08-30 14:50:43

标签: python file-permissions chmod

我已经在python 2.7的dist-packages文件夹中弄乱了一些权限,并担心它会引起问题。

这源于完全独立的导入问题,这使我更改了此文件夹的权限以进行测试。 我接受了运行的建议:  chmod -R 775 /usr/local/lib/python2.7/dist-packages/

如果此操作无效,我尝试将其更改回原来的状态:

chmod 765 /usr/local/lib/python2.7/dist-packages/
注意缺少递归标志。愚蠢的我。

当我执行ls -l时,我看到该文件夹​​具有drwxrwSr-x的权限。它应该是drwxrwsr-x。所以我给了它chmod +x的执行权限,然后给了setgid-chmod g+s mydir

好,所以我的文件夹权限现在恢复正常。但是,现在在该文件夹中,我看到大多数(不是全部)文件是drwxrwSr-x

该如何解决此问题? 这是凌乱文件夹内容的摘录:

drwxrwSr-x  2 root staff    4096 Jul 19 12:48 wheel-0.30.0.dist-info
drwxrwSr-x 12 root staff    4096 Jul 19 12:48 whoosh
drwxrwSr-x  2 root staff    4096 Jul 19 12:48 Whoosh-2.7.4.dist-info
drwxrwSr-x  2 root staff    4096 Jul 19 12:48 xmltodict-0.11.0.dist-info
-rwxrw-r-x  1 root staff   17356 Jul 19 12:48 xmltodict.py
-rwxrw-r-x  1 root staff   15128 Jul 19 12:48 xmltodict.pyc
drwxrwSr-x  2 root staff    4096 Jul 19 12:48 yaml
-rwxrw-r-x  1 root staff 1115503 Jul 19 12:48 _yaml.so

1 个答案:

答案 0 :(得分:2)

可能有更短的方法,但是我使用find在目录上执行的chmod不同于在文件上执行的操作。在dist-packages下没有可执行文件(至少我从未见过),因此您可以执行以下操作:

find /usr/local/lib/python2.7/dist-packages/ -type d -exec chmod 755 {} +
find /usr/local/lib/python2.7/dist-packages/ -type f -exec chmod 644 {} +

或者,您可以将775用于目录(上)行,并将664用于文件。

dist-packages(可能是基于我的Debian的系统上)下可能会有符号链接,但是它们的permission setting should not matter下却有符号链接。