Я передаю текст из bash-скрипта в php. Все работает, кроме команд mount и unmount bash. Что я делаю неправильно?

0

У меня есть сценарий bash, который монтирует USB-накопитель, читает текстовый файл на USB-накопителе и эхо файл, который обрабатывает программу php, которая его вызывала. Монтирование и размонтирование не работают.

Если я смонтирую usb из командной строки, php работает. Доказательства указывают на umount и монтирование не работает. Любая обратная связь будет оценена.

Bash Script: DisplayTextFile.sh

#! /bin/bash
umount /dev/sdc1
mount -t vfat /dev/sdc1 /media/usbdisc -o uid=1000,gid=1000,utf8,dmask=000,fmask=000
$filetoecho=$(</media/usbdisc/textfile.txt)
echo "File Content: $filetoecho"
umount /dev/sdc1
exit $?

PHP, который вызывает скрипт Bash:

ob_start();
$command="/bin/bash /path/DisplayTextFile.sh"
passthru($command, &$result);
$filetoecho=ob_get_contents();
ob_end_clean();
  • 0
    Что если вы используете /bin/mount и /bin/umount ?
  • 0
    (u) для монтирования требуются права суперпользователя. Вы определенно работаете от имени root?
Показать ещё 2 комментария
Теги:
ob-start

2 ответа

1

Как было предложено выше, я добавил DisplayTextFile.sh в sudoers в /etc/sudoers, и он сработал. Я использовал nano, чтобы сделать следующую запись:

www-data ALL=(ALL) NPPASSWD: /path/DisplayTextFile.sh

После того, как эта запись была сделана, проблема была решена. Огромное спасибо.

0

Вероятно, вы не используете root, попробуйте добавить своего пользователя в группу sudoers (установите sudo, если у вас его нет), а затем измените права пользователя на использование sudo без пароля.

Это не очень безопасно, поэтому вы должны знать, что делаете.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню