我想限制用户进入某些目录但也允许使用 SFTP 进行传输。
我查看了以下类似问题的答案:
如何在不授予 shell 访问权限的情况下为站点设置 SFTP?
不幸的是,接受的答案只适用于较新的 OpenSSH 版本,而我的系统是 Centos 5.8,
OpenSSH_4.3p2,OpenSSL 0.9.8e-fips-rhel5 2008 年 7 月 1 日
我使用以下 Rackspace 指南设置了 vsftpd:http://www.rackspace.com/knowledge_center/article/rackspace-cloud-essentials-5-centos-installing-vsftpd它通过限制用户到他们的目录来工作,但只能使用 ftp,它不允许 SSH(使用 usermod 关闭 shell)
我使用以下指南启用了 sftp:http://wiki.vpslink.com/Configuring_vsftpd_for_secure_connections_(TLS/SSL/SFTP)
不幸的是,直到我为用户重新启用 bash shell 后,sftp 才被允许。现在 sftp 可以工作了,但他们可以离开主目录并随意浏览系统文件。
现在已经非常接近剃掉牦牛了,所以我想知道我是否应该尝试升级 OpenSSH 或者还有其他解决方案?
答案1
你要么需要升级你的OpenSSH安装到版本 >=4.9p1,因为这将提供原生 chroot 支持。
或者安装以下受限 shell 之一,并更改用户 shell 以匹配已安装的软件包。
http://www.pizzashack.org/rssh/
https://github.com/scponly/scponly/wiki
还有一些其他建议scponly维基百科。