CentOS 7安装FTP服务器

  • A+
所属分类:linux技术
摘要

Author:thinkDate:2021-11-17添加用户并设置访问的ftp目录其中新增的用户名为ftpuser,密码为123456,vsftpd的数据目录为/ftp_data


Author:think

Date:2021-11-17

安装vsftpd

yum install -y vsftpd 

启动服务并且将服务设置成开机自启

systemctl start vsftpd systemctl enable vsftpd 

配置vsftpd

  • 添加用户并设置访问的ftp目录

    useradd ftpuser -s /sbin/nologin -d /ftp_data && echo "123456"|passwd ftpuser --stdin  

其中新增的用户名为ftpuser,密码为123456,vsftpd的数据目录为/ftp_data

  • 将/ftp_data的所有者修改为ftpuser

    chown ftpuser:ftpuser /ftp_data/ 
  • 备份vsftpd的配置文件

    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 
  • 修改vsftpd.conf配置文件,禁用匿名用户访问ftp服务器

    vim /etc/vsftpd/vsftpd.conf 

    将配置文件中的anonymous_enable=YES修改成anonymous_enable=NO

  • 修改配置文件/etc/pam.d/vsftpd

    #备份配置文件 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak #编辑配置文件 vim /etc/pam.d/vsftpd #将auth required pam_shells.so修改为->auth required pam_nologin.so 

    参考文章:(10条消息) centos7下配置ftp服务器,各种登录异常排查_andy_521521的博客-CSDN博客

  • 重启ftp服务

    systemctl restart vsftpd.service 
  • 查看并修改selinux中有关ftp的配置

    getsebool -a | grep ftp 

    如下显示:

    ftpd_anon_write --> offftpd_connect_all_unreserved --> offftpd_connect_db --> offftpd_full_access --> offftpd_use_cifs --> offftpd_use_fusefs --> offftpd_use_nfs --> offftpd_use_passive_mode --> offhttpd_can_connect_ftp --> offhttpd_enable_ftp_server --> offtftp_anon_write --> offtftp_home_dir --> off 
    #修改配置setsebool -P ftpd_full_access onsetsebool -P tftp_home_dir on #测试时只配置上面`ftpd_full_access`不用配置`tftp_home_dir`也行 

    -P参数为永久开启,CentOS 7开始使用tftp_home_dir代替ftp_home_dir

    参考文章:【Linux/CentOS】Boolean ftp_home_dir is not defined - 霍莉雪特 - 博客园 (cnblogs.com)

  • 配置防火墙

    firewall-cmd --permanent --zone=public --add-service=ftp或firewall-cmd --zone=public --add-port=21/tcp --permanent#重置防火墙配置,使得配置立即生效firewall-cmd --reload 

连接FTP服务器

  • 配置连接参数

    CentOS 7安装FTP服务器

    CentOS 7安装FTP服务器

  • 连接成功之后默认是没有任何文件的

    CentOS 7安装FTP服务器

  • 上传文件进行测试

    CentOS 7安装FTP服务器

    显示能够上传成功

  • 删除文件测试成功之后即可代表FTP服务器安装配置成功。