sftp> grep "hello" login.php
Invalid command.
私はlogin.phpを含むディレクトリにいます。
答え1
sftp
単純なファイル転送ツール:次のリストにリストされている特定のコマンドセットをサポートします。マンページ。man sftp
特定のsftpバージョンのsftpコマンドの正確なリストを表示するには、自分のシステムで実行してください。
grep
リモートファイルで実行するには、次の2つのいずれかが必要です。
ファイル転送ツールは、リモートファイルをローカルファイルシステムにレンダリングし、必要に応じてアクセスした各ファイルの内容をコンピュータに転送できます。その後、システムの汎用
grep
ユーティリティを使用してコンテンツを検索できます。このsshfs
ツールはまさにそうすることができます。明らかに、ファイルシステムはsshfs
実際のローカルファイルシステムよりも応答速度が遅くなります。あるいは、ファイル転送ツールが
grep
リモートシステムでコマンドを実行し、結果をユーザーに返すこともできます。ただし、ファイル転送ツールはリモートgrep
操作を具体的にサポートする必要があり、リモートサーバーもその特定のタスクをサポートしたり、ログインしたユーザーとして任意のコマンドを実行できるようにする必要があります。ただし、後者はコマンドがすでに実行している操作なので、ssh
コマンドがその機能をコピーすることは意味がありません。sftp
さらに、サポートされているワークセットは、sftp
ファイル転送に関連するタスクにのみタスクを制限するように特別に選択されています。これの価値は、リモートシステム管理者がユーザーのsftp
アクセスを許可しますが、ログインとランダムコマンドの実行を許可しないことを選択できることです。
ユーザーがよく知られており、限られたタスクしか実行できない場合、システム管理者(またはセキュリティ環境を設計するシステム設計者)は、ユーザーができることとできないタスク(発見した場合)が悪意のあるかどうかを効果的に推論することができます。 。ユーザーが完全な公開コマンドラインツールセットにアクセスできる場合、操作ははるかに困難になります。
答え2
すべてのコマンドを実行する権限を持つホストにsftpフォルダをマウントできます。ここで必要に応じてフォルダを操作できます。