Мне удалось настроить samba на сервере ubuntu, чтобы я мог просматривать свой домашний каталог /home/max
через окна.
Теперь я хотел бы поделиться каталогом /usr/local/apache2/htdocs
- что мне нужно сделать, чтобы обмениваться файлами между окнами и каталогом apache htdocs? Каталог htdocs принадлежит www-data
.
Я новичок в разрешении доступа к unix, поэтому я действительно не знаю, с чего начать. Приветствуются любые (простые) объяснения. Спасибо!
Традиционные разрешения доступа Unix довольно просты.
Для каждого файла или каталога вы определяете его владельца и группу, к которой он принадлежит. Файл или каталог имеет только одну группу, но пользователь может принадлежать ко многим группам.
Разрешения определены для каждого из
Основные разрешения здесь:
Когда вы используете ls -l, эти разрешения перечислены в указанном выше порядке. Например
rw- r-- --- joe www-data ... example.html
(Пробелы добавлены для ясности) Это означает
Когда вы получаете доступ к файлам на сервере с помощью веб-браузера, именно веб-сервер обращается к этим файлам от вашего имени. фоновые серверные процессы (демоны 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.