UID & GID for ProFTPd with MySQL auth mod



大家好!

我有一个Ubuntu 18.04 LTS服务器,MySQL 8.0和ProFTPD 1.3.5e服务器。

我使用这些说明为ProFTPd设置MySQL身份验证。

https://medium.com/@nico26deo/how-to-set-up-proftpd与-mysql-backend-on-ubuntu-c6f23a638caf

而且效果很好!

上面的文章设置了第一个UID为5500、GID为5500的用户"测试"。它说FTP用户目录应该创建并chowned为5500:5500。一切都很好。

它没有说的是,当第二个、第三个和连续的用户出现时该怎么办。使用INSERT查询在数据库中创建新用户很容易,但是UID和GID对于新的ftp用户来说应该是唯一的吗?如果是这样的话,有没有一种简单的方法可以将MySQL的新值分别设置为5500和5500以上的AUTO_INCREMENT?

显然,在该查询之外,我将需要一个辅助进程来创建目录并将其转换为数据库中正确的UID和GID。我的想法如下:

  1. 将新的ftp用户名、密码、homedir插入数据库。这将包括需要插入的UID和GIU
  2. 创建beanstalkd任务为新的ftp用户创建homedir,并传递SELECT查询中使用的ftp用户名
  3. FTP服务器会检查beanstalkd,发现它有一项任务要执行
  4. FTP服务器将向数据库查询与新FTP用户相关联的详细信息。(例如homedir、UID、GID等(
  5. FTP服务器将创建新用户的homedir,并将其转换为数据库中的UID和GID

所以让我的问题变得清晰起来:

  1. 新ftp用户的UID和GID是否应该是唯一的
  2. 如果是这样的话,在MySQL的ProFTPD身份验证的上下文中,是否有一种简单的方法可以将MySQL的新值分别从5500和5500开始转换为AUTO_INCREMENT

谢谢!

对于使用MySQL的自动递增,您可以使用AUTO_INCREMENTMySQL关键字在用户表中定义UID和GID列。

通常,最好为用户提供单独的UID和GID值。这有助于确保对这些文件的文件系统访问/权限是唯一的/独立的。如果您对所有用户都使用相同的UID/GID,这就像让一个用户拥有多个工作密码一样——对于文件系统,所有文件和目录都将由同一用户拥有并可访问,无论他们是如何登录的。错误的配置会允许一个用户访问另一个用户的文件,因为对于文件系统(它只关心UID/GID,而不关心名称(来说,它们都是一样的。

至于创建主目录,这可以在ProFTPD中使用其CreateHome配置指令自动完成。

希望这能有所帮助!

相关内容

  • 没有找到相关文章

最新更新