1、检测系统有没有安装ftp,执行命令:
rpm -qa | grep ftp
若存在用rpm命令移除后再行安装,执行命令:
rpm -e vsftpd-3.0.2-9.e17.x86_64
2、如果没有安装,则在线安装ftp,
执行命令1:yum install -y vsftpd
执行命令2:yum install -y ftp
3、离线安装ftp
vsftpd下载链接:
http://mirror.centos.org/centos/7/os/x86_64/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm
ftp服务资源包下载链接:
http://mirror.centos.org/centos/7/os/x86_64/Packages/ftp-0.17-67.el7.x86_64.rpm
在/opt目录下新建一个ftp的文件夹。把vsftpd及ftp的安装包拷贝到/opt/ftp目录下。
进入到/opt/ftp目录下,执行命令:cd /opt/ftp
然后执行以下命令:
rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm
rpm -ivh ftp-0.17-67.el7.x86_64.rpm
执行命令1:sudo systemctl start vsftpd
执行命令2:sudo systemctl enable vsftpd
<1>、安装或升级防火墙
执行命令:sudo yum install firewalld
<2>、为所有 FTP 流量创建规则来配置防火墙
执行命令1:sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
执行命令2:sudo firewall-cmd --zone=public --permanent --add-service=ftp
执行命令3:sudo firewall-cmd –reload
首先备份当前的 vsftpd conf 文件,执行命令:
sudo cp -p /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default
<1>、配置FTP服务,修改/etc/vsftpd/vsftpd.conf文件。
然后执行以下命令,打开vsftpd.conf文件,将配置文件中“anonymous_enable=YES”改为 “anonymous_enable=NO”,这样关闭了匿名登录功能;其次禁止切换根目录 101 行 删除#号在chroot_local_user=YES前面的
执行命令1:cd /etc/vsftpd/
执行命令2:vim vsftpd.conf
<2>、重启vsftpd服务
执行命令:systemctl restart vsftpd
<1>、添加用户
执行命令1:sudo useradd ftpadmin -s /sbin/nologin -M
执行命令2:sudo passwd ftpadmin 输入密码:zj88064488
输入两次密码,匹配成功后,就设置好了ftpadmin账户的密码了。
<2>、将新用户添加到用户列表
执行命令:echo “ftpadmin” | sudo tee -a /etc/vsftpd/user_list
运行以下命令以创建所需的目录和权限:
执行命令1:sudo mkdir -p /home/ftpadmin/ftp/upload
执行命令2:sudo chmod 550 /home/ftpadmin/ftp
执行命令3:sudo chmod 750 /home/ftpadmin/ftp/upload
执行命令4:sudo chown -R ftpadmin: /home/ftpadmin/ftp
<1>、允许 FTP 从用户的主目录读取/写入文件。
执行命令1:setsebool -P /home/ftpadmin/ on
执行命令2:semanage boolean -m ftpd_full_access –on
<2>、执行命令:systemctl status vsftpd,查看vsftpd运行状态
<3>、使用创建的用户连接到 FTP 服务器:ftp <ftp-服务器-ip>
或者在本地测试 ftp:ftp localhost
用WinSCP或Xftp 在另外一台pc机中,新建站点或新建会话,文件协议选择“FTP”,主机名输入FTP服务器地址,用户输入:ftpadmin,密码输入:zj88064488,然后点击保存及登录后可以看到FTP服务器下的文件内容了,测试可以读写即可
#配置开机自启动
执行命令:systemctl enable vsftpd.service
#启动
执行命令:systemctl start vsftpd.service
#停止
执行命令:systemctl stop vsftpd.service
#查看状态
执行命令:systemctl status vsftpd.service