![]() |
Apache не видит подмонтированную в Linux флешку
Всем привет! Помогите пожалуйста с настройкой Apache под Linux Red Hat.
Вообщем все работает нормально, но на флешке хранятся изображения, к которым пользователи должны получать доступ. В корневой директории Apache я создал папку flashkey и в нее смонтировал флешку mount -t vfat /dev/sda1 flashkey. При попытке доступа к изображениям в этой папке Apache выкидывает ошибку 403 Forbiden You have not permission to access to file ....... on this server. В httpd.conf настроен абсолютный доступ ко всем директориям компьютера (для проверки). Что нужно сделать, чтобы работало???? |
смотреть с какими правами доступа монтируется флешка.
к веб-программированию сей вопрос не имеет никакого отношения, переношу в "Пингвинятник" |
Цитата:
если найдет, тогда действительно разбираться, с какими правами монтируется флешка и какие права получают каталоги и файлы на ней |
1. Какой Апач?
2. С какими правами монтируется флешка. По поводу первого вопроса - начиная с версии 2.1.ххх не помню - по умолчанию права у Апача на <Directory> - запрет доступа (это я о внутренних разрешениях Апача, httpd.conf). |
Цитата:
444 достаточно будет для чтения. Цитата:
Цитата:
|
2 Plague
для директории необходим +x -execuion bit . тоесть минимальные права 500 2 Ghost гуглить directory indexing <Location/var/www/mountpoint> Option Indexes </Location> также смотря как монтируется флешка , в обшем случае можно указать uid,gid веб сервера как опции монтирования man mount /uid |
Цитата:
Цитата:
Цитата:
и за отправку в гугль я скоро пинать как за рекламу буду, честное слово. |
А что в логах?
Кстати SELinux включен, может он, если права проверили? |
Цитата:
|
Цитата:
|
Цитата:
|
Здравствуйте всем!
Помогите советом, пожалуйста. Apache видит файлы на флешке если из под root`а выполнить mount -t vfat -o rw,uid=www /dev/sda1 /var/www/html/flashkey (где www - имя пользователя и группы). Но нужно, чтобы пользователь используя web-интерфейс мог смонтировать/отмонтировать флешку. Т.е. на html странице выбираем "смонтировать flash" - вызывается скрипт с командой mount -t vfat -o rw,uid=www /dev/sda1 /var/www/html/flashkey, при этом команда mount не выполняется, а в файл error_log apache пишется сообщение об ошибке: [error] [client 92.50.218.245] mount: only root can do that, referer: http://92.50.218.243/menu.html или [error] [client 92.50.218.245] mount: must be superuser to use mount, referer: http://92.50.218.243/menu.html Пробовал следующее: chgrp www mount, chown www:www mount - не помогает, а вот с командой reboot все получается, выполняется она ... Как выполнить mount? Не знаю, что и попробовать ...(почему reboot получается запустить, а mount - нет, не понимаю...:idontnow:):help: |
Цитата:
по сути: ставим sudo (если нет в системе еще) в файле sudoers пишем Код:
имя_юзера_кем_надо_монтировать ALL=NOPASSWD:/полный/путь/до/комманды/mount -t vfat -o rw,uid=www /dev/sda1 /var/www/html/flashkey |
Цитата:
Код:
/dev/sda1 /var/www/html/flashkey vfat defaults,users,utf8,noauto,uid=www 0 0 Код:
mount /var/www/html/flashkey |
Hubbitus, по-моему все равно рута захочет.
по крайней мере в FreeBSD точно хотело у меня (давно я эту траблу решал, года два назад уже наверно). вариант с sudo решил проблему только добавлено: а, там еще uid=www.. ну возможно и прокатит, не спорю. |
А при чем здесь рут, если явно написано users и им разрешено монтировать-размонтировать?
Судо это уж как последний рубеж... |
Подскажите, пожалуйста, как узнать в своей программе смонтировано или нет устройство /dev/sda1 в системе? Есть для этого какая нибудь функция, если есть, где посмотреть пример? И еще вопрос. Моя программа должна запускаться из под root и нужно послать ей сигнал из WEB-интерфейса (имя пользователя и группы www). В программе использую функцию sigtimedwait(), из WEB-интерфейса посылаю команду, например kill -s 10 1010 (где 10-номер сигнала,1010-PID). Так не прокатывает из-за разных прав. Подскажите как можно просигнализировать/сообщить о каком либо событии программе из WEB-интерфейса (в случае если права разные)? Заранее благодарен за помощь.
|
одскажите, пожалуйста, как узнать в своей программе смонтировано или нет устройство /dev/sda1
/proc/mounts >Подскажите как можно просигнализировать/сообщить о >каком либо событии программе из WEB-интерфейса (в >случае если права разные)? Заранее благодарен за помощь. писать в файл , socket , и т.д. можно иметь cron между веб и програмой. типа web пишет в файл , который раз в минуту проверяется из крона ,и если надо запускается программа кстати зачем программа должна иметь root privileges ? |
Спасибо за советы.
Цитата:
Хочу попробовать решить вопрос, используя функции обмена сообщениями msgsnd(), msgrcv() ... |
imho правильнее назначить устройствам соответствуюшие группы
|
Цитата:
Цитата:
Цитата:
Если же не получается, то ответом на данный вопрос будет именно sudo. |
Часовой пояс GMT +4, время: 18:56. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.