The openssh privilege separation (
privsep) works by chrooting a forked and unprivileged
sshd process; a process owned by a user with a restricted home directory, and no login shell. The recommendation by the author of privsep [1], and by openssh [2], is to use
/var/empty, with permissions
0755, owned by
root:root (or similar group). The openssh package in Slackware is indeed compiled with the
--with-privsep-path=/var/empty option, and the directory
/var/empty exists with correct ownership and permissions. However, examining the user
sshd in
/etc/passwd, the home directory is set to system root (
/), not to
/var/empty. Considering that
UsePrivilegeSeparation sandbox is now a default setting, and provided that setting chroot to
/ it is not an oversight, what might be the reasoning behind it?
[1]
http://citi.umich.edu/u/provos/ssh/privsep-faq.html
[2] /usr/doc/openssh-7.1p2/README.privsep