原文在:
http://linux.chinaunix.net/bbs/viewthread.php?tid=910998
首先创建一个chroot环境jailroot;
编译下面程序,并且将其chmod u+s
将用户的登陆shell设置为这个程序,这样一来用户登陆后就被chroot到/home/hank/jailroot了
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int main(int argc, char **argv)
{
int i;
chdir("/home/hank/jailroot");
i=chroot("/home/hank/jailroot");
if(i!=0)
{
perror("chroot");
}
if(argc>1&&strcmp(argv[1],"root")==0)
{
system("/bin/sh");
}
else
{
seteuid(getuid());
system("/bin/sh");
}
}
编译下面程序,并且将其chmod u+s
将用户的登陆shell设置为这个程序,这样一来用户登陆后就被chroot到/home/hank/jailroot了
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int main(int argc, char **argv)
{
int i;
chdir("/home/hank/jailroot");
i=chroot("/home/hank/jailroot");
if(i!=0)
{
perror("chroot");
}
if(argc>1&&strcmp(argv[1],"root")==0)
{
system("/bin/sh");
}
else
{
seteuid(getuid());
system("/bin/sh");
}
}