要将数据传输到服务器,使用文件和文件夹,您需要安装 FTP 服务器。 我们选择Ubuntu 20.04作为服务器,vsftpd作为服务。 这个 FTP 服务器与流行的 proftpd 的不同之处在于它的简单性和快速设置。 可以使用任何客户端:filezilla、total commander 或 mc。
我们从 root 用户进行所有设置,如果您使用的是普通用户,请在命令前添加 sudo.
1. 安装服务
apt update
apt install vsftpd
systemctl start vsftpd
systemctl enable vsftpd
2. 让我们设置它
让我们复制原始设置:
cp /etc/vsftpd.conf /etc/vsftpd.conf_default
添加用户并为其指定密码:
useradd -m testuser
passwd testuser
在我们的例子中设置防火墙 iptables:
iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
/sbin/iptables-save > /etc/iptables/rules.v4
在大多数情况下,用户需要写权限,让我们在服务器设置中允许:
nano /etc/vsftpd.conf
write_enable=YES
保存设置文件 Ctrl +O 和 Enter,Ctrl + X 退出编辑器。 让我们重新启动服务:
systemctl restart vsftpd.service
基本设置已经完成,但通常需要为特定目录设置 ftp 访问,例如域(网站)文件夹。 为此,我们需要更改用户的默认目录,将用户添加到 www-data 组,并允许文件夹和文件对该组可写。 默认情况下,该条目仅供用户使用。
usermod -d /var/www/ testuser
usermod -a -G www-data testuser
find /var/www -type d -exec chmod 775 {} \;
find /var/www -type f -exec chmod 664 {} \;
完成,现在我们的用户可以使用指定路径的文件和文件夹。 如果您有多个站点,您可以为每个站点添加一个 ftp 用户。 默认情况下,用户只能访问指定的文件夹,包括子文件夹,并且不能高于我们指定的文件夹。
暂时没有评论