だから私はユーザーを閉じ込めて刑務所に閉じ込める方法を研究してきました。興味深い問題がありますが、どこにも答えはありません。
ルートアカウントを刑務所に閉じ込める権限をどのように持つことができますか?現在、以下を試しています。
Match user root ChrootDirectory /opt/somedirectory/anotherdirectory ForceCommand internal-sftp
ただし、接続すると常に接続が切断されます。 - 私が許す実験室環境なので、このユースケースの場合パスワード認証そしてrootユーザーログインを許可する。
私が知る限り、Chroot刑務所はスーパーユーザー権限を使用して人々を自分のニッチに閉じ込めます。ところで脱獄できるものはありますか?それとも、少なくとも特定のディレクトリに彼をロックしてCDバックすることはできませんか?これは私がもっと探求し、学びたい興味深いケースです!時間をかけて答えてくれてありがとう!
重要な要約:特定のディレクトリにルートをSFTPに接続する方法。
ベストアンサー1
あなたはできません。
Red Hatにはこれに関する記事があります(ここにリンク) - 使用を検討している場合は、chroots
記事全体をお読みください。以下は、これがうまくいかない理由を説明する記事から抜粋したものです。
chroot と root ユーザー
chroot()システムコールはrootユーザーに対してのみ機能します。 root以外のユーザーはchroot()呼び出しを実行できません。 chroot()を呼び出すことができればそれを削除できるので、これは良いことです。これはchroot()のバグではなく、単に動作する方法です。これをバグだと思っても、通常ルートはシステムとすべてのリソースにアクセスできることを覚えておく必要があります。 chroot()の位置を再び「/」に変更するために、ルートがプロセスメモリを直接変更するのを防ぐ方法はありません。ここで考慮すべき重要な点は、設計上、chroot()がルートを停止しないことです。この点は、この記事の後半で重要です。
これがあなたが話しているラボ環境である場合は、単純なパスワード(またはパスワードなしでログインするためのSSHキー)を使用して一般ユーザーを追加するだけです。