exit (E_BAD_ARG);
}
- if (chdir (newroot) != 0) {
+ if (chroot (newroot) != 0) {
fprintf(log_get_logfd(),
- _("%s: cannot chdir to chroot directory %s: %s\n"),
+ _("%s: unable to chroot to directory %s: %s\n"),
log_get_progname(), newroot, strerror (errno));
exit (E_BAD_ARG);
}
- if (chroot (newroot) != 0) {
+ if (chdir ("/") != 0) {
fprintf(log_get_logfd(),
- _("%s: unable to chroot to directory %s: %s\n"),
+ _("%s: cannot chdir in chroot directory %s: %s\n"),
log_get_progname(), newroot, strerror (errno));
exit (E_BAD_ARG);
}
* must be able to change into it.
*/
- if ( (chdir (pw->pw_dir) != 0)
- || (chroot (pw->pw_dir) != 0)) {
+ if ( (chroot (pw->pw_dir) != 0)
+ || (chdir ("/") != 0)) {
(void) printf (_("Can't change root directory to '%s'\n"),
pw->pw_dir);
SYSLOG ((LOG_WARN, NO_SUBROOT2, pw->pw_dir, pw->pw_name));