在 CentOS 上设置 FTP 服务器并实现虚拟用户登录,通常需要以下几个步骤:
安装 vsftpd: 首先,确保你的系统上已经安装了 vsftpd。如果没有安装,可以使用以下命令进行安装:
sudo yum install vsftpd
创建虚拟用户:
你可以使用 useradd
命令来创建虚拟用户。例如:
sudo useradd -m ftpuser1
sudo passwd ftpuser1
这将创建一个名为 ftpuser1
的用户,并为其分配一个密码。
配置 vsftpd:
编辑 vsftpd 的配置文件 /etc/vsftpd/vsftpd.conf
,确保以下配置项被正确设置:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
这些配置项的含义如下:
anonymous_enable=NO
:禁止匿名用户登录。local_enable=YES
:允许本地用户登录。write_enable=YES
:允许本地用户有写权限。chroot_local_user=YES
:将本地用户锁定在其主目录中。allow_writeable_chroot=YES
:允许 chroot 目录可写(这是为了安全考虑,但有时可能需要设置为 NO)。创建用户目录: 为虚拟用户创建一个主目录,例如:
sudo mkdir /home/ftpuser1
sudo chown ftpuser1:ftpuser1 /home/ftpuser1
sudo chmod 755 /home/ftpuser1
重启 vsftpd 服务: 保存配置文件后,重启 vsftpd 服务以应用更改:
sudo systemctl restart vsftpd
配置防火墙:
确保防火墙允许 FTP 服务的端口(默认为 21)。例如,使用 firewalld
:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
测试 FTP 连接:
使用 ftp
命令或任何 FTP 客户端工具(如 FileZilla)来测试虚拟用户的登录功能。例如:
ftp ftp://ftpuser1@your_server_ip
输入密码后,你应该能够成功登录到服务器。
通过以上步骤,你就可以在 CentOS 上设置一个支持虚拟用户登录的 FTP 服务器。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>