Я отчаянно пытаюсь смонтировать общий ресурс CIFS на коробке Debian 10 через веб-интерфейс пользователя и сделать его доступным для всей системы. Команда монтирования выполнена успешно, но точка монтирования не указана в / etc / mtab или / proc / mounts и, следовательно, также не показана командой монтирования.
Я использую apache2 в качестве веб-сервера и пробовал разные подходит ко всем с одинаковым результатом.
Цель состоит в том, чтобы использовать php -скрипт с Apache или Nginx, который монтирует общий ресурс, который является действительным и видимым для всей ОС, как если бы я использовал команда mount в командной строке.
Я пробовал разные способы с монтированием. php, который вызывает bash -скрипт для монтирования общего ресурса:
- добавлено www-data для sudoers без пароля и вызова сценария, содержащего "sudo mount ..."
- использовал c -компилированную оболочку, которая выполняется как root, которая вызывает bash -скрипт, который монтирует ресурс
- установленный php -fpm с включенным root сокетом для вызова сценария bash
- позволяет сценарию bash добавить общий ресурс в / etc / fstab и выполнить mount -a
Все эти подходы работать как следует, если вызывается из командной строки, даже когда вызывается как www-data пользователь (где это возможно).
Кажется, что все они также монтируют общий ресурс при вызове через веб-интерфейс, потому что если я использую те же приемы для запуска монтирования без параметров в php -скрипте с веб-сайта, монтирование указано в порядке. Также вторая попытка смонтировать общий ресурс через веб-интерфейс выдает сообщение о том, что устройство занято.
Но когда я использую команду mount без каких-либо параметров в командной строке, точка монтирования не указывается, и я не нахожу это в / etc / mtab или / proc / mounts.
В последнем подходе, когда я позволяю сценарию редактировать / etc / fstab и вызывать 'mount -a', поведение точно такое же (указано в веб-интерфейсе, но не в командной строке), но когда Я перезагружаю общий ресурс, смонтированный как ожидалось и видимый.
Так что я очень уверен, что пропускаю какое-то ограничение на пользовательское пространство / песочницу / терминал, где запускается apache2, что оказывает некоторое влияние на команду mount. Что странно, потому что я даже могу отредактировать / etc / fstab с помощью сценариев и, кажется, у меня есть root доступ ко всему - даже к монтированию, иначе он вообще не запустится. Но в любом случае команда mount, похоже, записывает свои результаты монтирования где-то в другом месте при вызове через веб-интерфейс.
У кого-нибудь есть идея, указывающая мне правильное направление? `
Заранее спасибо Аксель