这篇文章对自己学习linux下的chroot和ssh,sftp很有帮助,在这里记录下。 重点内容如下: 当一个用户登陆系统,无论是用ssh还是sftp, ssh服务先对这个用户进行认证,认证通过以后就会检查match里有没有这个用户,有的话match以后的语句都会对这个用户生效. 这个时候当指定ChrootDirectory. ssh会对匹配的用户进行choot的操作. 以上面的配置为例, 当a用户认证通过以后,他的home目录会限定在/chroot这个目录, 这个时候a用户如果是用的sftp协议登陆是没问题的. 但是如果a用户使用的是ssh协议,将用户的home锁定在/chroot,会再试图给用户加载给a用户指定的shell, 比如说是/bin/bash,而这个时候a用户的/是/chroot, 所以ssh试图在/chroot下找/bin/bash,即:/chroot/bin/bash,这个路径肯定是不存在的, 所以用户a用户ssh协议登陆根本就不会登陆成功! (责任编辑:IT) |