Что такое обычный chmod?
На моем веб-сервере мои разрешения на файлы повсюду, и я хочу "reset" вернуться к тому, как это было первоначально. Я не хочу, чтобы пользователи могли входить и удалять файлы с моего веб-сервера! Я просто хочу, чтобы они могли просматривать страницы php и т.д.
Какой chmod следует использовать?
Ответы
Ответ 1
Они должны быть как можно более ограничительными, но не более.
Обычно 0644
- хороший выбор, который дает владельцу права на чтение и запись, но все остальные только читают. 0755
для каталогов. Но это может зависеть от ваших конкретных настроек системы.
Ответ 2
Вот краткое изложение, которое я собрал
- chmod все файлы в 644
-
chmod all.htaccess файлы в 644
-
chmod все файлы robots.txt в 644
-
chmod все каталоги до 711
-
chmod все каталоги с списком каталогов (параметры .htaccess +Indexes) в 755
-
chmod все каталоги, в которые пользователи могут загружать файлы, в 755 (например: /uploads/).
Пояснения:
- 644 означает:
- 6: владелец файла/каталога может прочитать и записать, но не выполнить. Поскольку файлы не являются исполняемыми, вам не нужно иметь права "x" (6 означает "r + w. 7" означает "r + w + x").
- 44: группа, к которой принадлежит файл/каталог (см. группу с помощью
ls -l
) и все остальные (общедоступные) могут читать файл, но не выполнить или записать в него (разрешение № 4).
- 711 означает:
- 7: владелец файла/каталога может прочитать, записать и выполнить. Это нужно для каталогов! Без "execute", когда вы пытаетесь перечислить каталог, вы получите разрешение, запрещенное.
- 11: группа, к которой принадлежит файл/каталог, и общедоступная имеют права только на выполнение. Это подходит для каталогов, где вы не хотите, чтобы другие люди просматривали содержимое, но хотели бы предоставить им доступ к выбранным файлам ниже по каталогу.
- 755 означает:
- 7: владелец файла/каталога может прочитать, записать и выполнить.
- 55: группе, к которой принадлежит файл/каталог, и общедоступной права на чтение и выполнения, но не на запись. Это позволяет пользователям видеть, какие файлы находятся в каталоге, и читать эти файлы, но не изменять их.
Там также интерактивный онлайн-калькулятор, который вы можете использовать, чтобы выяснить, какие разрешения использовать: https://chmod-calculator.com/
Ответ 3
Если вы хотите reset все, выполните эту команду и выясните последствия. Обычно 644 - хорошее разрешение для файлов, а 711 - для каталогов. Если вы разрешаете списки каталогов, используйте 755.
$ find /var/www/html \( -type f -execdir chmod 644 {} \; \) \
-o \( -type d -execdir chmod 711 {} \; \)
Если вы хотите что-то менее инвазивное, просто удалите записи для группы и "другие".
$ chmod -R go-w /var/www/html
Ответ 4
Я думаю, что 644
является стандартным для файлов и 755
для каталогов.
Ответ 5
Если ваш веб-сервер обслуживает только веб-страницы, не разрешая доступ через (а) анонимный FTP, то неправильные права доступа к файлам не позволяют пользователям удалять файлы.
Если другие люди имеют доступ к вашему серверу с помощью других средств (например, SSH), убедитесь, что бит записи не установлен для других пользователей, кроме вас. Выполнение:
find . -exec chmod go-w {} \;
Эта команда ограничит права доступа всех файлов и каталогов, в которых она выполнена.
Ответ 6
Какой бы подход вы ни использовали, обязательно выполните тщательное тестирование, если есть вероятность, что ваше веб-приложение будет использовать файлы или каталоги, имеющие определенные разрешения. Хотя разрешение слишком разрешительных разрешений, вероятно, является плохим дизайном, иногда это происходит, поэтому вы можете разорвать приложение.