linux上部署ftp服务
今天同事让帮忙部署一个ftp服务,以前折腾过几次,不过总会有奇奇怪怪的问题.今天的 话结合chatglm4,整理了一下部署.
在CentOS 7上部署FTP服务,可以使用VSFTP(Very Secure FTP Daemon),这是一个安全、快速的FTP服务器。以下是部署FTP服务的步骤:
- 安装VSFTP:
sudo yum install vsftpd
- 启动VSFTP服务并设置为开机启动:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
- 创建FTP用户
tj
,并设置密码为123456
。同时,为了安全起见,我们会创建一个没有登录shell权限的用户:
sudo useradd -d /data -m tj
echo "123456" | sudo passwd --stdin tj
- 配置VSFTP以使用本地用户:
编辑VSFTP配置文件/etc/vsftpd/vsftpd.conf
,确保以下参数设置正确:
sudo nano /etc/vsftpd/vsftpd.conf
找到并修改或添加以下参数:
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
确保anonymous_enable=YES
被注释掉,以禁用匿名登录。
这里补充一个过程中遇到的问题,修改为配置,重启ftp服务失败了,提示:vsftp 500 oops un recognize variable in config file cp_wrappers. 这里根据提示修改了配置文件,注释掉了cp_wrappers项目,就启动成功了.
- 配置用户
tj
的FTP根目录为/data
:
创建一个文件/etc/vsftpd/user_conf/tj
,并设置FTP用户tj
的配置:
sudo mkdir -p /etc/vsftpd/user_conf
sudo nano /etc/vsftpd/user_conf/tj
添加以下内容:
local_root=/data
write_enable=YES
- 设置正确的权限:
确保FTP根目录/data
及其父目录对tj
用户和组可写,并设置正确的所有者和组:
sudo chown tj:tj /data
sudo chmod 750 /data
- 重启VSFTP服务以应用更改:
sudo systemctl restart vsftpd
如果FTP客户端位于防火墙或路由器后面,请确保相应的端口(默认为21号端口)已正确转发。
注意: 请根据实际情况调整防火墙设置,以确保FTP服务能够正常访问。在生产环境中,出于安全考虑,可能还需要进一步配置VSFTP,例如限制IP地址、使用SSL/TLS加密等。