Как я могу ограничить одного пользователя SFTP единственным vhost при предоставлении другого пользовательского доступа нескольким?

У меня есть несколько Apache virtualhosts в стандартном месте:

  • /var/www/vhosts/example1.com/htdocs
  • /var/www/vhosts/example2.com/htdocs
  • /var/www/vhosts/example3.com/htdocs

Эти каталоги принадлежат пользователю www-data и группа www-data, с набором полномочий к 770 (drwxrwx---).

Я SFTP в эти каталоги как travis, кто член www-data группа.

Вот мой вызов: Я хотел бы создать второго пользователя SFTP, названного chris, у кого только есть разрешение получить доступ к одному из этих каталогов (example3.com).

Таким образом, я попробовал это:

  • созданный новую группу называют example3-www-data
  • дал новое владение группы webroot: sudo chgrp -R example3-www-data /var/www/example3.com/htdocs
  • добавленный пользователь www-data кому: example3-www-data как вторичная группа (таким образом, Apache имел бы разрешение читать из example3.com webroot),
  • созданный нового пользователя называют chris, с example3-www-data как его основная группа

Так: chris'у основной группы есть владение htdocs каталог, таким образом, он должен смочь получить доступ к нему. И www-data пользователь также принадлежит той группе - таким образом, Apache должен также смочь получить доступ к каталогу. Все должно работать, правильно?

Нет! Когда я вхожу в систему как chris (говорят ли через SFTP или через оболочку), мне, что у меня нет разрешения получить доступ /var/www/vhosts/example3.com/htdocs.

Почему это? Это потому что chris не имеет доступа к родительским каталогам (например, /var/www/vhosts)? (Я не хочу предоставлять ему доступ к родительским каталогам, если я могу избежать, чтобы он - помнил, самое главное должно ограничить его доступ к этому определенному каталогу. Я также предпочел бы не делать эту папку его корневым каталогом, потому что в конечном счете будет несколько таких пользователей, которым нужен тот же доступ.)

В основном: как может я располагать своих пользователей / группы / полномочия файла, таким образом что:

  • пользователь travis может загрузить файлы на все три webroots, и
  • пользователь chris может только загрузить файлы на /var/www/vhosts/example3.com/htdocs, и
  • Apache может считать/писать/выполнить файлы, загруженные любым пользователем без потребности вручную скорректировать полномочия файла после загрузки?

Извините за n00b вопрос; я действительно не понимаю, как полномочия файла Linux предназначены, чтобы быть примененными в таких ситуациях. (Любые общие принципы/подсказки/ссылки в той области значительно ценились бы.)

Я сомневаюсь, что это имеет значение, но я запускаю Ubuntu 14.04 LTS.

2
задан 14 July 2015 в 18:08

0 ответов

Другие вопросы по тегам:

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