как получить rw доступ к смонтированному каталогу от php?

UPDATE2

Если я делаю ls в смонтированном каталоге сценарий PHP работает, по крайней мере, однажды. Странный, не.


Я хочу получить доступ к каталогу из своего сценария PHP, который смонтирован от

  • сервер datadev (Linux datadev № 1 по умолчанию 0.2 2.6.22.18 SMP 09.06.2008 13:53:20 GNU/Linux +0200 x86_64 x86_64 x86_64)

  • в wwwdev (Linux wwwdev № 1 по умолчанию 0.1 2.6.22.19 SMP 14.10.2008 22:17:43 GNU/Linux +0200 x86_64 x86_64 x86_64)

через nfs

  • /etc/exports похож (попробовал некоторые вещи, которые не работали на меня),

    • /var/lib/firebird/data 10.0.0.20 (rw, no_root_squash)
    • /var/lib/firebird/data 10.0.0.20 (rw, setuid, no_root_squash)

    • /var/lib/firebird/data-mapall=wwwrun:wheel 10.0.0.20 (rw)

    • /var/lib/firebird/data 10.0.0.20 (rw, all_squash, anonuid=30, anongid=100)

  • /etc/fstab похож

    • 10.0.0.21:/var/lib/firebird/data/var/lib/firebird/data значения по умолчанию nfs 0 0

Я могу получить доступ к каталогу от оболочки, но php дает мне ошибку Permission denied (errno 13) если я делаю chdir ('/var/lib/firebird/data');

[root][wwwdev /var/lib/firebird/data] ls -la
total 44G
-rw-rw---- 1 firebird firebird   64M Jun 10 15:43 ?
-rw-rw---- 1 firebird firebird  307M Jun 15 10:27 ?OQben.gdb
drwxr-xr-x 2 firebird firebird   16K Jul 21 16:55 ./
drwxr-xr-x 3 firebird wheel     4.0K Jul 21 11:36 ../

-

[root][datadev /var/lib/firebird/data] ls -la
total 44G  
-rw-rw---- 1 firebird firebird   64M Jun 10 15:43 ?
-rw-rw---- 1 firebird firebird  307M Jun 15 10:27 ?OQben.gdb
drwxr-xr-x 2 firebird firebird   16K Jul 21 16:55 ./
drwxr-x--- 4 firebird firebird  4.0K May  7 12:19 ../

мой сценарий PHP может отредактировать файл config.ini

root][wwwdev /var/lib/edumate/imacs/radek/3.0] ls -la
total 128K
drwxr-xr-x 19 wwwrun wheel 4.0K Jul 21 16:27 ./
drwxr-xr-x  6 wwwrun wheel 4.0K Jul 19 14:28 ../
-rw-r--r--  1 wwwrun wheel 1.8K Jul 21 15:08 config.ini

ОБНОВЛЕНИЕ

Я хочу что-то, что уже работает на меня. Я смонтировал, что каталог с моего Mac на тот же сервер wwwdev. wwwdev является клиентом nfs в обоих случаях./etc/exports на Mac имеет эту строку в /Users/radek/Sites -mapall=root:wheel -network 10.0.0.0 -mask 255.255.255.0

1
задан 26.07.2010, 08:36

3 ответа

Как другие предположили, необходимо изменить полномочия экспортируемых каталогов позволить интернет-пользователю (wwwrun) минимальное количество доступа к ним. То, на что точно Вы изменяете их, зависит от Вашей системы и потребностей безопасности.

Если по некоторым причинам Вы не можете изменить полномочия каталога, Вы можете добавлять интернет-пользователя (wwwrun) к (firebird) группа на локальной машине. Я не уверен первое, что пришло на ум, как NFS обработает его, если ЦЕНУРОЗЫ разойдутся в этих двух полях, но мы можем отсортировать это, если это так.

Это - вероятно, не самый безопасный способ сделать это, но я не уверен в Ваших ограничениях для этого.

Просто любопытный... тому, что причиной является веб-сервер, будет нужен прямой доступ к этому местоположению? Если это - местоположение Вас файлы базы данных, оно может открыть новую авеню повреждения данных, если Вы не чрезвычайно осторожны. Разве не было бы лучше использовать коннектор Firebird/InterBase?

1
ответ дан 12.12.2019, 13:13

Обычно, Apache работает, другой пользователь (f.e. www). Вы получаете доступ к каталогам через root... и конечно Вам разрешают сделать так.

Измените полномочия на смонтированной папке, чтобы отразить, что Пользователю Apache разрешают ввести их.

0
ответ дан 12.12.2019, 13:13

наш системный администратор решил проблему для меня. Он говорит что он

  • созданная новая группа xyz и на сервере nfs и на клиенте и затем добавила firebird и wwwrun в эту группу
  • umount dir и настроенный пользователь, группа, разрешение точно то же и на (сервер и на клиент)
  • смонтированный это снова и это работает с тех пор...
0
ответ дан 12.12.2019, 13:13

Теги

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