13,15d12 < #include < #include < 21c18 < ,"capchroot --nochroot directory [-suid uid] command argument\n" --- > ,"capchroot --nochroot directory command argument\n" 31,36d27 < char* uid = NULL; < if (strcmp(argv[2],"-suid")==0 && argc > 3) { < if (argc > 4) { < uid = argv[3]; < } < } 40c31 < } else { --- > }else{ 44,60d34 < < if (uid != NULL) { < dir+=2; < struct passwd *p = NULL; < p = getpwnam(uid); < if (p == NULL) { < fprintf (stderr,"User not found %s (%s)\n",uid < ,strerror(errno)); < return -1; < } else { < argv[dir-1]="/bin/sh"; < argv[dir]="-c"; < setuid(p->pw_uid); < dir-=2; < } < } <