On 9/29/07, Anthony DeRobertis <[EMAIL PROTECTED]> wrote: > Hmm, if you're root you probably can. Something like this (completely > untested; probably doesn't even compile):
Yes, it works, and AFAIK it has always done. A shorter program to test it: #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int main(void) { struct stat s1, s2; chdir("/"); chroot("/tmp"); stat(".", &s1); stat("..", &s2); if (s1.st_dev != s2.st_dev || s1.st_ino != s2.st_ino) { printf("we are in a chroot\n"); } return 0; } > Actually, come to think of it, I wonder if stat'ing "/.." would work... > If it does, then you don't even need root. No, it doesn't. "/" is always equal to "/.."; if not, anyone could escape anytime from a chroot environment. Juan -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]