我已经在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
答案 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下却有符号链接。