基本上,我有一个 PHP 脚本:
exec('sudo mount /dev/md/stone:supershare /mnt/supershare');
它完成时没有错误,退出代码为 0。
从单独的root
会话来看,我cat /proc/mounts
和它都没有显示出我的迹象supsershare
。
尝试:root
rm -r /mnt/supershare
[root@stone mnt]# rm -r supershare/
rm: cannot remove ‘supershare/’: Device or resource busy
尝试:root
umount /mnt/supershare
[root@stone mnt]# umount /mnt/supershare
umount: /mnt/supershare: not mounted
尝试:root
mdadm --stop /dev/md/stone:supershare
[root@stone mnt]# mdadm --stop /dev/md/stone\:supershare
mdadm: Cannot get exclusive access to /dev/md/stone:supershare:Perhaps a running process, mounted filesystem or active volume group?
任何从网络服务器使用 sudo 执行相同命令的尝试都会成功(它们显示挂载点的迹象,它们卸载设备,停止突袭等)。
是的,我是 root:
[root@stone mnt]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),19(log)
为什么root
没有收到有关网络服务器执行的安装的通知?
在什么场景下会mount
成为有效用户的本地化?
答案1
简而言之,麻烦已经解决了。
这是 Apache 的相应systemd
服务,PrivateTmp=true
指示。显然,该指令使用新的文件系统名称空间执行该进程。
您可以了解更多有关解决问题的冒险经历,这里。