PHPを使用してshell_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ディレクトリを表示し、SAMBAサーバーからHTTPサーバーにファイルとフォルダをls
転送できます。cp
ただし、HTTP サーバーに SSH で接続して実行すると、
mount
CIFSroot
ディレクトリは存在しません。/share
Webシェルから同時にディレクトリにアクセスできません。mount
HTTPDサービスを再起動してWebシェルでコマンドを再実行すると、ディレクトリがマウントされます。消えた。 Webシェルに見えるのは一時的なプロセスのようです。これを行うには、
mount
2回使用してweb shell
2回使用し、system shell
他のシステムのインストールリストに影響を与えることなく、2つの別々のumount
システムのように作成できます。逆順にすると
system shell
まず -> ですweb shell
。まったく驚くことではありません。
なぜこれが起こり、Webシェルを使用してシステムにそれを表示するのですか?