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

У меня есть скрипт bash, который монтирует usb-диск, читает текстовый файл на usb-диске и передает этот файл в программу php, которая его вызвала. Смонтировать и размонтировать не работает.

Если я смонтировать USB из командной строки, PHP работает. Доказательства указывают на то, что гора и гора не работают. Любая обратная связь будет оценена.

Скрипт Bash: 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 Script:

ob_start();
$command="/bin/bash /path/DisplayTextFile.sh"passthru($command, &$result);
$filetoecho=ob_get_contents();
ob_end_clean();

0

Решение

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

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

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

1

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

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

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

0

По вопросам рекламы [email protected]