特定のユーザーとしてchrootを実行しようとしています。あるユーザーでは機能し、他のユーザーでは機能しません。何が起こっているのか私にはわかりません。
ぼくの /etc/passwd
chrootディレクトリ内は次のようになります(関連部分):
test0:x:1000:1000:test0:/home/test:/bin/bash
test1:x:1001:1001:test1:/home/test:/bin/bash
Sudo chroot --userspec=test0 chroot_dir/ /bin/bash --login
はうまく機能しますSudo chroot --userspec=test1 chroot_dir/ /bin/bash --login
は言うchroot: failed to run command ‘/bin/bash’: Permission denied
/bin/bash
chroot内:-rwxr-xr-x 1 user user 455188 Sep 19 08:58
、ここでuser
はシステム内のユーザー名です。ユーザーtest1
動作しません?詳しい情報が必要な場合は、お問い合わせください。お入れいたします。よろしくお願いします。
chroot
(ここではユーザーネームスペースはありません)では、chroot
に指定したコマンドを実行するために必要なディレクトリとファイルに、指定したユーザーがアクセスできる必要があります。これも:
bin
およびbin/bash
chroot内;lib
およびbash
が使用するライブラリー(存在する場合)(ldd bin/bash
それらが何であるかを教えてくれます);bash
が始まると、home/test
および起動スクリプト(.bashrc
など必要に応じて)。ランニング chmod -R 777
明らかにこれをすべて修正します。ユーザーID 1001が適切なファイルを読み取って実行できる限り、より制限の厳しい権限を使用できます。 chmod -R 755 bin lib
およびchmod 755 .
はbash
の起動を許可します。