最近亡くなった私たちの専門家は、2012年にScientific Linux用のopensshバージョンをコンパイルし、非常に素晴らしい方法でユーザーをホームディレクトリに「ロック」できるようにしました。
たとえば、ホームディレクトリを作成します(例:)/u/sftpdir/./username
。ログインすると見えるものだけです/username
。
に変更すると、/u/sftpdir/username/./
sftpでログインしている場合にのみ表示されます/
。実際、支店はルートです。
これでopensshを更新する必要がありますが、彼が何をしたのかわかりません。私たちは、変換にあまりにも多くの再構成と多くの連続作業時間を必要とするchrootを実行しません。どんなアイデアがありますか?
答え1
たぶん彼はsftpサーバーの-dフラグを使用していましたか?
マニュアルページの説明は次のとおりです。
-d start_directory ユーザーの代替開始ディレクトリーを指定します。パス名には、実行時に拡張される次のトークンを含めることができます。 %%はリテラル「%」に置き換えられ、%dは認証されているユーザーのホームディレクトリに置き換えられ、%uはそのユーザーのユーザー名に置き換えられます。 。デフォルトは、ユーザーのホームディレクトリを使用することです。このオプションは、sshd_config(5)ChrootDirectoryオプションと一緒に役立ちます。
このオプションがchrootなしで動作するかどうかはわかりません。