我已经设置了一段时间的FTP服务器(Mac,但不是服务器版本),其中的用户是虚拟的,也就是说,他们不是服务器操作系统中的实际用户帐户,而是由FTP服务器软件处理的帐户--对于OS来说,它们看起来都像ftp用户帐户。我想停用FTP服务器软件,转而使用SFTP。
有没有办法设置SFTP/SSH,这样我就可以创建虚拟用户,同时用沙箱保护他们?
我想要虚拟用户的原因是因为我时不时地添加和删除帐户,而使用适当的用户帐户这样做往往会变得混乱,而且我不知道用沙箱保护它们的好方法。总会有一些文件留下,每个用户都有自己的用户目录(有很多文件只有在他们真正登录到机器之前时才相关),当帐户被删除时,该目录是隔离的,因此您必须手动删除它,依此类推。
发布于 2008-09-02 10:33:04
通常Unix对此的通用回答是“PAM”。如果您希望普通的旧式OpenSSH SSHD来处理您的SFTP,那么您需要插入sshd的OpenSSH堆栈(/etc/pam.d/sshd),它可以完成您需要的工作,而忽略您不需要的工作。这可能是一个通用目录服务器(可能是LDAP),它将所有虚拟用户映射到一个主目录,并为他们提供一种受限的或仅有scponly类型的shell。
如果你想看看也能做FTP-ssl (和SFTP不一样)的FTP服务器,像Pure-ftpd或vsftp这样的好的ftp服务器就能做到。FTP-ssl服务器具有更简单的虚拟用户支持。
http://www.bsdguides.org/guides/freebsd/networking/pure-ftpd_virtual_users.php
发布于 2010-12-05 09:20:25
如果您对商业产品持开放态度,Van Dyke Software的SFTP服务器可以在Unix/Linux/Windows上使用,支持使用VShell和SFTP协议的虚拟用户(多个后端):
发布于 2011-02-16 23:58:49
https://stackoverflow.com/questions/39135
复制相似问题