SFTP機能「ローカルシェルへのエスケープ」の使用を制限する方法は?

SFTP機能「ローカルシェルへのエスケープ」の使用を制限する方法は?

ファイルサーバーへのアクセスを制限するために、次の設定を設定しました。

ファイルサーバー(Debian Wheezy)

  • data-reader名前付きグループに家もなくシェルもないユーザーを作成しますdata
  • ルートが所有するディレクトリとグループがアクセスできるサブディレクトリを作成します/somewhere/share//somewhere/share/data/data
  • 次の設定を追加します/etc/sshd_config
    Match group data
        ChrootDirectory /somewhere/share
        ForcedCommand internal-sftp
        X11Forwarding no
        AllowTcpForwarding no
    

これにより、data-readerSFTPを使用してディレクトリ内のファイルのみを読み取ることができます/somewhere/share/data。いいね

クライアントから(別のDebian)

sftp data-reader@<server_ip>サーバーに接続するために使用されます。 SFTP コンソールでは、読み取り専用アクセスのために SFTP コマンドで、またはその他を使用できますが、/somewhere/share/data他のパスは表示できません。いいね!これが私が望むものです。lsget

しかし、以下は良いコマンドのリストですhelp

!    Escape to local shell

走れば

!ls / 

/実際にサーバー上のすべてのファイルを見ることができます!すべてのファイルの内容を見ることができます。しかし、私はそれをしたくありません。ユーザーが自分のディレクトリを終了できないようにしたいと思います。

この「escape」コマンドへのアクセスを制限する方法はありますか?

ご協力ありがとうございます。

ベストアンサー1

ローカルシェルにエスケープするとは、ユーザーがクライアントにシェルを持っていることを意味します。いいえサーバーから。両方のシステムの/ tmpにあるファイル(別名!)をタッチすると、違いを確認できます。

おすすめ記事