我已经设置了一个chroot用户,它只能通过sshd的sftp访问1个目录,这样我的一个同事就可以上传某些类型的文件了.然后,我将通过HTTP触发命令,该命令将对文件运行一个长进程,并且我需要在运行进程时禁用sftp.
是否有一个命令可用于禁用sftp而无需更改sshd_config文件并重新加载服务?我在考虑进行端口阻塞,但我仍然需要访问ssh.
我读过有关使用passwd -l禁用用户帐户的信息,但如果它已经通过sftp登录,它仍然允许修改.
有什么建议?
编辑:
经过一番争吵,我发现我可以做ps -axl | grep $user @ notty并向PID发送kill -9以断开用户与其当前会话的连接,然后执行passwd -l username以防止用户再次登录或者Martin建议删除sftp-server的符号链接二进制文件.
但最后我接受了迈克的建议,只是将文件移到其他地方而不是在chroot目录中运行进程.
解决方法
您可以临时删除该文件夹的写入权限.
如果要完全禁用SFTP,可以创建sftp-server二进制文件的符号链接.并将用户配置为使用该符号链接作为SFTP二进制文件.然后你可以暂时删除符号链接,什么会有效地禁用SFTP.
Match User theuser ForceCommand /path/to/sftp/symlink
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。