小编Fac*_*ace的帖子

how从C进入chroot环境?

我尝试做的是让我的程序进入chroot环境并执行一些命令,然后退出.

例如

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#define ChRoot "sudo  chroot \"/\" /usr/bin/env -i HOME=/root TERM=\"$TERM\" PATH=/bin:/usr/bin:/sbin:/usr/sbin:/bin /bin/bash --login +h"


void func1(){
    //enter the chroot environment
    char line[130];   FILE *fp;
    fp = popen(ChRoot, "r");
    while(fgets( line, sizeof line, fp)){
        printf ("%s\n",line);
    }
    pclose(fp);
}
void func2(){
    //run a command in  the chroot environment
    char line[130];   FILE *fp;
    fp = popen("ls", "r");
    while(fgets( line, sizeof line, fp)){
        printf ("%s\n",line);
    }
    pclose(fp);

}
int main() {
    func1();
    func2();
    return 0;
} …
Run Code Online (Sandbox Code Playgroud)

c linux

5
推荐指数
1
解决办法
5263
查看次数

标签 统计

c ×1

linux ×1