Lighttpd статический файловый сервер 403 запрещенная ошибка

Я установил lighttpd на Debian Jessie для обслуживания статических файлов, мне смонтировали Карту памяти в/media/storage с/media/storage/www как мой корень документа, и мой lighttpd.conf похож на это:

server.modules = (
    "mod_access",
    "mod_alias",
    "mod_compress",
    "mod_redirect",
#       "mod_rewrite",
)

server.document-root        = "/media/storage/www/"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/lighttpd/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 80


index-file.names            = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny             = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain" )

# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

Я хочу смочь отредактировать веб-сайт со своим обычным пользователем "jurre". Таким образом, я сделал "sudo показанный jurre:www-данные/media/storage/www" и "sudo chmod 740/media/storage/www" (таким образом, я могу читать, запишите и выполните файлы, но веб-сервер может только читать). Конечно, я вышел из системы, и въезжайте задним ходом снова и затем перезапущенный lighttpd после этого. Я добавил простой index.html с "Привет Миром!" для тестирования установки но я продолжаю получать 403 запрещенных ошибки при перемещении к

ls-l в/media/storage/www:

total 8
-rw-r--r-- 1 jurre www-data 58 May 16 16:43 index.html

Я также проверил lighttpd журнал ошибок, но он только показывает, когда веб-сервер был завершением работы и запустился снова, никакие ошибки вообще в журнале.

2
задан 16 May 2015 в 18:12
3 ответа

Вы не можете получить доступ к папке www, потому что www-data пользователь имеет только 4 права (user:group jurre:www-data и права 740), что означает отсутствие права на исполнение в папке www, только на чтение (имя и атрибуты папки на чтение).

Папку необходимо выполнять прямо в папке, потому что выполнение папки означает ее открытие (список файлов или вход в нее). Вы можете сделать это со своим собственным пользователем jurre (справа 7), но www-data не имеет установленного бита выполнения.

Поменяйте свое правое место в этой папке на 750 и повторите попытку.

.
2
ответ дан 3 December 2019 в 11:37

Superpelican,

Далее комментарий выше. Может быть, стоит попробовать "sudo chown -R www-data:www-data * " или "sudo chown -R www-data:www-data /media/storage/www/*" "". В этой папке или подкаталогах из /медиа/хранилища/www . Таким образом, веб-сервер владеет папками и файлами не внутри вас как пользователя.

Что касается chmod... Также попробуйте что-нибудь вроде "sudo chmod -R 755 /media/storage/www/* ". Хуже дело "chmod -R 775". Существуют различные уровни файловой безопасности между веб-сервером, и физической ОС он сам. chown/chmod больше на уровне ОС. Будет влиять на получение файлов и веб-страниц на сервере тоже...

Надеюсь, это немного поможет... Ваше здоровье.

0
ответ дан 3 December 2019 в 11:37

Еще одна частая проблема — активный SELinux на машине.

Даже при наличии правильных прав доступа к дереву каталогов вы все равно получите ошибку 403, если каталог не был зарегистрирован в SELinux.

chcon -R -h -t httpd_sys_content_t /absolute/path

это исправит.

2
ответ дан 27 February 2021 в 19:26

Теги

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