我有一个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 $?
调用 Bash 脚本的 PHP:
ob_start();
$command="/bin/bash /path/DisplayTextFile.sh"
passthru($command, &$result);
$filetoecho=ob_get_contents();
ob_end_clean();
如上所述,我在/etc/sudoers 中添加了 DisplayTextFile.sh sudoers 并且它起作用了。我使用nano进行以下输入:
www-data ALL=(ALL) NPPASSWD: /path/DisplayTextFile.sh
一旦输入,问题就解决了。谢谢一堆。
您可能没有以 root 身份运行,请尝试将您的用户添加到 sudoers 组(如果没有,请安装 sudo(,然后将您的用户权限更改为在没有密码的情况下使用 sudo。
它不是很安全,所以你必须知道你在做什么。