웹 셸을 통해 마운트된 CIFS 디렉터리는 시스템 셸에 표시되지 않습니다.

웹 셸을 통해 마운트된 CIFS 디렉터리는 시스템 셸에 표시되지 않습니다.

PHP를 사용하여 shell_exec명령을 실행합니다.

echo password | sudo -S mount.cifs //192.168.1.15/Share /share -o username=root,password=password

HTTPD 사용자에게 sudo-pivilege가 부여되고 명령이 오류 없이 성공적으로 실행됩니다. mount명령을 사용하여 설치 위치를 확인한 후 몇 가지 흥미로운 결과를 얻었습니다.

  1. mountPHP를 통해 실행되는 명령은 shell_execCIFS 디렉터리를 표시하며 SAMBA 서버에서 HTTP 서버로 파일과 폴더를 ls전송할 수 있습니다.cp여기에 이미지 설명을 입력하세요.

    그러나 HTTP 서버에 SSH로 연결하여 실행하면 mountCIFS root디렉터리가 존재하지 않습니다. /share웹쉘에서 동시에 디렉토리에 접근할 수 없습니다 .

  2. mountHTTPD 서비스를 다시 시작하고 웹 셸에서 명령을 다시 실행하면 디렉터리가 마운트됩니다.사라졌다. 웹 셸에 보이는 것은 일시적인 프로세스인 것 같습니다.

  3. 그러기 위해서는 mount두 번 사용하고 web shell두 번 사용하고 system shell다른 시스템의 설치 목록에 영향을 주지 않으면 umount서 두 개의 별도 시스템처럼 만들 수 있습니다.

    역순으로 하면 system shell먼저 -> 입니다 web shell. 전혀 놀랄 일이 아닙니다.

왜 이런 일이 발생하며 웹 셸을 사용하여 시스템에 이를 표시하려면 어떻게 해야 합니까?

관련 정보