我使用 PHPshell_exec
来运行命令
echo password | sudo -S mount.cifs //192.168.1.15/Share /share -o username=root,password=password
HTTPD 用户被授予 sudo-pivilege,命令成功运行,没有错误。使用mount
命令检查安装位置后,得到了一些有趣的结果。
mount
通过 PHP 执行的命令显示shell_exec
CIFS 目录,我可以ls
将cp
文件和文件夹从我的 SAMBA 服务器传输到 HTTP 服务器。但是当我通过 SSH 连接到 HTTP 服务器并运行时
mount
,root
CIFS 目录不存在。我/share
无法在 Web shell 中同时访问目录。mount
如果我重新启动 HTTPD 服务并在 Web shell 中重新运行命令,则会安装目录消失了。我想我在web shell中看到的是一个临时进程。为了,我可以
mount
通过使用两次,web shell
然后使用两次,system shell
并且umount
不影响另一个的安装列表,它就像两个独立的系统。如果我以相反的顺序执行,
system shell
首先然后 ->web shell
,一点也不奇怪。
为什么会这样以及如何使用 web shell 使其在系统中可见?