centos系统安装 ftp

rpm包下载地址:Index of /6.8/os/x86_64/Packages
第一步安装ftp  server和client端 对应pm包
rpm -ivh  vsftpd-2.2.2-11.el6.x86_64.rpm
rpm -ivh ftp-0.17-54.el6.x86_64.rpm

第二步修改配置文件
vi /etc/vsftpd/vsftpd.conf 
anonymous_enable=NO  改成no
chroot_local_user=YES 去注释

修改ftp默认21端口
vi /etc/vsftpd/vsftpd.conf
listen_port=9021
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
pasv_promiscuous=YES

修改   vi /etc/selinux/config 文件  
改成  
SELINUX=disabled

执行  setenforce 0

第三步添加防火墙端口
firewall-cmd --zone=public --add-port=9021/tcp --permanent

firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent
firewall-cmd --reload
systemctl  restart firewalld

保存
 

第四步创建ftp用户
useradd -s  /sbin/nologin -d  /data/ftp  mapabc      

mapab是用户名 /data/ftp 是家目录
修改密码
passwd mapabc          一般设置和用户名一样 

然后给家目录修改权限,否则你无法上传文件
chmod o+w /data/ftp

chown  mapabc ftp

重启ftp   
service vsftpd restart
设置开机启动
chkconfig vsftpd on

第五步错误排查

ftp登陆时报错,530 Login incorrect.Login failed.

1.cat /etc/passwd,查看你登陆的账户主目录和登陆shell对应的是什么,我的是/sbin/nologin
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
2.查看cat /etc/shells是否有你用户的主目录和登陆shell,没有进行添加,保存,退出

添加  /sbin/nologin这行
 

在这里插入图片描述

重启ftp   
service vsftpd restart

重新登录

在这里插入图片描述

下面追加一键自动安装脚本

本人使用的服务器大都情况不能直接连外网,提前下载rpm包

将rpm 包上传至 /home/ftpinstall 目录,使用以下脚本自动安装

#!/usr/bin/bash

function  changeConfig{
# 修改配置
        sed -i '/^SELINUX=/cSELINUX=disabled'  /etc/selinux/config
        setenforce 0

# 修改 vsftpd.conf 配置
        sed -i '/^anonymous_enable=YES/canonymous_enable=no'  /etc/vsftpd/vsftpd.conf
        sed -i '/^#chroot_local_user=YES/cchroot_local_user=YES'  /etc/vsftpd/vsftpd.conf
        sed -i '$a\use_localtime=YES'  /etc/vsftpd/vsftpd.conf
        sed -i '$a\reverse_lookup_enable=NO' /etc/vsftpd/vsftpd.conf

# 修改ftp 端口
        sed -i  '$a\listen_port=9021'  /etc/vsftpd/vsftpd.conf
        sed -i  '$a\pasv_enable=YES'  /etc/vsftpd/vsftpd.conf
        sed -i  '$a\pasv_min_port=30000'  /etc/vsftpd/vsftpd.conf
        sed -i  '$a\pasv_max_port=30999'  /etc/vsftpd/vsftpd.conf
        sed -i  '$a\pasv_promiscuous=YES'  /etc/vsftpd/vsftpd.conf
        service vsftpd restart
# 添加防火墙端口
        status=$( systemctl status firewalld.service | grep Active | awk  '{print $2}' )
        if (( $status==active ));then
                echo "防火墙状态开启"
                 firewall-cmd --zone=public --add-port=9021/tcp --permanent
                firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent
                firewall-cmd --reload
                systemctl  restart firewalld
        else
                  echo "防火墙状态关闭"

        fi


# 创建 ftp 家目录
        mkdir -p  /data/ftphome
        useradd -s  /sbin/nologin -d  /data/ftphome  ftpuser
        echo 'ftpuser'| passwd --stdin ftpuser
       sed -i  '$a\/sbin/nologin'  /etc/shells
#然后给家目录修改权限,否则你无法上传文件
        chmod o+w /data/ftphome
        cd /data
        chown  ftpuser ftphome


# 重启ftp 并设置开机自启动

        service vsftpd restart
        chkconfig vsftpd on


}
#判断vsftpd 有无安装
    rpm -qa vsftpd >/home/ftpinstall/a.txt
    if [ -s /home/ftpinstall/a.txt ];then
         echo "vsftpd 已经安装"
         rm -rf /home/ftpinstall/a.txt
    else
      cd /home/ftpinstall
        rpm -ivh   vsftpd-2.2.2-11.el6.x86_64.rpm
        sleep 3
        changeConfig
    fi

   rpm  -qa ftp >/home/ftpinstall/b.txt
    if [ -s /home/ftpinstall/b.txt ];then
         echo "ftp 客户端 已经安装"
         rm -rf /home/ftpinstall/b.txt
    else
      cd /home/ftpinstall
    rpm -ivh   ftp-0.17-54.el6.x86_64.rpm
    sleep 3
     changeConfig
    fi

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值