サーバー内のユーザーの刑務所を作成しようとしています。ユーザーを「juser」と呼びましょう。
何を達成したいですか? sshユーザーをホームフォルダーに入れて、サーバーのルートディレクトリに(何でも)アクセスできないようにしたい。
そのために、私は ここにあるチュートリアル をフォローしています。
特権の分離のステップまで、すべてがうまくいきました。これはシステムに対するセキュリティ上の脅威であるため、特権の分離を無効にしたくありません。
他の解決策は、チュートリアルの次の行にあります。
特権分離を無効にしない場合、特権分離が正しく機能するためには、chroot内にユーザーのUIDを含む/ etc/passwdが必要になります。
しかし、私はこれを行う方法がわかりません! /etc/passwd
私はjuserのために持っています:
juser:x:5002:5002::/home/juser:/bin/sh
引用文で述べられていることをどのように実装しますか?
Chrootが/path/to/chroot
にあるとしましょう。次に、必要なもの:
/path/to/chroot
内のディレクトリetc
、および/path/to/chroot/etc
のpasswd
という名前のファイルで、少なくとも1つのエントリがあります。
juser:x:5002:5002::/some/path:/some/Shell
/path/to/chroot/some/path
/path/to/chroot/some/Shell
(シェル必須必要なライブラリなどとともに存在する必要があります。)