Webシェルを介してマウントされたCIFSディレクトリは、システムシェルには表示されません。

Webシェルを介してマウントされた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 で接続して実行すると、mountCIFSrootディレクトリは存在しません。/shareWebシェルから同時にディレクトリにアクセスできません。

  2. mountHTTPDサービスを再起動してWebシェルでコマンドを再実行すると、ディレクトリがマウントされます。消えた。 Webシェルに見えるのは一時的なプロセスのようです。

  3. これを行うには、mount2回使用してweb shell2回使用し、system shell他のシステムのインストールリストに影響を与えることなく、2つの別々のumountシステムのように作成できます。

    逆順にするとsystem shellまず -> です web shell。まったく驚くことではありません。

なぜこれが起こり、Webシェルを使用してシステムにそれを表示するのですか?

関連情報