Выполнить команду монтирования samba без запроса пароля из PHP?

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

sudo mount -t cifs //xx.yy.zz/windows_shared /var/www/html/test -o user=TestUserWindow,uid=testuser,gid=testgroup

Как вы знаете, он будет запрашивать пароль WINDOWS не Linux.

Но я хочу запустить сценарий без вывода сообщений, используя shell_exec(),
Как я могу передать пароль автоматически без запроса?

2

Решение

Вы можете добавить пользователя, пароль и домен в вашу команду монтирования. Например, просто указав usernam и пароль, команда yor будет выглядеть так:

sudo mount -t cifs //xx.yy.zz/windows_shared /var/www/html/test -o user=TestUserWindow,password=TestUserPassword,uid=testuser,gid=testgroup

Лучшим / более безопасным вариантом является использование файла учетных данных, но вы теряете возможность передавать имя пользователя пароля из php в команду mount. В любом случае, вот пример файла учетных данных:

1 Создайте файл учетных данных:

sudo vim /etc/php.cred

2 При необходимости добавьте имя пользователя, пароль и домен. Убедитесь, что они находятся на своей линии, и между каждой из сторон знака равенства не должно быть пробелов:

username=TestUserWindow
password=TestUserPassword
domain=TestDomain

3 Ссылка на вновь созданный файл учетных данных в вашей команде монтирования:

sudo mount -t cifs //xx.yy.zz/windows_shared /var/www/html/test -o credentials=/etc/php.cred,uid=testuser,gid=testgroup

Рекомендации:

крепление страница руководства cifs

Есть также много других ответов на этот вопрос. Я бы порекомендовал спроситьпример монтирования cifs с использованием файла учетных данных» или же «пример монтирования cifs имя пользователя парольMsgstr «По сути, отбросьте часть» php «вашего вопроса, когда вы выполняете команду оболочки, а не в php.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector