❀My虚拟机上的ftp服务器搭建(centos)❀
在CentOS上搭建FTP服务器可以使用vsftpd软件,下面是详细的搭建教程:
①安装vsftpd软件
在终端中输入以下命令进行安装:
sudo yum install vsftpd
②配置vsftpd
打开vsftpd的配置文件,输入以下命令:
sudo vi /etc/vsftpd/vsftpd.conf
在文件中找到以下几行并修改:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
解释一下这些配置项的含义:
- anonymous_enable:是否允许匿名用户登录FTP服务器,将其设置为NO表示不允许。
- local_enable:是否允许本地用户登录FTP服务器,将其设置为YES表示允许。
- write_enable:是否允许用户上传文件到FTP服务器,将其设置为YES表示允许。
- local_umask:上传文件时的默认权限掩码。
- dirmessage_enable:是否启用目录信息功能。
- xferlog_enable:是否启用日志记录功能。
- connect_from_port_20:是否使用20端口进行数据传输。
- xferlog_std_format:日志记录格式。
- chroot_local_user:是否限制用户只能访问自己的主目录。
- listen:是否启用监听模式。
- pam_service_name:PAM服务名称。
- userlist_enable:是否启用用户列表功能。
- tcp_wrappers:是否启用TCP包装器。
③创建FTP用户
使用以下命令创建FTP用户:
其中,ftpuser是你要创建的FTP用户名(用户名自定义):
sudo useradd -m ftpuser
然后将指定ftp的账户设置一下密码:
sudo passwd ftpuser
④设置FTP用户的主目录
在vsftpd配置文件中添加以下行:
local_root=/home/ftpuser user_sub_token=$USER
其中,local_root表示FTP用户的主目录,$USER表示当前登录的用户名。
⑤启动vsftpd服务
使用以下命令启动vsftpd服务:
sudo systemctl start vsftpd
⑥配置防火墙
如果你的CentOS系统开启了防火墙,需要添加以下规则:
sudo firewall-cmd --permanent --add-port=20/tcp
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --reload
其中,20和21端口分别用于FTP数据传输和FTP控制连接。
至此,你已经成功在CentOS上搭建了FTP服务器。如果你想让FTP服务器开机自启动,可以使用以下命令:
sudo systemctl enable vsftpd
⑦验证搭建是否成功
可以在FileZilla上连接ftp的账户,输入主机ip、ftp用户名和密码,连接成功: