首页 > 代码库 > Centos7 ftp环境搭建

Centos7 ftp环境搭建

  没玩过linux,折腾了半天的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

  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

 

然后,可以试试看了。

 

Centos7 ftp环境搭建