Разрешения дистрибутивов Python

1

Я испортил некоторые разрешения в моей папке dist-packages для Python 2.7 и беспокоюсь, что это вызовет проблемы.

Это связано с совершенно отдельной проблемой с импортом, что заставило меня изменить разрешения этой папки, чтобы проверить ситуацию. Я взял совет: 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
Теги:
file-permissions
chmod

1 ответ

1
Лучший ответ

Там могут быть более короткие пути, но я использую find для создания другого chmod в каталогах, чем в файлах. В dist-пакетах нет исполняемых файлов (по крайней мере, я их никогда не видел), чтобы вы могли:

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), но их настройка разрешения не должна иметь значения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню