【发布时间】:2020-04-19 17:36:21
【问题描述】:
祝大家今天好!
我有一个带有 MySQL 8.0 和 ProFTPD 1.3.5e 服务器的 Ubuntu 18.04 LTS 服务器。
我使用这些说明为 ProFTPd 设置 MySQL 身份验证。
https://medium.com/@nico26deo/how-to-set-up-proftpd-with-a-mysql-backend-on-ubuntu-c6f23a638caf
而且效果很好!
上面的文章设置了第一个用户“test”,其 UID 为 5500,GID 为 5500。它说应该创建 FTP 用户目录并将其更改为 5500:5500。都很好。
它没有说的是当第二个和第三个以及后续用户出现时该怎么做。使用 INSERT 查询在数据库中创建新用户很容易,但是 UID 和 GID 对于新的 ftp 用户来说应该是唯一的吗?如果是这样,是否有一种简单的方法可以让 MySQL AUTO_INCREMENT 分别高于 5500 和 5500 的新值?
显然,在该查询之外,我需要一个辅助进程来创建目录并将其转换为数据库中正确的 UID 和 GID。我的想法如下:
- 将新的 ftp 用户名、密码、homedir 插入数据库。这将包括需要插入的任何 UID 和 GIU。
- 创建 beanstalkd 任务,为新的 ftp 用户创建 homedir,并传递 SELECT 查询中使用的 ftp 用户名。
- FTP 服务器会检查 beanstalkd 并发现它有任务要执行。
- FTP 服务器将查询数据库以获取与新 ftp 用户相关的详细信息。 (例如 homedir、UID、GID 等)
- FTP 服务器将创建新用户的主目录并将其更改为数据库中的 UID 和 GID。
所以为了让我的问题一清二楚:
- UID 和 GID 对于新的 ftp 用户应该是唯一的吗?
- 如果是这样,在来自 MySQL 的 ProFTPD 身份验证的上下文中,是否有一种简单的方法可以让 MySQL AUTO_INCREMENT 分别从 5500 和 5500 开始的新值?
谢谢!
【问题讨论】:
标签: mysql authentication proftpd