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 - ...
随机推荐
- mysql 数据类型
1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) mediumint(m) ...
- 请注意,再次记住, centos7,fedora 24中 没有iptables服务, 而使用的firewalld, 也可以安装 iptables-services程序来实现
原来写了一篇文章的, 忘了: http://www.cnblogs.com/bkylee/p/5837481.html 可以用 firewall-cmd 这个命令来管理 防火墙...
- PHP陷阱,一些注意事项
判断的一些注意事项 count(false) > 0 // true count(0) > 0 // true "随便一个字符串" == 0 // true " ...
- 认识Android Service
一.使用Service 1.什么是Service以及Service的配置项: Service是Android组件的一种,派生自android.app.service类.它不提供交互界面,只是在后台运 ...
- http://875880923.iteye.com/blog/1963400
已经接触了一段时间的ACM(详见百度百科)了,每回刷杭电oj的题累了的时候,就喜欢去看Ranklist里面的排名,看看前面的牛人的格言,让自己有一点憧憬.有一天突然好奇杭电上的人做的总题数的数量与人数 ...
- Linux下配置python环境
- js瀑布流 原理实现揭秘 javascript 原生实现
web,js瀑布流揭秘 瀑布流再很久之前流行,可能如我一样入行晚的 ,可能就没有机会去使用.但是这个技术终究是个挺炫酷的东西,花了一个上午来研究,用原生js实现了一个,下面会附上源码,供大家解读. 说 ...
- python之路十五
CSS position 属性 定义和用法position 属性规定元素的定位类型.说明这个属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身 ...
- php关于ob_start('ob_gzhandler')启用GZIP压缩的bug
如果使用ob_start("ob_gzhandler"); 则ob_clean()后面的输出将不显示,这是个bug,可以用ob_end_clean();ob_start(" ...
- c语言内存原理
1.内存寻址由大到小,优先分配内存地址比较大得字节给变量 2.变量越先定义,内存地址就越大 3.取得变量的地址:&变量名 4.输出地址 %p