ファイルサーバーへのアクセスを制限するために、次の設定を設定しました。
ファイルサーバー(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-reader
SFTPを使用してディレクトリ内のファイルのみを読み取ることができます/somewhere/share/data
。いいね
クライアントから(別のDebian)
sftp data-reader@<server_ip>
サーバーに接続するために使用されます。 SFTP コンソールでは、読み取り専用アクセスのために SFTP コマンドで、またはその他を使用できますが、/somewhere/share/data
他のパスは表示できません。いいね!これが私が望むものです。ls
get
しかし、以下は良いコマンドのリストですhelp
。
! Escape to local shell
走れば
!ls /
/
実際にサーバー上のすべてのファイルを見ることができます!すべてのファイルの内容を見ることができます。しかし、私はそれをしたくありません。ユーザーが自分のディレクトリを終了できないようにしたいと思います。
この「escape」コマンドへのアクセスを制限する方法はありますか?
ご協力ありがとうございます。
答え1
ローカルシェルにエスケープするとは、ユーザーがクライアントにシェルを持っていることを意味します。いいえサーバーから。両方のシステムの/ tmpにあるファイル(別名!)をタッチすると、違いを確認できます。