Eu uso PHP shell_exec
para executar o comando
echo password | sudo -S mount.cifs //192.168.1.15/Share /share -o username=root,password=password
O usuário do HTTPD recebe o sudo-pivilege, o comando foi executado com sucesso sem erro. Depois de verificar os locais montados usando o comando mount
, ele veio com alguns resultados interessantes.
O comando mount
é executado por PHP shell_exec
mostra o diretório CIFS, posso ls
ou cp
arquivos e pastas do meu servidor SAMBA para o servidor HTTP.
Mas quando eu faço SSH para o servidor HTTP e executo mount
as root
, o diretório CIFS não está lá. Não consigo acessar o diretório /share
ao mesmo tempo em que consigo fazer isso no shell da web.
Se eu reiniciar o serviço HTTPD e executar novamente o comando mount
no shell da web, o diretório montado gone . Eu acho que o que vi no shell da web é um processo temporário.
Em ordem, eu posso mount
2 vezes usando web shell
, então use system shell
e umount
2 vezes também sem afetar a lista de montagem da outra, é como 2 sistemas separados.
Se eu fizer isso na ordem inversa, system shell
primeiro, então - > web shell
, nada de estranho.
Por que isso e como torná-lo visível no sistema usando o web shell?
Tags mount php shell apache-httpd