Что такое разрешения или конфигурация по умолчанию? Верните chmod 777

Я новичок в Ubuntu и Linux, и, похоже, совершил ошибку. В настоящее время я вошел в систему как root и столкнулся с проблемой разрешения в моем файле python, где я не мог создать файл при использовании следующего.

open('test.txt', 'w')

Чтобы решить эту проблему, я выполнил следующее.

sudo chmod -R 777 ~/MyDir

Все стало подсвечиваться светло-зеленым цветом, указывая на то, что оно является исполняемым. После дальнейшего чтения я понял, что это на самом деле существенная ошибка.

Я возился с различными командами chmod, но, похоже, стало еще хуже. Просто чтобы убедиться, что я ничего не нарушаю или моя программа не столкнулась с проблемами из-за моей неопытности, как я могу перенастроить мой каталог и файлы, чтобы вернуться к нормальному состоянию от chmod -R 777 ~/MyDir к нормальным файлам и папкам, где я могу писать с помощью open("text. txt", 'w')?

1
задан 27 July 2021 в 02:03

1 ответ

Ближе всего к разрешениям "по умолчанию" вы, вероятно, получите разрешения, подразумеваемые сеансом входа в систему или значением umask вашей оболочки, например. если umask возвращает 0002, то восьмеричные разрешения по умолчанию будут 0664 для файлов и 0775 для каталогов; если umask - 0022, то они будут соответственно 0644 и 0755.

Вы можете применить такие разрешения, используя

find ~/MyDir -type d -exec chmod 0755 {} +

find ~/MyDir -type f -exec chmod 0644 {} +

Очевидно, что вам придется вручную исправлять такие случаи, как исполняемые скрипты или программные файлы, для правильного запуска которых необходимо установить бит исполняемости.

3
ответ дан 28 July 2021 в 11:14

Другие вопросы по тегам:

Похожие вопросы: