chdir(/) immediately after chroot
This commit is contained in:
parent
3dba97de1d
commit
e54f151f05
10
dns.c
10
dns.c
@ -89,6 +89,11 @@ dns_init(void)
|
||||
exit(EX_NOUSER);
|
||||
}
|
||||
|
||||
if (chdir("/") < 0) {
|
||||
syslog(LOG_ERR, "chdir: %m");
|
||||
exit(EX_UNAVAILABLE);
|
||||
}
|
||||
|
||||
if (setusercontext(NULL, pw, pw->pw_uid,
|
||||
LOGIN_SETALL & ~LOGIN_SETUSER) < 0)
|
||||
exit(EX_NOPERM);
|
||||
@ -98,11 +103,6 @@ dns_init(void)
|
||||
exit(EX_NOPERM);
|
||||
}
|
||||
|
||||
if (chdir("/") < 0) {
|
||||
syslog(LOG_ERR, "chdir: %m");
|
||||
exit(EX_UNAVAILABLE);
|
||||
}
|
||||
|
||||
event_init();
|
||||
|
||||
/* event for the request */
|
||||
|
10
icbd.c
10
icbd.c
@ -449,16 +449,16 @@ icbd_restrict(void)
|
||||
exit(EX_UNAVAILABLE);
|
||||
}
|
||||
|
||||
if (setuid(pw->pw_uid) < 0) {
|
||||
syslog(LOG_ERR, "%d: %m", pw->pw_uid);
|
||||
exit(EX_NOPERM);
|
||||
}
|
||||
|
||||
if (chdir("/") < 0) {
|
||||
syslog(LOG_ERR, "/: %m");
|
||||
exit(EX_UNAVAILABLE);
|
||||
}
|
||||
|
||||
if (setuid(pw->pw_uid) < 0) {
|
||||
syslog(LOG_ERR, "%d: %m", pw->pw_uid);
|
||||
exit(EX_NOPERM);
|
||||
}
|
||||
|
||||
(void)setproctitle("icbd");
|
||||
}
|
||||
|
||||
|
10
logger.c
10
logger.c
@ -105,16 +105,16 @@ logger_init(void)
|
||||
exit(EX_UNAVAILABLE);
|
||||
}
|
||||
|
||||
if (setuid(pw->pw_uid) < 0) {
|
||||
syslog(LOG_ERR, "%d: %m", pw->pw_uid);
|
||||
exit(EX_NOPERM);
|
||||
}
|
||||
|
||||
if (chdir("/") < 0) {
|
||||
syslog(LOG_ERR, "chdir: %m");
|
||||
exit(EX_UNAVAILABLE);
|
||||
}
|
||||
|
||||
if (setuid(pw->pw_uid) < 0) {
|
||||
syslog(LOG_ERR, "%d: %m", pw->pw_uid);
|
||||
exit(EX_NOPERM);
|
||||
}
|
||||
|
||||
event_init();
|
||||
|
||||
/* event for message processing */
|
||||
|
Loading…
x
Reference in New Issue
Block a user