我知道在linux下使用命令「chroot」需要一些文件或目錄,如usr
,bin
等等。但是當我在C中使用函數chroot()
時,是否需要這些文件?如何在C編程中使用chroot函數?
這裏是我的代碼,其中「hw.out」是一個剛剛打印「Hello,world」的二進制文件。我編譯並以root身份運行它,但未能打印出「Hello,world」。我還應該做什麼?謝謝!
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int result = chroot(".");
if(result == 0)
printf("Chroot Succese.\n");
char *arrays[]={"./hw.out",NULL};
execvp("./hw.out", arrays);
return 0;
}
那麼它做了什麼,而不是打印「Hello World」? – 2012-03-15 07:58:11