Я знаю, что для использования команды "chroot" в linux нужны некоторые файлы или каталоги, такие как usr
, bin
и так далее. Но когда я использую функцию chroot()
в C, мне нужны эти файлы?
Вот мой код, который представляет собой двоичный файл 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;
}