# Version      : 1.0
# Author : 果子
# Date : -- ::
# Description : 只需要三步即可完成安装
# chmod a+x install_vsftpd.sh
# ./install_vsftpd install_server 安装相关服务
# ./install_vsftpd add_user 配置用户信息
# ./install_vsftpd start 启动服务
# Usage : 在浏览器或计算机地址中输入:ftp://192.168.0.1 即可访问,192.168.0.1为主机地址。
# More : 后续将增加一些安全性控制和批量创建用户
#
#
#!/bin/bash
#set -x #调试用
allow=YES
deny=NO
Sname=vsftpd
VFconf="/etc/vsftpd/vsftpd.conf"
VFstart="/etc/init.d/vsftpd"
VUser="/etc/vsftpd/vuser"
VUCdirectory="/etc/vsftpd/vuconf"
VFpam="/etc/pam.d/vsftpdd"
VFDirectory="/var/www/html"
DB4=db4
DB4UTILS="db4-utils"
DB4DEVEL="db4-devel"
sys_tem="/lib64"
http=apache
#----------主配置文件--------------
main_config()
{
if [ -d $sys_tem ];then
echo "Your system is 64bit"
systems=$sys_tem
else
echo "Your system is 32bit"
systems=/lib
fi
# touch $VFpam
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/g' $VFconf
sed -i 's/#chown_uploads=YES/chown_uploads=NO/g' $VFconf
sed -i 's/#xferlog_file/xferlog_file/g' $VFconf
sed -i 's/#async_abor_enable=YES/async_abor_enable=YES/g' $VFconf
sed -i 's/#ascii_upload_enable=YES/ascii_upload_enable=YES/g' $VFconf
sed -i 's/#ascii_download_enable=YES/ascii_download_enable=YES/g' $VFconf
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/g' $VFconf
sed -i 's/pam_service_name=vsftpd/pam_service_name=vsftpdd/g' $VFconf
{
echo "guest_enable=$allow"
echo "guest_username=$http"
echo "user_config_dir=$VUCdirectory"
echo "virtual_use_local_privs=$allow"
} >> $VFconf
touch $VFpam
{
echo "auth sufficient $systems/security/pam_userdb.so db=$VUser"
echo "account sufficient $systems/security/pam_userdb.so db=$VUser"
} > $VFpam
}
#------------用户配置-----------------------
user_config ()
{
Uname=$
userhome="local_root="
userworld="anon_world_readable_only="
userupload="anon_upload_enable="
usermkdir="anon_mkdir_write_enable="
userothen="anon_mkdir_write_enable="
userwrite="write_enable="
echo -e "\033[31;40m ===Now configure the config file=== \033[0m"
if [ -d $VUCdirectory ];then
echo "The directory $VUCdirectory exsits."
else
mkdir $VUCdirectory
fi
echo "Your want to configure user is :$Uname"
read -p "Please input user home directory(default $VFDirectory)" home_dir
if [ "x$home_dir" != "x" ]
then
VFDirectory=$home_dir
fi
echo "Your home directory is: $VFDirectory"
touch "$VUCdirectory/$Uname" && echo -e "\033[31;40mSuccess to configure file=== \033[0m"
{
echo "$userhome$VFDirectory"
echo "$userwrite$allow"
echo "$userworld$deny"
echo "$userupload$allow"
echo "$usermkdir$allow"
echo "$userothen$allow"
} > $VUCdirectory/$Uname
chown -R $http:$http $VFDirectory
chmod -R $VFDirectory
}
#----------------增加用户---------------------
add_user()
{
echo "start add user..."
while [ ]
do
isok=y
echo -n "Do you want to add user?"
read -p "[Y/N]:" ok
if [ "x$ok" = "x" ]
then
continue
elif [ "x$ok" = "xN" ]
then
echo "=============Finish add user============="
break
fi
isok=$ok
if [ "x$isok" != "xY" ]
then
echo "Error input! please input Y/N "
continue
else
read -p "Input username: " username
read -p "Input userpasswd: " userpasswd
echo "Your username is: $username"
echo "Your userpasswd is: $userpasswd"
{
echo "$username"
echo "$userpasswd"
} >> $VUser
user_config $username
fi
done
db_load -T -t hash -f $VUser $VUser.db
}
#-----------------安装服务---------------------
install_server()
{
rpm -q $Sname
if [ $? -eq ];then
echo "vsftpd service has installed. "
else
yum install -y $Sname
fi
yum -y install "db4*"
}
#------------------------------------------------
case $ in
install_server)
echo "start install $Sname:"
install_server
main_config
;;
add_user)
add_user
;;
restart)
$VFstart restart
;;
start)
$VFstart start
;;
stop)
$VFstart stop
;;
*)
echo "Usage: $0 install_server|add_user|restart|start|stop"
exit
esac
exit

保存为 OneClickFtp.sh

具体操作看开头的注释

CentOS一键ftp的更多相关文章

  1. centos一键优化脚本

    centos一键优化脚本:细节:http://oldboy.blog.51cto.com/2561410/1336488网络状态优化:http://oldboy.blog.51cto.com/2561 ...

  2. centos 安装FTP server详情(转)

    centos 安装FTP server详情 分类: linux 2013-12-27 16:45 227人阅读 评论(0) 收藏 举报 我们这里以安装vsftpd 服务器端为例子: 1.进入到cent ...

  3. Centos 安装 FTP

    安装教程:   基于 CentOS 搭建 FTP 文件服务 搭建完成后,使用windows文件夹访问FTP报错,请确保输入的文件名是否正确,并且您有权访问此文件. 先确认ftp服务正常 修改:   设 ...

  4. centos启用ftp功能

    1.安装vsftpd组件,安装完后,有/etc/vsftpd/vsftpd.conf 文件,用来配置,还有新建了一个ftp用户和ftp的组,指向home目录为/var/ftp,默认是nologin(不 ...

  5. CentOS 安装ftp

    Linux安装ftp组件 1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@bogon ~]# yum -y insta ...

  6. 阿里云centos配置ftp和svn全过程

    1.下载xshell 2.登录centos 3.安装vsftpd [root@xxx]# yum install vsftpd //安装vsftpd [root@xxx]# chkconfig vsf ...

  7. centos架设FTP服务器

    1.安装vsftp在这里,我们架设的是虚拟用户,所谓虚拟用户就是没有使用真实的帐户,只是通过某种手段达到映射帐户和设置权限的目的.yum -y install vsftpd在CentOS中,这样就可以 ...

  8. Centos开启FTP及用户配置

    vsftpd作为FTP服务器,在Linux系统中是非常常用的.下面我们介绍如何在centos系统上安装vsftp. 什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...

  9. centos 安装ftp服务器

    CentOS下搭建FTP服务器简单记录. 1.安装vsftpd yum install vsftpd 2.编辑iptablesvi /etc/sysconfig/iptables -A INPUT - ...

随机推荐

  1. android中导入低版本project可能会遇到的编译问题(转自: Victor@Beijing)

    使用高版本的SDK后再导入以前用低版本的project时,会遇到一些兼容性的问题. (1)Unable to resolve target 'android-5' 因为本机中现在使用的是2.2的SDK ...

  2. 扩展 jquery miniui 组件实现自动查询数据

    主题 之前写过一篇文章分享了公司basecode查找数据后台是怎么实现的(http://www.cnblogs.com/abcwt112/p/6085335.html).今天想分享一下公司前台是怎么扩 ...

  3. 计算机常用dos命令

    一.简单的dos命令 win+R ------打开"运行"窗口 cmd ------回车进入"dos"命令窗口 ipconfig ------查看本机ip地址 ...

  4. webSphere内存溢出

    有一个做了很长时间的项目,是用websphere做生产环境的,可是一旦加载的项目过多,webSphere就很傲娇的内存溢出,这是一个折腾了公司里某个前辈很久很久的问题,因为是测试版,所以各种官方文档说 ...

  5. mybase 用户教程

    一.安装.卸载 1.安装 在Mac OS X环境下,可通过打开下载的.dmg文件,再把myBase图标拖到应用程序文件夹即可安装.然后通过双击程序图标运行程序 2.卸载 对于Mac OS X,把myB ...

  6. 【JSP错误总结】无法访问jsp页面

    运行环境:window 7 64位  JSP服务器 tomcat 7 现象:无法访问JSP页面,如下图所示:

  7. Tomcat服务器配置以及相关配置文件介绍

    摘自:http://blog.163.com/ny_lonely/blog/static/18892427320136925044357/ context.xml 文件   配置属性说明     用于 ...

  8. Ubuntu虚拟机中断后重启网络断接错误解决方案

    因为该死的windows自动更新,所以vmplayer经常会被强制关闭. 但重新启动后,会发生不能连接到网络的情况显示: waiting for the network configuration…… ...

  9. javascript实用技巧、javascript高级技巧

    字号+作者:H5之家 来源:H5之家 2016-10-31 11:00 我要评论( ) 三零网提供网络编程. JavaScript 的技术文章javascript实用技巧.javascript高级技巧 ...

  10. 获取Unity3D虚拟摄像机的图像

    最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents   ------------------------------------------ ...