我已经搜索了这个问题的可行答案,大多数答案都包含了为什么不这样做的建议.但是,这是场景,以及它的必要性:
我有一个控制台应用程序,并且在每个用户的.profile中,都有一个应用程序的启动命令,并且在启动它的命令之后,有一个“退出”命令,它将它们记录出系统.我只希望他们能够通过它提供的界面访问这个控制台应用程序.启动时,应用程序向用户显示可通过应用程序访问的客户端列表,每个客户端都有自己的数据目录.用户只能访问他们需要访问的客户端.
现在问题是:如果我给用户SSH访问权限,他们也可以使用SFTP客户端登录,这将使他们可以直接访问应用程序的数据目录,这是非常不可取的,因为这也会给他们访问他们不应该访问的数据目录.
使用telnet / FTP组合时这是一件很简单的事情,但现在我想让用户从互联网上的任何地方访问,我无法找到一种方法将它们从SFTP中关闭,而仍然允许他们访问他们可以运行应用程序的shell.
解决方法
编辑:
如果不是很明显,以下答案并不是一种安全的方法,可以防止任何有shell访问服务器的人使用SFTP.这只是一个解释如何从外部可见性禁用它的答案.有关用户级安全性的讨论,请参阅@cpast和@Aleksi Torhamo的答案.如果安全是您的重点,那么这个答案就不合适了.如果您关注简单的服务可视性,那么这就是您的答案.
我们现在继续原来的答案:
在sshd_config中注释掉sftp支持(当然重启sshd):
#Subsystem sftp /usr/lib / openssh / sftp-server
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。