从任何发行版安装 Linux 时,默认情况下只有 root 用户可用。同时,出于安全原因,无法在此用户下通过 FTP 进行连接。在本文中,我们将解释如何仅使用 Linux 控制台命令快速设置 FTP 服务器并创建用户。
步骤 1:与服务器建立安全连接
首先,您需要连接到您的服务器。您可以使用 SSH(安全外壳)协议来执行此操作,该协议提供了一种安全的远程访问方式。不要以“root”(默认情况下是 Linux 上的管理帐户)身份登录,而是使用常规帐户并通过“sudo”运行命令以获得额外的安全性。
第 2 步:安装 FTP 服务器
下一步是安装 FTP 服务器。在本教程中,我们将使用流行的开源 FTP 服务器“proftpd”。
如果你使用的是 CentOS,请先安装 EPEL 存储库。在终端中输入以下命令:
sudo yum install epel-release
sudo yum install proftpd
如果你使用的是 Debian 或 Ubuntu,只需输入:
sudo apt install proftpd
步骤 3:设置自动 FTP 启动
安装 FTP 服务器后,将其配置为每次服务器启动时自动启动。这通过以下命令执行:
sudo systemctl start proftpd.service
sudo systemctl enable proftpd.service
步骤 4:设置防火墙
出于安全目的,必须以允许 TCP 端口 21 上的传入连接的方式配置防火墙。确切的命令取决于您使用的防火墙管理实用程序。对于“iptables”:
sudo iptables -I INPUT -p tcp -m tcp --dport 21 -j ACCEPT
sudo systemctl save iptables
对于“firewalld”:
sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
sudo firewall-cmd –reload
对于 Debian 11 中的“nftables”:
sudo nft add rule ip filter input tcp dport { 21 } ct state new accept
配置防火墙后,不要忘记保存更改,以便在重启后应用。对于“iptables”和“firewalld”,此操作会自动完成,而对于“nftables”,您需要手动将当前规则保存到将在系统启动时加载的文件中。
步骤 5:通过国内目录限制 FTP 用户
默认情况下,FTP 用户可以超出其家庭目录,这可能是一个安全风险。为了防止这种情况,请将 DefaultRoot ~ 行添加到“proftpd.conf”文件。此行通过其家庭目录限制用户。将其添加到文件末尾,然后重新启动 FTP 服务器:
sudo systemctl restart proftpd.service
步骤 6:创建新的 FTP 用户
现在您可以创建一个新的 FTP 用户了。它不需要命令 shell 访问权限,因此出于安全原因请禁用它。以下是用于此目的的命令:
sudo useradd [username] -d /home/[username] -m -s /usr/sbin/nologin
sudo passwd [username]
将 [用户名] 替换为所需的用户名。'passwd' 命令将提示您输入新用户的密码。
现在您已设置好 FTP 服务器并在 Linux 服务器上创建了新的 FTP 用户。设置时请务必注意安全性。