Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Права доступа для apache


Автор: Proghat 3.2.2009, 21:15
Есть несколько пользователей, у которых есть домашние каталоги.
У каждого пользователя, в домашнем каталоге есть несколько каталогов с сайтами и логами этих сайтов от apache.

Задача сделать так, чтобы apache имел доступ к каталогам с сайтами, а все остальные пользователи не могли просмаривать каталоги друг друга.

Решение, которое вижу я:
1. Права на домашние каталоги и подкаталоги поставить 770.
2. Пользователя и групппу домашним каталогам и подкаталогам поставить {$user}:www-data.

Мне кажется мое решение неправильным по причинам:
1. Может понадобится дать доступ на чтение пользовательских каталогов другим демонам.
2. Интуиция.

Как бы сделали это вы?

Автор: bilbobagginz 3.2.2009, 22:23
Цитата(Proghat @  3.2.2009,  21:15 Найти цитируемый пост)
Решение, которое вижу я:
1. Права на домашние каталоги и подкаталоги поставить 770.
2. Пользователя и групппу домашним каталогам и подкаталогам поставить {$user}:www-data.

можно этот вопрос ширее решить с помощью setfacl на несколько групп.
т.е. не "поставить", а настроить acl, и добавить группу www-data как дополнительную группу чтения.
только тогда для доступа надо будет это действительно делать на каталог ${HOME} каждого юзера, и подкаталог (скорее всего из-за UserDir - public_html) и его подфайлы.


но может всё таки расскажете что за сайты это у этих пользователей, и почему им низзя висеть в одной CMS, и с частным контентом для каждого пользователя ?

Автор: Proghat 4.2.2009, 18:11
Цитата

может всё таки расскажете что за сайты это у этих пользователей, и почему им низзя висеть в одной CMS, и с частным контентом для каждого пользователя ?

Это скорее академический интерес. Мне интересно как это можно сделать и как это делают, например, хостинг-компании. Заодно и у себя, на VPS, для трех сайтов и двух пользователей решил сделать предоставление хостинга аккуратно, чисто и идеологически правильно.

Настроил. В Debian нужно установить пакет acl. Для того, чтобы можно было испольовать дополнительные списки доступа, нужно в опции монтирования добавить "acl". Для удаленного сервера, чтобы не перезагружать, можно сделать sudo mount -o acl,remount / .

Автор: bilbobagginz 6.2.2009, 10:16
если планируешь пользоваться каким-то "промышленным" NAS-ом, через NFS, то проверь, что оно поддерживает POSIX ACLs.
иногда с этим есть проблемы - которые иногда можно решить перепрошивкой системы NAS.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)