В Unix-подобных ОС, какой смысл давать владельцу файла что-то меньшее, чем 7 (rwx) для прав доступа к файлу? Владелец может тривиально изменить права доступа владельца для своих файлов, и то же самое может сделать взломщик, если учетная запись скомпрометирована. Установка прав доступа владельца на что-либо, кроме 7, похоже, только мешает, не создавая никаких реальных улучшений безопасности.
решение1
Это делается для того, чтобы защитить пользователя от совершения ошибки.
Если файл важен и не должен быть изменен, вы даете только чтение. Тогда, если пользователю нужно его изменить, ему придется сделать осознанный выбор и пойти и сделать chmod 777 для файла, а затем выполнить действие.
Также помогает запрет на исполнение. Если вы пишете скрипт и у вас есть несколько старых версий в подкаталоге. Отключение возможности исполнения не позволит вам запустить неправильный скрипт.
Но владелец всегда может вернуться и изменить права доступа к файлу, когда это необходимо.
решение2
Не все должно быть исполняемым по умолчанию... например, скрипты, которые вы редактируете, должны вызываться с помощью [interpreter] [script.file]
, на тот случай, если в них возникнет ошибка, вы не сможете случайно ее вызвать.
Также некоторые файлы не должны удаляться или изменяться. Так что если вы установите 0400, пользователю придется переопределить разрешения. Конечно, большинство пользователей просто игнорируют вопросы типа "Вы уверены?", но это уже другая проблема.
Я обычно использую chmod go=,u=rwX
, который устанавливает 0600 для всех файлов и 0700 для всех каталогов (и файлов, которые имели 'x' до этого). Затем внесите необходимые изменения (например, каталог public_html или что-то еще).
решение3
[важно] файл/каталог, который вы не хотите случайно изменить rm -rf.
[важно] = конфигурация / резервная копия / закрытый ключ шифрования и т. д. и т. п.