我极力尝试通过Web用户界面在Debian 10盒子上安装CIFS共享,并使整个系统都可以访问它。 mount命令已成功执行,但是/ etc / mtab或/ proc / mounts中未列出安装点,因此mount命令也未显示该安装点。
我将apache2用作网络服务器,并且尝试了不同的方法,但均获得了相同的结果。
目标是将php脚本与Apache或Nginx一起使用,以安装对整个操作系统有效且可见的共享,就像我在命令行上使用mount命令一样。
我已经尝试通过调用bash脚本来安装共享的mount.php尝试不同的方式:
所有这些方法都可以通过命令行调用,即使以www-data用户身份(如果可能)被调用也应如此。
他们似乎都通过Web界面调用时也挂载了共享,因为如果我使用相同的技术来启动挂载,而网站上的php-script中没有任何参数,则挂载将被列出。此外,尝试通过Web界面挂载共享的第二次尝试也显示设备正忙的消息。
但是当我在命令行上使用不带任何参数的mount命令时,未列出安装点,也无法在/ etc / mtab或/ proc / mounts中找到它。
在最后一种方法中,我让脚本编辑/ etc / fstab并调用'mount -a',其行为完全相同(在Web界面中列出,但未在命令行上列出),但是当我重新启动共享时已按预期安装并可见。
因此,我非常确定我忽略了运行apache2的某种用户空间/沙箱/终端限制,这对mount命令有一定影响。奇怪的是,因为我什至可以使用脚本编辑/ etc / fstab,并且似乎拥有对所有内容的root访问权限-甚至可以挂载,否则根本无法启动。但是无论如何,通过Web界面调用时,mount命令似乎会将它的安装结果写入其他位置。
有人有向我指出正确方向的想法吗?
谢谢,Axel
我极力尝试通过Web用户界面在Debian 10盒子上安装CIFS共享,并使整个系统都可以访问它。 mount命令成功执行,但是安装点...
[如果您在权限方面遇到麻烦,并且不想对此进行深入研究,我建议在PHP中使用简单的Write to File函数,然后使用CRON JOB执行脚本,如果找到该文件,则将其删除,并执行您想要的功能。该cron作业在整个计算机上不应有任何权限问题。