Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Apache2 и sshfs  (Прочитано 1688 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн c2h5oh98

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Apache2 и sshfs
« : 01 Марта 2013, 22:03:12 »
Есть удаленный сервер с ubuntu 12.04 доступ к нему имею только по ssh. Он формирует текстовые файлы, изменяя их с некоторой периодичностью. Нужный каталог монтирую с помощью sshfs. Стоит задача показать эти файлы пользователям локальной сети через браузер. Админ права есть на сервере и на компьютере с Apache2, имена пользователей одинаковые, пароли соответственно разные. Сам сайт на машине с Apache2 лежит к примеру /home/user1/www/site1, на виртуальном хосте. Права на чтение есть для всех, user1 имеет права на запись. Монтирую, под пользователем user1, на удаленном сервере хозяин файлов тоже user1. Но Apache никак не может получить доступ к этим файлам из примонтированого каталога. Монтирование в /home/user1/www/site1, или создание симлинка - не проходят. Помогает копирование от пользователя user1 примонтированого каталога в /home/user1/www/site1. Возможно ли обойтись без копирования? Файлы то динамически меняются...

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #1 : 01 Марта 2013, 22:08:19 »
Wars ~.o

Оффлайн c2h5oh98

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #2 : 01 Марта 2013, 22:44:42 »
Не пройдет, владелец файлов на удаленном сервере user1, Так же user1 монтирует удаленный каталог через sshfs. Сайт лежит в домашнем каталоге user1 (сервер с Apache2), и он владелец всех файлов сайта. Сайт работает, но Apache2 не получает доступ к примонтированым файлам, если их примонтировать в подкаталог сайта, или создать симлинк в каталоге сайта, со всеми правами на примонтированый каталог или файл (666). Менять владельца в примонтированом каталоге нельзя, так как это повлияет на работу удаленного сервера.

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #3 : 02 Марта 2013, 00:01:49 »
Не совсем понял, Apache не хватает прав чтобы открыть эти файлы? Если так, почему бы не монтировать с владельцем удобным для Apache?
-o uid=33,gid=33

Оффлайн c2h5oh98

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #4 : 02 Марта 2013, 09:59:41 »
Да, Apache2 не хватает прав. Так как монтирую через sshfs user1@8.8.8.8 /Каталог_удаленного_сервера /Каталог_сервера_с_Apache2. При этом user1 сервера с Apache2 монтирует без прав рута, и имеет права на примонтированый каталог такие как и user1 удаленного сервера. Дальше веселее, root сервера с Apache2 не может зайти в эти примонтированые каталоги, так как у него нет на них прав. Пока два вопроса, можно ли дать Apache2 права пользователя user1, или чем еще можно монтировать каталоги по ssh, и как? Если нет то придется заморачиватся с тунелированием, и вешать дополнительные демоны на удаленный сервер, что не очень хотелось бы.

Пользователь решил продолжить мысль 02 Марта 2013, 10:09:32:
-o uid=33,gid=33
Возможно и поможет вот что в мане по sshfs
-o idmap=TYPE
user/group ID mapping, possible types are:
none
no translation of the ID space (default)
user
only translate UID of connecting user
« Последнее редактирование: 02 Марта 2013, 10:09:32 от c2h5oh98 »

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #5 : 02 Марта 2013, 10:40:30 »
"root не имеет прав" - это оксюморон, во всяком случае на стандартных системах.
Но при чем здесь root, если файлы должен открывать Apache? Он ведь работает от пользователя www-data(33).
Пробуйте:
sshfs user1@8.8.8.8 /Каталог_удаленного_сервера /Каталог_сервера_с_Apache2 -o uid=33,gid=33

Оффлайн c2h5oh98

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #6 : 02 Марта 2013, 13:42:01 »
http://linux.die.net/man/1/sshfs описание sshfs
Прочитайте описание системы, при использование sshfs без дополнительных опций, права даже на просмотр, получает только тот пользователь, который подключил удаленный ресурс. Попробую как Вы предложили, о результате отпешусь

Пользователь решил продолжить мысль 02 Марта 2013, 13:56:17:
Вот команда монтирования (пример)
sudo sshfs -p 8888 user1@8.8.8.8:/home/user1/dir /var/www/rada -o uid=33 -o gid=33

вот права на примонтированую директорию
root@2:/var/www# ls -l
итого 8
-rw-r--r-- 1 root     root      177 Мар  2 11:45 index.html
drwxrwxr-x 1 www-data www-data 4096 Мар  1 10:18 rada

Вот браузер
http://127.0.0.1/rada/

Forbidden
You don't have permission to access /rada/ on this server.
Apache/2.2.22 (Ubuntu) Server at 127.0.0.1 Port 80
« Последнее редактирование: 02 Марта 2013, 13:56:17 от c2h5oh98 »

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #7 : 02 Марта 2013, 14:06:19 »
ls -l /var/www/radasudo cat /var/log/apache2/error.log?
Wars ~.o

Оффлайн c2h5oh98

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #8 : 02 Марта 2013, 14:12:50 »
[Sat Mar 02 11:50:23 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /rada/ denied
[Sat Mar 02 11:50:23 2013] [error] [client 127.0.0.1] File does not exist: /var/www/favicon.ico

Пользователь решил продолжить мысль 02 Марта 2013, 14:13:27:
-rw-rw-r-- 1 www-data www-data  303 Мар  1 15:42 data
drwxrwxr-x 1 www-data www-data 4096 Мар  1 15:45 flog
drwxrwxr-x 1 www-data www-data 4096 Мар  1 15:45 laston
drwxrwxr-x 1 www-data www-data 4096 Мар  1 15:45 now
drwxrwxr-x 1 www-data www-data 4096 Мар  1 15:45 slog
-rwxrwxr-x 1 www-data www-data 1133 Мар  1 10:18 status
-rwxrwxr-x 1 www-data www-data  372 Мар  1 08:06 tcon
-rwxrwxr-x 1 www-data www-data  129 Мар  1 15:43 zapros

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #9 : 02 Марта 2013, 15:14:33 »
я тоже проверял как ты, но есть работает.
начало
1
sudo su
su www-data
sshfs -p 8888 user1@8.8.8.8:/home/user1/dir /var/www/rada
exit
получилось.
« Последнее редактирование: 02 Марта 2013, 15:16:04 от victor00000 »
Wars ~.o

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #10 : 02 Марта 2013, 15:19:20 »
Может быть что-то блокирует доступ для просмотра директории. Попробуйте добавить index.html в директорию, если откроет значит дело не в правах на директорию и надо смотреть настройки Апач и сайта (htaccess и тп).

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #11 : 02 Марта 2013, 15:22:26 »
Vitsliputsli,
я честно папробувал он прав.
Wars ~.o

Оффлайн c2h5oh98

  • Автор темы
  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #12 : 02 Марта 2013, 15:37:24 »
sudo su
su www-data
sshfs -p 8888 user1@8.8.8.8:/home/user1/dir /var/www/rada
exit
Спасибо тебе мил человек - заработало. А всего то надо было монтировать папку под пользователем www-data
можно закрывать как решенную

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: Apache2 и sshfs
« Ответ #13 : 02 Марта 2013, 16:34:15 »
А в чем разница:
sudo sshfs -p 8888 user1@8.8.8.8:/home/user1/dir /var/www/rada -o uid=33 -o gid=33
и
sudo su; su www-data; sshfs -p 8888 user1@8.8.8.8:/home/user1/dir /var/www/rada
?
Никак не могу понять, ведь и в том и другом случае владелец примонтированной директории будет www-data...

 

Страница сгенерирована за 0.046 секунд. Запросов: 25.