2013-04-13 83 views
4

一切都在問題中。當我嘗試使用chroot和「。」時或完整的路徑名作爲參數,perror告訴我「不允許操作」。 如果我的問題的答案是肯定的,是否有另一種方法來改變根目錄? (沒有使用strcmp()/ strncmp()的蠻族方法)做chroot()需要root權限嗎?

謝謝!

+0

看看:http://stackoverflow.com/questions/3737008/how-to-run-a-command-in-a-chroot-jail-not-as-root -and-without-sudo – duDE

回答

4

chroot只能由他/她/自己使用root。不,在不危及安全的情況下不會有其他方式。

維基百科

只有root用戶可以執行一個chroot。這是爲了防止用戶將setuid程序放入特製的chroot jail(例如,僞造/ etc/passwd和/ etc/shadow文件)中,這會將其僞裝爲特權升級。

查看here的文章。

2

試試名爲PROOT工具 - http://proot.me/ 它基於ptrace的系統調用和儀表和可能的usecases之一是實現類似的chroot的。

2

你可以嘗試fakechroot chroot

+0

這個問題不是在[help]中定義的堆棧溢出的主題 - 而是應答,您應該標記它們以引起注意,並且它們將被適當關閉或遷移。 –

+1

你可能是對的,因爲這個問題更好地屬於不同的堆棧交換。它讓我感到困擾的不僅僅是我想承認,而是唯一一個因爲這個事實而陷入低潮的人。我只是試圖爲這個否則有效的問題提供一個更好的答案,它可能是更好的答案。當這種情況遷移到其他交易所時,由於您因問題的元理由而倒退,這一點將不再明顯。 – kvz

+0

FWIW,我不是低調的選民 –