Назад | Перейти на главную страницу

Разрешить доступ к htdocs dir через самбу

Мне удалось настроить samba на сервере ubuntu, чтобы я мог просматривать свой домашний каталог /home/max через окна.

Теперь я хотел бы поделиться каталогом /usr/local/apache2/htdocs - что мне нужно сделать, чтобы обмениваться файлами между окнами и каталогом apache htdocs? Каталог htdocs принадлежит www-data.

Я новичок в разрешении доступа к unix, поэтому я действительно не знаю, с чего начать. Приветствуются любые (простые) объяснения. Спасибо!

Традиционные разрешения доступа Unix довольно просты.

Для каждого файла или каталога вы определяете его владельца и группу, к которой он принадлежит. Файл или каталог имеет только одну группу, но пользователь может принадлежать ко многим группам.

Разрешения определены для каждого из

  • владелец
  • группа
  • Мир

Основные разрешения здесь:

  • читать
  • написать (включая обновление)
  • выполнить (если файл) или "получить доступ" (если каталог)

Когда вы используете ls -l, эти разрешения перечислены в указанном выше порядке. Например

rw- r-- --- joe www-data ... example.html

(Пробелы добавлены для ясности) Это означает

  • владелец Джо имеет разрешения rw- и может читать или записывать файл.
  • члены группы www-data имеют права доступа r-- и могут только читать файл
  • пользователи, не входящие в группу www-data, имеют --- разрешения и не могут читать файл

Когда вы получаете доступ к файлам на сервере с помощью веб-браузера, именно веб-сервер обращается к этим файлам от вашего имени. фоновые серверные процессы (демоны AKA) имеют связанные с ними имя пользователя и членство в группе. Обычно веб-пользователи не проходят проверку подлинности, поэтому веб-сервер, apache, использует своего владельца и группу от вашего имени. Если процесс веб-сервера использует www-data в качестве группы, он сможет прочитать приведенный выше example.html и передать его веб-браузерам.

Вы можете увидеть, какой эффективный пользователь и группа используют веб-серверы, вот так:

$ ps -eo user,group,cmd | grep apache
root     root     /usr/sbin/apache2 -k start
www-data www-data /usr/sbin/apache2 -k start
www-data www-data /usr/sbin/apache2 -k start
www-data www-data /usr/sbin/apache2 -k start

Основной процесс имеет всесильные права root, но процессы, которые удовлетворяют запросы веб-браузера (в данном случае три), имеют пользовательские www-данные и групповые www-данные. Таким образом, эти процессы могут читать файл example.html, используя разрешения группы.

Те же общие принципы применимы и к Samba. Процессы сервера Samba (например, smbd) могут работать с несколькими конфигурациями безопасности, поэтому точный ответ зависит от вашего файла конфигурации Samba.

Если в вашей конфигурации samba для общего ресурса «htdocs» указано «guest account = pcguest», а пользователь pcguest является членом группы www-data, тогда он должен иметь возможность читать example.html.