macos - 可以使用 SFTP 服务器拥有虚拟用户吗?

标签 macos ftp ssh sftp

我已经设置了一个 FTP 服务器(Mac OS X,但不是服务器版本)一段时间,其中用户是虚拟的,即它们不是服务器操作系统中的实际用户帐户,而是由 FTP 处理的帐户服务器软件——对于操作系统来说,它们看起来都像ftp用户帐户。我想停用 FTP 服务器软件并改用 SFTP。

有没有办法设置 SFTP/SSH,以便我可以创建虚拟用户并同时将其沙箱化?

我想要虚拟用户的原因是因为我时不时地添加和删除帐户,而使用正确的用户帐户这样做往往会变得困惑,而且我不知道有什么好方法来沙箱它们。总会留下一些文件,每个用户都有自己的用户目录(其中许多文件仅在他们坐在计算机前面时实际登录到计算机时才相关),当帐户被删除时,这些文件将被隔离,因此您有自己用手将其移除,等等。

最佳答案

对此问题通常的通用 Unix 答案是“PAM”。如果您想要普通的旧式 OpenSSH SSHD 来处理您的 SFTP,您需要将一些东西插入到 SSHD 的 PAM 堆栈 (/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

关于macos - 可以使用 SFTP 服务器拥有虚拟用户吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39135/

相关文章:

macos - TTrayIcon是否适用于MacOS?

macos - 链接 docker 容器时 Ubuntu 无法访问主机

java - 尝试从服务器进行 FTP 时,FTP.changeWorkingDirectory 不起作用

objective-c - Cocoa 在分发时保存文本文件

c# - 使用 WinSCP .NET Assembly 防止通过 FTP 传输不完整的文件

java - 上传图片的更好方法是什么

php - Directadmin 更改文件多个域

python - Ansible 由于其构建的 ssh 问题而挂起

ssh - 在 vagrant ssh 之后运行远程命令

objective-c - CoreData 应用程序退出时间过长