/srv/http/ file permissions

Доброе время суток!

Решил освоить php.

Поставил LAMP, все работает ок. Только я не понял как быть с правами на /srv/http/ и файлами там. Подскажите, пожалуйста, как правильнее запилить, да и так чтобы арч вей ?))

сейчас:
drwxr-xr-x 2 root root 4096 авг 21 14:31 .
drwxr-xr-x 4 root root 4096 июн  1 02:40 ..
-rw-r--r-- 1 root root  105 авг 21 14:30 index.html

То есть интересует: 1. как это на машине разработчика 2. как на продакш ?
0. под рутом не работайте. Это вредно для здоровья системы.
1. сервер работает под пользователем http. Соответственно должно быть доступно чтение файлов от этого пользователя. (на машине разработчика этого достаточно)

2. На продакшен все сложнее.
ftp сервер запускать с опцией chroot. (пользователь не должен иметь права на выход из домашней папки.)
если запускается ssh, то выделить отдельную папку usr1 с минимальным(!!!) числом необходимых утилит. Клиентам подсунуть path на эту самую папку. usr не должен быть доступен.

Если не используется вождь племени индейцев с модулями типа suphp (обеспечивает запуск пхп от прав конкретного пользователя) то см первое утверждение. На практике оно означает следующее: пользователям подключающимся по ftp за основную группу ставят http; на группу в обязательном порядке ставить права не выше пятерки(rx). Виртуальные хосты настраивают так, чтобы они ссылались допустим на www в домашней папке пользователя. Домашнюю папку пользователя лучше обзывать безликим md5(username).

о suphp и прочих игрушках меняющих права пользователя читайте отдельно.
Да пребудет с вами знание ip адреса
domov0y, спасибо за ответ.

Для тех кому интересно нагуглилося еще:
Канонический ответ на этот вопрос: FAQ serverfault.com
Оф документация по этому вопросу: apache.org

Ну и парочку годный статеек на вики в тему разрешений для ФС:
Traditional_Unix_permissions, en.wikipedia.org
Modes_(Unix), en.wikipedia.org
Я делаю проще... У меня все сайты в домашней папке и синхронятся в облако. =) Шарить наружу - не надо. Бессмысленно. Ровно как и высшая степень идиотизма - делать сервер на Arch. Он слишком "быстр" в развитии, чтобы ничего не отвалилось на боевом сервере. Только локально.
Keep it simple, stupid!
Jisatsu, никто не говорит про высоконагруженный сервер на базе арч. Хотя технически ничего страшного в том чтобы его выпустить в сеть.
По сути самые страшные обновления это глибц, systemd и filesystem.
Веб сервер и пхп не так критичны (довести их до состояния "не запускается" с помощью обновления мягко говоря сложно ).
СУБД требует небольшой осторожности.
А больше на сервере практически ничего и нету. coreutils, binutils, wget, iptables, links, openssh, systemd.
Главное не обновляться на ходу.
Да пребудет с вами знание ip адреса
domov0y
Веб сервер и пхп не так критичны (довести их до состояния "не запускается" с помощью обновления мягко говоря сложно ).
Вам часто приходиться обновлять боевой сервер? Почему так уверены, что сломать нельзя? А миграция с MySQL на MariaDB? Хотя тут лукавлю, это не особо то и проблема. =) А то, что куча нужных модулей ещё не вышла для новой версии PHP? А если в самом пыхе что-то сломали/добавили дырку? Извиняйте, но кроме Debian или CentOS я для сервера вообще ничего не признаю. =) Кстати CentOS довольно нередко обновляется, но там только очень уж стабильные версии. Там до сих пор 5.4.18, у меня же Арч уже апнулся на 5.5! Приложение которое было начато на PHP 5.2, рефактореное (местами, где попало под руку), по просту при обновлении на PHP 5.5 может перестать работать из-за deprecate вступивших в силу и т.д.
Keep it simple, stupid!
Jisatsu, как говорил один литературный персонаж "Говорила мне мама не правь модули на ходу".
1. Вот ни за что не поверю что кто то в здравом уме и трезвой памяти будет раз в день обновлять критически важную машину (и даже раз в неделю никто не будет обновлять)
2. Ни за что не поверю что вот так просто без бекапов и предварительной обкатки обновления кто то будет ставить на сервер нвые версии сервисов. Если только "сервер" не выступает в роли полутора сайтов и одного облачного хранилища.
Да пребудет с вами знание ip адреса
Jisatsu, как говорил один литературный персонаж "Говорила мне мама не правь модули на ходу".
Ну так и он о том же. С одной стороны, серьёзный сервер постоянно обновлять нельзя. С другой - его обязательно надо обновлять, потому что это Арч, у которого риск сдохнуть при обновлении повышается с каждым пропущенным днём.
Любое минорное обновление - это багфикс или закрытие дырок. Поэтому важно обновляться с каждым обновлением. И тут Debian/CentOS выступают лучше всех. А Arch слишком широко шагает. Слишком быстро. Как итог - имеем нестабильный сервер с кучей багов, а то и дырок из-за того, что боимся чего-то сломать из-за слишком новой версии.
Мы постоянно обновляем серьёзный сервер, ибо руки не из жопы, и если возникают минормные проблемы, то всё быстро решается. А вот если бы проблемы были бы мажорными, по куче разных программ, то никакие руки его так быстро не поднимут на ноги. :)
Keep it simple, stupid!
 
Зарегистрироваться или войдите чтобы оставить сообщение.