Я новичок в Ubuntu и Linux, и, похоже, совершил ошибку. В настоящее время я вошел в систему как root и столкнулся с проблемой разрешения в моем файле python, где я не мог создать файл при использовании следующего.
open('test.txt', 'w')
Чтобы решить эту проблему, я выполнил следующее.
sudo chmod -R 777 ~/MyDir
Все стало подсвечиваться светло-зеленым цветом, указывая на то, что оно является исполняемым. После дальнейшего чтения я понял, что это на самом деле существенная ошибка.
Я возился с различными командами chmod, но, похоже, стало еще хуже. Просто чтобы убедиться, что я ничего не нарушаю или моя программа не столкнулась с проблемами из-за моей неопытности, как я могу перенастроить мой каталог и файлы, чтобы вернуться к нормальному состоянию от chmod -R 777 ~/MyDir
к нормальным файлам и папкам, где я могу писать с помощью open("text. txt", 'w')
?
Ближе всего к разрешениям "по умолчанию" вы, вероятно, получите разрешения, подразумеваемые сеансом входа в систему или значением umask
вашей оболочки, например. если umask
возвращает 0002
, то восьмеричные разрешения по умолчанию будут 0664
для файлов и 0775
для каталогов; если umask
- 0022
, то они будут соответственно 0644
и 0755
.
Вы можете применить такие разрешения, используя
find ~/MyDir -type d -exec chmod 0755 {} +
find ~/MyDir -type f -exec chmod 0644 {} +
Очевидно, что вам придется вручную исправлять такие случаи, как исполняемые скрипты или программные файлы, для правильного запуска которых необходимо установить бит исполняемости.