在 Debian 上设置 FTP 用户帐户

在 Debian 上设置 FTP 用户帐户

我正在尝试在运行 Debian 安装和 proftpd 的服务器上设置一个 FTP 帐户。我需要一些基本命令,以便查看、编辑和创建 ftp 用户。我还不清楚是否需要将这些用户专门添加到 proftpd,或者只要将它们放在服务器上就足够了。

最终,我希望有一个 FTP 用户,我可以使用 beanstalkapp(一个 svn 部署工具)连接到该用户,以便它可以将内容部署到我的 /var/www/ 目录。

任何帮助都将不胜感激,即使它只是我应该用来查看和更新​​用户的一些 shell 命令的链接。

答案1

ProFTPd 确实支持仅 FTP 用户的概念。为了实现此功能,您需要首先对 proftpd.conf 文件进行以下更改:

AuthOrder mod_auth_unix.c mod_auth_file.c #add mod_auth_file.c
AuthUserFile /etc/proftpd/ftpasswd #Add this entire line

确保文件 /etc/proftpd/ftpasswd 存在,并且可以被运行 proftpd 守护进程的用户可以读取。

此外,您还需要添加以下几行:

RequireValidShell off  
UseFtpUsers off

重新启动 ProFTPd 守护程序。您的 FTP 服务现在将允许来自仅 FTP 帐户的连接。您可以使用以下语法创建仅 FTP 帐户:

ftpasswd --passwd --file=/etc/proftpd/ftpasswd --name=ftpuser --uid=5001 --gid=5001 --home=/var/www/beanstalkapp --shell=/bin/false

请密切注意选项“--uid”和“--gid”。如果您在此处提供的数值与任何现有用户/组都不对应,则 FTP 用户将具有与运行 proftpd 守护程序的用户相同的文件权限(通常对大多数目录具有只读访问权限)。如果您想允许 FTP 用户能够实际覆盖文件,请将 uid 设置为与拥有该目录的实际系统用户的 UID 匹配(我从另一个 SF 问题中发现了一些问题)。

为了增加安全性,您还可以在 proftpd.conf 文件中添加以下行:

<Directory "/var/www/beanstalkapp">
DirFakeUser on ~
DirFakeGroup on ~
</Directory>

这将欺骗 FTP 客户端,使其显示的文件好像属于 FTP 用户根目录中的 FTP 用户/FTP 组所有。

答案2

为什么不使用 SSH/SFTP?它比 FTP 安全得多,并且只需要最少的配置。

答案3

据我所知,proFTPd 默认使用系统帐户。您只需使用 useradd 创建系统帐户即可……

不过,我习惯使用纯 ftpd,其中有命令可以创建映射到同一系统帐户的“虚拟”用户,这是我喜欢的理念。

相关内容