ssh 的特权分离

所谓特权分离(Privilege Separation)实际上是一种OpenSSH的安全机制,类似于chroot能够提供的安全性。这个特性是默认开启的,配置文件中的 UsePrivilegeSeparation 指令可以开启或关闭这个特性。

使用此特性的关键之处在于设置一个空目录,并将此目录的权限设置为"000",宿主设置为"root"。然后还需要设置一个用于特权分离的非特权用户,比如sshd,并将此用户的家目录设置为这个空目录。比如可以使用下面这样的命令:

# mkdir -p  /var/empty
# chown 0:0 /var/empty
# chmod 000 /var/empty
# groupadd sshd
# useradd -g sshd -c 'sshd privsep' -d /var/empty -s /bin/false sshd

然后在运行配置脚本的时候,使用

--with-privsep-path=/var/empty
--with-privsep-user=sshd

来指定目录和用户。