sudo mount do webserver (Apache) por mod_php, resultado não visível pelo root

0

Pergunta inicial: link

Basicamente, eu tenho um script PHP, que:

exec('sudo mount /dev/md/stone:supershare /mnt/supershare');

Conclui sem erro o código de saída 0.

De uma sessão root separada, eu cat /proc/mounts e não mostra sinais do meu supsershare .

Tentativa de root to rm -r /mnt/supershare :

[root@stone mnt]# rm -r supershare/
rm: cannot remove ‘supershare/’: Device or resource busy

Tentativa de root to umount /mnt/supershare :

[root@stone mnt]# umount /mnt/supershare
umount: /mnt/supershare: not mounted

Tentativa de root to 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?

Qualquer tentativa de executar os mesmos comandos com o sudo do servidor web é bem sucedida (eles mostram sinais de ponto de montagem, eles desmontam os dispositivos, param os ataques, etc.).

E, sim, sou 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)

Como é que root não é notificado sobre as montagens realizadas pelo servidor web?
Em quais cenários o mount se torna local para um usuário efetivo?

    
por joltmode 28.10.2013 / 11:57

1 resposta

1

Em suma, a dificuldade foi resolvida .

Era o serviço systemd correspondente do Apache, que tinha PrivateTmp=true directiva. Aparentemente, a diretiva executa o processo com um novo namespace do sistema de arquivos.

Você pode saber mais sobre aventuras para resolver o problema, aqui .

    
por 30.10.2013 / 13:57