目前我在 CentOS 机器上有一个带有虚拟用户的 vsftpd 服务器。用户使用 MySQL 进行身份验证。
用户拥有主目录中的所有权限,并且被限制在主目录中。当前主目录是每个用户的唯一用户/home/vsftpd/<username>
名<username>
。它工作正常。
现在我想创建一些新的虚拟或真实用户,它们将拥有另一种主目录,例如/var/www/html/<username>
。
我想让两种类型的用户都在同一台服务器上。我的意思是,我需要在同一台 vsftpd 服务器上同时拥有旧主目录样式的旧用户和不同主目录样式的新用户。
这可能吗?如果可以,怎么做?我已经看过很多教程,但一无所获。
答案1
据我所知,vsftpd 是一个单目录服务守护进程。如果您想为用户提供不同的主目录,而 mysql 作为用户存储不提供该选项,您只能使用 PAM 和 linux 用户结构来创建某些内容。
基本上,您创建用户、根据您想要的用户群对他们进行身份验证(使用 pam)并使用另一个数据库来确定他们拥有哪个主目录(再次使用 pam)。
可能更简单的方法是简单地使用具有给定组 ID 的 unix 用户系统并手动设置其主目录。您可以为 useradd 编写一个小的包装脚本来实现这一点。