特定のユーザーとして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
ユーザーになぜ機能しないのかというアイデアはありますか?より多くの情報が必要な場合はお問い合わせください。よろしくお願いします。
ベストアンサー1
ユーザーネームスペースがある場合chroot
(ここではユーザーネームスペースがない場合)、指定したコマンドを実行するために必要なディレクトリとファイルには、指定したユーザー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