首页 > 代码库 > CentOS7 搭建 FTP 服务器

CentOS7 搭建 FTP 服务器

  经常需要把 window 下的文件传到 Linux 中, 搭建一个简单的 ftp 服务器, 简单使用,性价比高, 棒!

  

安装 vdftpd -----:

  yum -y install vsftpd

  新建登录 ftp 服务器的账号:

  新建用户: useradd ftp1
  修改用户密码: passwd 123


  开启 vsftpd 服务: systemctl start vsftpd.service
  关闭 vsftpd 服务: systemctl stop vsftpd.service

设置 SELinux ------
  SELinux 设置:
  getsebool -a | grep ftp
  allow_ftpd_anon_write --> off
  allow_ftpd_full_access --> off
  allow_ftpd_use_cifs --> off
  allow_ftpd_use_nfs --> off
  ftp_home_dir --> off
  ftpd_connect_db --> off
  ftpd_use_passive_mode --> off
  httpd_enable_ftp_server --> off
  tftp_anon_write --> off

  查询出上面的信息后执行以下的两个修改:
  setsebool -P allow_ftpd_full_access on
  setsebool -P ftp_home_dir on


修改防火墙  ------
  防火墙设置: (需要好好了解一下 firewall) 
  centos7 中 用firewall 替代了 iptables (吐槽一下感觉不同版本的 Linux 都会有或大或小的改变,对于刚入门的(例如 LZ)真的会栽跟头,很打击信心啊)
  
  检查防火墙状态
  firewall-cmd --stat

  临时开放ftp服务
  firewall-cmd --add-service=ftp
  永久开放ftp服务
  firewall-cmd --add-service=ftp --permanent
  关闭ftp服务
  firewall-cmd --remove-service=ftp --permanent


  firewall 开启端口
  firewall-cmd --zone=public --add-port=80/tcp --permanent #添加80端口
  firewall-cmd --zone=public --add-port=3306/tcp --permanent #添加3306端口
  firewall-cmd --zone=public --add-port=8080/tcp --permanent #添加3306端口

  查询端口开放状态
  firewall-cmd --query-port=80/tcp --zone=public #查询80端口是否开启

  查看防火墙状态
  systemctl status firewalld.service
  启动防火墙
  systemctl start firewalld.service
  关闭防火墙
  systemctl stop firewalld.service


chroot设置  -----:

  登录 ftp 时出现错误: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
  在 /etc/vsftpd/vsftpd.conf 文件中, 增加(取消注释)
  chroot_local_user=YES
  chroot_list_enable=YES
  # (default follows)
  chroot_list_file=/etc/vsftpd/chroot_list

  修改用户主目录使其没有写权限 /home/ftp1 :

   chmod a-w /home/ftp1      
  但是出现客户端不能上传文件的错误
  修改用户主目录权限 :

   chmod -R 755 /home/ftp1
  在 /etc/vsftpd/vsftpd.conf 增加
  allow_writeable_chroot=YES

  本地测试 ftp 登录连接:

  ftp localhost

  或 ftp 192.168.191.3 (自己的 ip 地址)

--------------------》 FileZilla , ftp localhost 都连接成功

CentOS7 搭建 FTP 服务器