chroot: '/bin/bash' コマンドを実行できません: 権限が拒否されました。

chroot: '/bin/bash' コマンドを実行できません: 権限が拒否されました。

特定のユーザーとしてchrootを試しています。あるユーザーには機能しますが、他のユーザーには機能しません。何が起こっているのかわかりません。

私の/etc/passwdchrootディレクトリは次のとおりです(関連部分):

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/bashchroot:私のユーザー名はシステム上の詳細です-rwxr-xr-x 1 user user 455188 Sep 19 08:58user

test1ユーザーになぜ機能しないのかというアイデアはありますか?より多くの情報が必要な場合はお問い合わせください。よろしくお願いします。

ベストアンサー1

ユーザーネームスペースがある場合chroot(ここではユーザーネームスペースがない場合)、指定したコマンドを実行するために必要なディレクトリとファイルには、指定したユーザーchrootがアクセスできる必要があります。これには以下が含まれます。

  • chrootルート;
  • binそしてbin/bashchrootから。
  • libそしてそこに使用されたライブラリがbashある場合(そのライブラリldd bin/bashが何であるかを教えてくれます)
  • bash開始するタイミングhome/testと起動スクリプト(.bashrc必要な場合など)。

実行すると、chmod -R 777これらすべてが確実に解決されます。ユーザーID 1001がそのファイルを読み取って実行できる限り、より制限的な権限を使用できます。起動を許可しchmod -R 755 bin libます。chmod 755 .bash

おすすめ記事