CentOS一键ftp
# 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的更多相关文章
- centos一键优化脚本
centos一键优化脚本:细节:http://oldboy.blog.51cto.com/2561410/1336488网络状态优化:http://oldboy.blog.51cto.com/2561 ...
- centos 安装FTP server详情(转)
centos 安装FTP server详情 分类: linux 2013-12-27 16:45 227人阅读 评论(0) 收藏 举报 我们这里以安装vsftpd 服务器端为例子: 1.进入到cent ...
- Centos 安装 FTP
安装教程: 基于 CentOS 搭建 FTP 文件服务 搭建完成后,使用windows文件夹访问FTP报错,请确保输入的文件名是否正确,并且您有权访问此文件. 先确认ftp服务正常 修改: 设 ...
- centos启用ftp功能
1.安装vsftpd组件,安装完后,有/etc/vsftpd/vsftpd.conf 文件,用来配置,还有新建了一个ftp用户和ftp的组,指向home目录为/var/ftp,默认是nologin(不 ...
- CentOS 安装ftp
Linux安装ftp组件 1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@bogon ~]# yum -y insta ...
- 阿里云centos配置ftp和svn全过程
1.下载xshell 2.登录centos 3.安装vsftpd [root@xxx]# yum install vsftpd //安装vsftpd [root@xxx]# chkconfig vsf ...
- centos架设FTP服务器
1.安装vsftp在这里,我们架设的是虚拟用户,所谓虚拟用户就是没有使用真实的帐户,只是通过某种手段达到映射帐户和设置权限的目的.yum -y install vsftpd在CentOS中,这样就可以 ...
- Centos开启FTP及用户配置
vsftpd作为FTP服务器,在Linux系统中是非常常用的.下面我们介绍如何在centos系统上安装vsftp. 什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...
- centos 安装ftp服务器
CentOS下搭建FTP服务器简单记录. 1.安装vsftpd yum install vsftpd 2.编辑iptablesvi /etc/sysconfig/iptables -A INPUT - ...
随机推荐
- ubuntu安装/卸载mysql
1.安装mysql root@openstack001:/tmp# apt-get install mysql-server Reading package lists... Done Buildin ...
- ASP.NET 判断客户端是否为手机的函数
http://www.cnblogs.com/cxd4321/p/3795911.html
- ThinkPHP Where 条件中使用表达式
本文转自:这里 Where 条件表达式格式为: $map['字段名'] = array('表达式', '操作条件'); 其中 $map 是一个普通的数组变量,可以根据自己需求而命名.上述格式中的表达式 ...
- Spring 的动态数据源实现
1. 配置多个数据源 这里以两个c3p0数据库连接池的数据源作为实例.在Spring框架下使用c3p0的数据库需要加入c3p0-0.9.1.2.jar(现在最新的)这个支持包.这里以数据同步项目为例: ...
- JQuery+Ajax+Struts2+Hibernate 实现完整的登录注册
写在最前: 下午有招聘会,不想去,总觉得没有准备好,而且都是一些不对口的公司,可是又静不下心来,就来写个博客. 最近在仿造一个书城的网站:http://www.yousuu.com ,UI直接拿来用, ...
- java基础 swing编程实战
1. 实现金山词霸,点击左右收缩 效果图: exmaple code : /* * 词霸 * */ package demo7; import java.awt.*; import java.awt. ...
- Android Studio 导出jar包
不像在Eclipse,可以直接导出jar包.AndroidStudio只可以生成aar包. 在网上看到许多朋友问怎么可以像Eclipse一样导出jar包,其实我们只要知道它的原理就可以了. 用jar命 ...
- virtualenv基本操作(windows环境)
1 下载virtualenv pip install virtualenv 2 创建一个virtualenv工作目录 mkdir myproject_env 3 穿件一个python项目 virtua ...
- Google Code Jam 2016 Round 1B B
题意:给出两个数字位数相同,分别中间有若干位不知道,用问号表示.现在要求补全这两个数字,使得差值的绝对值最小,多解则取第一个数字的值最小的,再多解就取第二个数字最小的. 分析: 类似数位dp,但是很多 ...
- Swift 学习中的一点体会,不断更新中。。。
随着Xcode 8的发布,swift 3.0终于来了.又有一大批api名字发生了变化.但是感觉3.0之后的变化应该会小些,因此再重新仔细学习一下. 1. 关于swift引入的Computed Prop ...