Centos7 ftp环境搭建教程详解
操作环境:vm虚拟机 centos7
首先:搞定网络问题;默认情况下使用ifconfig可以看到虚拟机下是无网络的。(注:虚拟机网络设置为NAT或桥接模式都是可以的)
输入命令nmtui 打开网络配置
回车-》回车
将倒数第二项 Automatically connect 勾上 然后就有网络了
然后更新系统:yum update
查看vsftpd是否已安装:vsftpd -v (默认都是没安装的)
安装vsftpd:yum install vsftpd
然后 y y y......
安装完成后配置防火墙(firewall)
firewall-cmd --permanent --add-service=ftp firewall-cmd --add-port=21/tcp firewall-cmd --reload
配置vsftpd: vi /etc/vsftpd/vsftpd.conf
打开并设置以下配置:
anonymous_enable=NO (修改) chroot_local_user=YES (取消注释)(此项为限定用户访问目录为当前目录)
然后最底部设置并添加:
pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES listen_port=21 data_connection_timeout=12 guest_enable=YES guest_username=ftpuser (ftp的用户名,多个用户可重复这一行并修改用户名) user_config_dir=/usr/website(用户访问的文件夹) pasv_enable=YES virtual_use_local_privs=YES pasv_min_port=10060 pasv_max_port=10090 accept_timeout=5 connect_timeout=1
allow_writeable_chroot=YES (解决连接是提示500 OOPS:vsftpd:refusing to run with writable root inside chroot() 的问题)
退出并保存:wq
重启vsftpd:
systemctl restart vsftpd.service
相关命令:
systemctl start vsftpd.service systemctl status vsftpd.service
创建文件夹: mkdir /usr/website
创建用户:
useradd -g root -M -d /usr/website -s /sbin/nologin ftpuser
设置密码:
passwd ftpuser
文件夹授权:
chown -R ftpuser.root /usr/website
到目前为止,还有最后一个问题:selinux (不设置的情况下ftp提示:553 Could not create file)
捣鼓了半天都没配置成功。最后尝试了两个方案。
一、关闭selinux;
vi /etc/selinux/config
设置 SELINUX=Disabled
重启系统。
二、将selinux改成permissive(宽容模式)
命令:setenforce 0