Linux
chroot:無法執行命令“/bin/bash”:權限被拒絕
我正在嘗試以某個使用者的身份進行 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
in chroot:的詳細資訊,我在系統中的使用者名在-rwxr-xr-x 1 user user 455188 Sep 19 08:58
哪裡user
。任何想法為什麼使用者
test1
不工作?如果您需要更多資訊,請詢問,我會將它們放入。提前非常感謝。
使用
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
開始。