PHP:安装USB设备


PHP: mount USB device

我正在为Cent OS服务器的GUI编写一个PHP脚本。出于测试目的,我将Apache设置为localhost。Cent OS不会自动安装连接的USB设备。在PHP中,我需要检查是否插入了USB设备,然后安装它并为用户列出文件内容。这在bash中非常简单,但是我无法使它在PHP中工作。我玩了exec()shell_exec()两个函数,但都没有用。我已经手动尝试了两个命令,即:

shell_exec("sudo mount /dev/sdb1 /mnt");

并通过bash脚本:

exec("./mountlist.sh");

PHP中是否有我可以调用的函数可以做同样的事情,或者我是否缺少execshell_exec函数。这两个函数在shell中都可以正常工作。由于mount是根命令,我在bash脚本中包含了sudo

您不能在PHP脚本中执行sudo操作-无法键入sudo密码。

您可以创建一个shell脚本,并使用STICKY位让它作为根用户运行

http://www.dba-oracle.com/linux/sticky_bit.htm

这就是passwd命令可以写入root拥有的密码文件的方式,即使您是以普通用户的身份运行它。

此外,您可以授予web用户装载/卸载文件系统的权限(在大多数系统上,将其添加到fuse组),但如果您的web服务器被黑客入侵,这将是更开放的,而且相当危险,所以我会为您的目的使用shell脚本和粘性部分。