查看是否安装ftp:
rpm -qa |grep vsftpd
1、安装vsftp
1.1、安装vsftp,测试安装的vsftpd的版本是:vsftpd.x86_64 0:3.0.2-11.el7_2
yum -y install vsftpd
在linux中添加ftp用户,并设置相应的权限,操作步骤如下:
1、环境:ftp为vsftp。被限制用户名为ftpuser。被限制路径为/home/ftpuser
2、建用户,命令行状态下,在root用户下:
运行命令:“useradd -d /home/ftpuser ftpuser” //增加用户ftpuser,并制定ftpuser用户的主目录为/home/ftpuser
运行命令:“passwd ftpuser” //为ftpuser设置密码,运行后输入两次相同密码
1.2、修改配置文件
vi /etc/vsftpd/vsftpd.conf
(1)取消匿名登录
把第一行的 anonymous_enable=YES ,改为NO
(2)输入ip地址后默认加载路径
local_root=/home/ftpuser/
权限问题:
常见错误:
ftp上传文件出现553 Could not creat files 严重文件传输错误
原因:因为上传文件所在文件夹默认只有root用户才有写权限,所以我们还要将写权限赋予给其他用户。
在目标文件夹下输入chmod -R 777 /home/ftpuser 即可
修改配置文件后重启ftp服务:systemctl restart vsftpd.service
1.3、设置vsftpd开机启动
systemctl enable vsftpd.service
1.4、启动并查看vsftpd服务状态,systemctl启动服务成功不会有任何提示,绿色的active表示服务正在运行
systemctl start vsftpd.service systemctl status vsftpd.service
2、本地验证ftp是否可以正常访问
2.1、安装ftp
yum -y install ftp
2.2、使用anonymous登陆,无需密码
ftp localhost
220表示服务正常,可以登陆;230表示登陆成功。
2.3、查看FTP服务器文件夹信息
3、 外部证ftp是否可以正常访问
3.1、关闭防火墙(也可以设置防火墙规则,得再百度了)
systemctl stop firewalld.service
为防止机器重启后防火墙服务重新开启,可将防火墙服务永久关闭。
systemctl disable firewalld.service
3.2、在window上输入ftp://IP地址,可看到ftp下的目录(pub为系统预设的)上文已给出修改目录方法
4、文件读写。
到上面为止,我们发现ftp目录下并不能读写文件,这是由文件夹权限和selinux引起的。
4.1、设置文件夹权限,将pub文件夹的权限设置为777
chmod 777 -R /var/ftp/pub
4.1、关闭selinux服务
vi /etc/selinux/config
将SELINUX=enforcing改为:SELINUX=disabled
4.3、系统重启,让配置生效
shutdown -r now
4.4、上传文件
至此,ftp完全安装完成,若需为FTP配置用户权限,可自行百度。