E_user 19.02.2012 04:10
Есть проблема! — Настройка прав на медиасервере, и прочие издержки
Доброе время суток,у меня есть домашний медиа сервер, при настройки которого я столкнулся я с проблемой совместимости прав доступа в одну и туже папку разными программами и пользователями.
Ниже привожу таблицу желаемой настройки. Если предпочитаемые мной ностройки кому-то покажутся не подходящими для такой задачи, прошу написать об этом.
Речь идет о директории /home/public и её поддиректориях:
- /home/public/dl
- /home/public/music
- /home/public/video
- /home/public/pictures
- /home/public/*
FTP – тут все просто, у всех есть дома доступ в публичную папку /home/public, где хранятся общие данные.
XBMC &Chromium; – на сервере стоит XBMC для просмотра фото/видео. Через него я так-же запускаяется Chromium, который в свою очередь записывает файлы в /home/public/dl. Если не пропишу ему права, он туда не качает.
Samba – открыта «публичная» шара, диретория которой опять /home/public.
Transmission – у этой программы вроде никаких проблем с правами нет, т.к. она запускается как root. Честно говоря, мне не особо нравится что программа, которая по природе своей работает с инетом имеет такие права. Нормально ли это? Или сэтим что-то можно сделать? Создать ей отдельного пользоватя? Как решить проблему? Если это проблема...
MiniDLNA – опять, главная директория /home/public/*. Вообще я впервые буду устанавливать программу такого характера. С радостью откажусь от этой программы, если мне ктонибудь порекомендует софт для UPnP и DLNA под Archlinux.
Больше всего конфликтуют FTP, DLNA и Chromium.
Я менял права с помощью chown -R ... но открывая права одной программе, закрываю другой. Думаю я бы настроил как нибудь "костыльно", но лучше найти более правильное решение.
Прошу помочь настроить/разобраться. Как бы Вы сделали такое?
Спасибо
_______________________
Ладно, пойду читать маны. =) Как настрою, отпишусь.
Да. А ещё есть расширенные права доступа, но это уже тема для отдельной немаленькой статьи. Можно гуглить по ключевой фразе Access Control List. Правда, дома городить это я бы не стал. Я лично их использую только на одном из боевых серверов и то, лишь частично.
Зря так на ACL. Ничего там городить не надо. Вот простой пример.
1) Даем пользователю xbmc права на папку /home/public/dl:
Вторая строчка нужна для того, чтобы по умолчанию выставлялись права для юзера xbmc для новых файлов.
По поводу miniDLNA: отлично работает, настраивается за полминуты, видео на двух самсунгах показывает без проблем.
По поводу transmission: попробуйте rtorrent+rutorrent. Он погеморнее с настройкой, но фичастее и запускается от обычного юзера.
1) Даем пользователю xbmc права на папку /home/public/dl:
1 |
|
Вторая строчка нужна для того, чтобы по умолчанию выставлялись права для юзера xbmc для новых файлов.
По поводу miniDLNA: отлично работает, настраивается за полминуты, видео на двух самсунгах показывает без проблем.
По поводу transmission: попробуйте rtorrent+rutorrent. Он погеморнее с настройкой, но фичастее и запускается от обычного юзера.
Ознакомился с ACL. Хорошо, конечно, что оно есть. Но в книге из которой я черпал постоянно добавлялась доля скептицизма на этот счет. Запугивали, дескать могут возникнуть проблемы с dump или fsch. Не приятно как то. А так, он в арче устанавливается сам. Только прописать в fstab ключ acl и можно применять.
По мне так решение с отдельной группой и добавлением пользователей в нее как раз и называется "огород городить". ACL для этого и придумали.
Это штатный способ разделения прав со времён UNIX. ACL для более хитрых задач.
А шелл у Вашего пользователя www-data валидный или false? В смысле я вот думаю, нужен ли валидный шелл такому пользователю?
Я использую подобную схему на тестовом web-сервере. Там у меня есть директория /var/www/
В ней находятся тестовые сайты. Она принадлежит пользователю www-data и группе www-data. Апач и нгинкс работают от этого пользователя. Туда же есть доступ по ftp. Каждый, кто идёт на сервер по ftp, пишет файлы от своего пользователя, но все они состоят в группе www-data. Ну и мой собственный системный логин на сервере тоже имеет туда такой же доступ. Для продакшена это, конечно, не безопасно, но для теста или дома - вполне.
Что касается прав на запуск - можно опять же подправить umask для тех, кому это право необходимо, но мне не совсем ясно, зачем кому-то на файлопомойке нужно что-то запускать.
И наконец, transmission. Читайте маны по нему или просто запускайте его от отдельного пользователя. Ни один сервис не должен работать от имени рута, если он смотрит в сеть.