Полномочия каталога для веб-сервера

Используйте здесь документ :

cat <<'EOF'
Data...
EOF

Примечание. Лучше цитировать слово Heredoc ( EOF ), что и выше, чтобы избежать расширения, если данные Содержит что-то вроде $ FOO или обратные косания, если вы не хотите расширить курс. Примеры:

$ cat <

дает что-то вроде:

3 \

в то время как

$ cat <<'EOF'
$SHLVL \\
EOF

дает:

$SHLVL \\

1
13.01.2019, 23:43
1 ответ

На основе вашего вопроса я собираюсь сделать предположение. Процесс веб-сервера находится в той же группе, что и владение группой в каталоге.

Вы удалили бит Execute (X) из разрешений каталога и передали его обратно в группу. Это означает, что в каталоге владелец не имеет разрешения на выполнение, и это необходимо иметь возможность изменять / проходить через каталог. Использование CHMOD -R с абсолютными разрешениями может быть опасным по этой причине. Я бы порекомендовал сделать следующее:

Исправьте ваши разрешения каталога.

sudo find my_directory -type d -exec chmod 2750 {} \;

Так как вы сломали Directory Traveral, вам может потребоваться выполнить это несколько раз. Если вы получаете какие-либо ошибки разрешений, при запуске вышеуказанной команды повторно запустите, пока эти ошибки не понятны.

Исправить ваши разрешения файлов.

sudo find my_directory -type f -exec chmod 0640 {} \;

Когда это сделано, ваши каталоги должны иметь следующие разрешения.

drwxr-s---

И ваши файлы должны иметь следующие разрешения.

-rwxr-x---

Если вы хотите лучше понять разрешения UNIX, я бы порекомендовал прочитать MAN 2 CHMOD . Это, безусловно, сухое чтение, но это объясняет, что означает значение каждого бита.

0
28.01.2020, 01:45

Теги

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