配置CentOS上的FTP服务器,可以使用vsftpd(Very Secure FTP Daemon)这个非常流行且安全的FTP服务器软件。以下是详细的配置步骤:
首先,确保你的系统是最新的,然后安装vsftpd。
sudo yum update -y
sudo yum install vsftpd -y
vsftpd的主要配置文件位于/etc/vsftpd/vsftpd.conf
。你可以使用文本编辑器打开并编辑这个文件。
sudo nano /etc/vsftpd/vsftpd.conf
以下是一些基本配置项:
anonymous_enable=YES
: 允许匿名用户登录(不推荐用于生产环境)。local_enable=YES
: 允许本地用户登录。write_enable=YES
: 允许用户写入文件。chroot_local_user=YES
: 将本地用户锁定在他们的主目录中。allow_writeable_chroot=YES
: 允许chroot目录可写(用于调试,不推荐在生产环境中使用)。anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=NO
listen=21
: FTP默认端口是21。ftpd_banner
: 自定义FTP欢迎信息。pam_service_name=vsftpd
: 使用PAM进行身份验证。userlist_enable=YES
: 启用用户列表文件进行身份验证。userlist_file=/etc/vsftpd/userlist
: 用户列表文件路径。userlist_deny=NO
: 允许用户列表中的用户登录。listen=21
ftpd_banner=$欢迎信息
pam_service_name=vsftpd
userlist_enable=YES
userlist_file=/etc/vsftpd/userlist
userlist_deny=NO
local_umask
: 本地用户上传文件的默认umask值。file_open_mode
: 新文件创建时的权限。dirmessage_enable=YES
: 显示目录消息。transferlog_enable=YES
: 记录传输日志。local_umask=022
file_open_mode=0664
dirmessage_enable=YES
transferlog_enable=YES
如果你启用了用户列表,需要创建一个用户列表文件。
sudo touch /etc/vsftpd/userlist
sudo chmod 644 /etc/vsftpd/userlist
sudo nano /etc/vsftpd/userlist
在文件中添加允许登录的用户名,每行一个。
user1
user2
保存配置文件后,重启vsftpd服务以应用更改。
sudo systemctl restart vsftpd
确保防火墙允许FTP流量。
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
你可以使用ftp
命令行工具或任何FTP客户端(如FileZilla)来测试你的FTP服务器。
ftp localhost
输入本地用户名和密码进行登录。
以上步骤涵盖了在CentOS上配置vsftpd的基本过程。根据你的具体需求,你可能需要进一步调整配置文件中的设置。确保在生产环境中关闭匿名访问,并使用强密码策略。