linux系统脚本配置ftp服务器


[[email protected] test]# vim vsftp_home.sh

#############################################
#####   date    2017-09-10
#####   name    ftp服务器
#####   anth    joker
#############################################
#!/bin/bash
. /root/test/vsftp_function.sh
while true
do
        #clear
        cat<<-eof
        *************************************
        ***        不要重复操作           ***
        *************************************
        ****    1       安装ftp服务
        ****    2       配置临时ftp服务器
        ****    3       配置企业ftp服务器
        ****    4       配置虚拟ftp服务器
        ****    5       退出
        *************************************
        eof
#选择
        read -p "请输入您的选择 [1-5]:" CHOISE
        case $CHOISE in
        1)
                install_ftp
        ;;
        2)
                install_provisional_server
        ;;
        3)
                install_enterprise_server
        ;;
        4)
                install_Virtualaccount_server
        ;;
        5)
                exit 520
        ;;
        esac
done

[[email protected] test]# vim vsftp_function.sh

####检查服务,安装服务函数
install_ftp(){
        service vsftpd status &>/dev/null
#       STATE1=`service vsftpd status | awk ‘{print $3}‘`
        case $? in
        0)
                echo "FTP服务已经安装,正在检查服务是否启动......"
                STATE1=`service vsftpd status | awk ‘{print $3}‘`
                if [ $STATE1 == "stopped"  ];then
                        /etc/init.d/vsftpd start
                         STATE2=`service sshd status|awk -F"[ .]+" ‘{print $5}‘`
                        if [ $STATE2 == "running" ];then
                                echo "服务已经启动......"
                        else
                                echo "请检查服务"
                        fi
                else
                        echo "服务已经启动......"
                fi

;;
        1)
                yum -y install vsftpd lftp

esac
}

####配置临时ftp服务器
install_provisional_server(){
        SOURCE=/etc/vsftpd/vsftpd.conf
        sed -i ‘s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/‘ $SOURCE
        sed -i ‘s/#anon_upload_enable=YES/anon_upload_enable=YES/‘ $SOURCE
        chown ftp.ftp /var/ftp/pub
        /bin/ls /var/ftp/xuegoddate
        if [ $? -ne 0 ];then
                mkdir /var/ftp/xuegoddate
        else
                echo "已经存在"
        fi
        chown ftp.ftp /var/ftp/xuegoddate
        service vsftpd restart
}

##配置系统账号FTP服务器
install_enterprise_server(){
#添加两个账户
        for i in ` cat /etc/passwd|awk -F: ‘{print $1}‘`
        do
                if [ $i != "team1" ];then
                        useradd -s /sbin/nologin team1
                        echo "123456"|passwd --stdin team1
                fi
                if [ $i != "team2" ];then
                        useradd -s /sbin/nologin team2
                        echo "123456"|passwd --stdin team2
                fi
        done &>/dev/null
#配置vsftpd.conf配置文件
        SOURCE=/etc/vsftpd/vsftpd.conf
        sed -i ‘s/anonymous_enable=YES/anonymous_enable=NO/‘ $SOURCE
        sed -i ‘s/#chroot_list_enable=YES/chroot_list_enable=YES/‘ $SOURCE
        sed -i ‘[email protected]#chroot_list_file=/etc/vsftpd/[email protected]_list_file=/etc/vsftpd/[email protected]‘ $SOURCE
        echo "local_root=/var/www/html">>$SOURCE
#配置chroot_list文件
        echo -e "team1\nteam2">/etc/vsftpd/chroot_list
#       echo "team2">>/etc/vsftpd/chroot_list
#查看/var/www/html是否存在
        ls /var/www/html
        if [ $? -ne 0 ];then
                mkdir -p /var/www/html
        else
                echo "已经存在!!"
        fi
        chmod -R o+w /var/www/html
        service vsftpd restart
}

##创建虚拟账号ftp服务器
install_Virtualaccount_server(){

#创建用户数据库
        echo -e "commuser\n123456\nvipuser\n123456">/etc/vsftpd/vsftpd_virtualuser.txt
        which db_load
        if [ $? -ne 0 ];then
                yum install -y db
        fi
        chmod 600 /etc/vsftpd/vsftpd_virtualuser.db

#配置PAM
        cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.`date +%F`.bak
        >/etc/pam.d/vsftpd
        echo "auth      required        /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_virtualuser">>/etc/pam.d/vsftpd
        echo "account   required        /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_virtualuser">>/etc/pam.d/vsftpd
#创建虚拟账号对应的系统账号
        for i in ` cat /etc/passwd|awk -F: ‘{print $1}‘`
        do
                if [ $i != "ftpuser" ];then
                        useradd -d /var/ftp/share ftpuser
                        chmod -R 500 /var/ftp/share
                fi
                if [ $i != "ftpvip" ];then
                        useradd -d /var/ftp/vip ftpvip
                        chmod -R 700 /var/ftp/vip
                fi
        done &>/dev/null

#配置主文件
        SOURCE=/etc/vsftpd/vsftpd.conf
        sed -i ‘s/anonymous_enable=YES/anonymous_enable=NO/‘ $SOURCE
        sed -i ‘s/local_enable=YES/local_enable=YES/‘ $SOURCE
        echo "user_config_dir=/etc/vsftpd/vuserconfig">>$SOURCE
        echo "max_clients=300">>$SOURCE
        echo "max_per_ip=10">>$SOURCE

#建立虚拟账号配置文件
        mkdir /etc/vsftpd/vuserconfig
        touch /etc/vsftpd/vuserconfig/commuser
        touch /etc/vsftpd/vuserconfig/vipuser
        echo -e "guest_enable=yes\nguest_username=ftpuser\nanon_world_readable_only=no\nanon_max_rate=50000">/etc/vsftpd/vuserconfig/commuser
        echo -e "guest_enable=yes\nguest_username=ftpvip\nanon_world_readable_only=no\nwrite_enable=yes\nanon_mkdir_write_enable=yes\nanon_upload_enable=yes\nanon_max_rate
=100000">/etc/vsftpd/vuserconfig/vipuser
        service vsftpd restart

}

时间: 2024-10-21 05:01:48

linux系统脚本配置ftp服务器的相关文章

VMware 中linux系统上搭载ftp服务器

本文讲述最基本vsftp搭载方法,另有yum命令快速安装另外深究 1.下载安装VMWare,安装linux系统 2.获取vsftpd安装包 安装盘的packages包里面找到所需vsftp组件,复制到linux目录下 使用命令:rpm -vih rpm文件名 安装vsftpd 3.使用su 命令进入root用户,使用adduser test,passwd test添加同户名密码 4.在windows dos 下使用ftp ip 访问linux下的ftp服务会发现无法访问ftp 这是因为Linux

Linux虚拟机上搭建ftp服务器

Linux虚拟机上搭建ftp服务器 实验介绍:本文主要介绍在虚拟机的Linux系统上搭建ftp服务器,并且最终可以在另外一台win7虚拟机中能够正常上传和下载文件,并建立访问用户的黑白名单,以及虚拟账户功能. 1.首先打开Linux虚拟机,配置IP地址,本文的Linux的IP地址为192.168.1.16/24,直接通过系统光盘自带的vsftpd软件包安装.(前提是已经挂载了光盘镜像文件) 2.安装成功后,开启vsftpd服务,在win7虚拟机上(IP地址192.168.1.100)就可以访问L

Windows Server 2003 下如何安装及配置 FTP 服务器(转)

Windows Server 2003 下如何安装及配置 FTP 服务器 一.安装 FTP 服务器组件: 写在这里的一点 : 安装及配置 FTP 服务器之前 , 必须先手工配置服务器本身的 IP 地址 ( 因为 服务器本身的 IP 地址一定要是静态的 ). 本文分步介绍了如何在独立服务器上配置一台基于 Windows Server 2003 的文件传输 协议 (FTP) 服务器,以便为网络上的客户端计算机提供资源的传输和访问. FTP 服务 组件是 2003 系统中的 IIS 6.0 集成的网络

Linux学习之八-配置FTP连接Linux服务器

配置ftp连接Linux服务器 通过配置ftp服务器,可以实现局域网内共享文件,甚至不同用户具有不同权限,需要的工具有Windows平台ftp客户端FileZilla(免费开源) 下载地址:https://download.filezilla-project.org/client/FileZilla_3.32.0_win64-setup_bundled.exe 登录到Linux服务器端,安装ftp服务端yum install vsftpd –y 启动ftp服务端/etc/init.d/vsftp

LINUX下如何开启FTP服务器

redhat 下开启FTP(已安装FTP服务器) [[email protected] init.d]# /etc/rc.d/init.d/vsftpd status vsftpd (pid 29792) is running... 以下是架设FTP服务器~~参考网址 http://hi.baidu.com/wanhaipeng/blog/item/b47e9582d99d56bc6d81190c.html Red Hat Linux下架设FTP服务器 !!! 现如今越来越多的人选择了开源的Li

Linux中搭建一个ftp服务器详解

来源:Linux社区  作者:luzhi1024 详解Linux中搭建一个ftp服务器. ftp工作是会启动两个通道:控制通道 , 数据通道在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)PORT模式:在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21)  发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ft

Ubuntu安装和配置ftp服务器

习惯向服务器上传文件时使用scp命令,简单又安全,但是Wordpress的升级机制需要在使用ftp访问方式,所以只好在VPS下配置ftp服 务器,Linux下配置ftp服务器可以选用vsftp和wu-ftp,两者各有优势.个人比较推荐vsftp,除了中文乱码问题. VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全. Wu-Ftpd全称是Washington University FTP,

用三种不同的方法访问Linux系统上的FTP服务过程详解

今天向大家介绍一下,如何在Linux上配置ftp服务,并且使用三种不同的方式访问Linux系统上的FTP服务. 实验环境:一台windows7系统虚拟机,一台Linux系统虚拟机. 实验目的:搭建FTP文件传输服务,并进行匿名访问.虚拟用户访问和本地用户验证. 匿名访问用户名为ftp或anonymous,提供任意密码(包括空密码)都可以通过服务器认证 安装软件包,关闭防火墙和关闭selinux功能. 在ftp服务中创建一个wen.txt文件 测试(window7) 匿名登录ftp服务 从ftp服

在Linux中搭建一个FTP服务器

在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/ftp/ftp2. 两个小组互相不能访问各自的文件,需要限制用户不能离开自己的工作目录. [实现步骤] 1.检查安装vsftpd服务器 以root进入终端后(其他账户进入终端的可以用su root 输入密码后进入root 模式)之后,在终端命令窗口输入以下命令进行验证:# rpm –qa | grep