CentOS6一键安装vsftp脚本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS6一键安装vsftp脚本相关的知识,希望对你有一定的参考价值。
如果你想在你的Linux服务器上搭建一个安全、高性能、稳定性好的FTP服务器用于服务器文件管理,那么vsftpd可能是你的首选应用。
下面我分享一个vsftp的一键安装脚本,以/data/www为根目录,www用户拥有目录读写权限为例。
一,使用方式
1,安装vsftp
sh auto_install_vsftp.sh install
2,新建ftp用户
sh auto_install_vsftp.sh useradd user password
二,auto_install_vsftp.sh脚本内容
#!/bin/sh #author: vim #qq:82996821 #filename: auto_install_vsftp.sh users=/etc/vsftpd/vftpuser.txt login=/etc/vsftpd/vftpuser.db generate_db="db_load -T -t hash -f $users $login" virtual_user_config=/etc/vsftpd/vuser_conf #ftp目录 virtual_user_home=/data/www #拥有ftp目录权限的用户 guest_username=www #Source function library . /etc/rc.d/init.d/functions install_vsftpd(){ setenforce 0 yum -y install db4-utils yum -y install vsftpd chkconfig vsftpd on useradd -s /sbin/nologin ${guest_username} mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak cat >/etc/vsftpd/vsftpd.conf<<EOF anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES pasv_enable=YES pasv_min_port=65000 pasv_max_port=65006 xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list pam_service_name=vsftpd guest_enable=YES guest_username=${guest_username} user_config_dir=/etc/vsftpd/vuser_conf EOF mkdir /etc/vsftpd/vuser_conf mkdir /etc/vsftpd/chroot_list #i386 32位系统打开下列两行 #echo ‘auth required pam_userdb.so db=/etc/vsftpd/vftpuser‘ > /etc/pam.d/vsftpd #echo ‘account required pam_userdb.so db=/etc/vsftpd/vftpuser‘ >> /etc/pam.d/vsftpd #X64 64位系统打开下列两行 echo ‘auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser‘ > /etc/pam.d/vsftpd echo ‘account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser‘ >> /etc/pam.d/vsftpd touch /etc/vsftpd/vftpuser.txt service vsftpd start [ $? -eq 0 ]&&action $"Install vsftp:" /bin/true||action $"Install vsftp:" /bin/false #开启防火墙,21连接端口,65000-65006为被动模式数据传输端口 iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 65000:65006 -j ACCEPT iptables-save >/etc/sysconfig/iptables } add_user(){ not_enough_parameter=56 retval=0 if [ "$#" -ne 2 ]; then echo "usage:`basename $0` <useradd> <user_name> <password>." exit $not_enough_parameter fi if grep -q "$1" "$users"; then passwd=$(sed -n "/$1/{n;p;}" "$users") if [ "$passwd" = "$2" ]; then echo "the user $1 already exists." exit $retval else echo "updating $1‘s password ... " sed -i "/$1/{n;s/$passwd/$2/;}" "$users" eval "$generate_db" exit $retval fi fi for i in "$1" "$2" do echo "$i" >> "$users" done eval "$generate_db" cat >> "$virtual_user_config"/"$1" <<EOF #local_root=$virtual_user_home/$1 local_root=$virtual_user_home write_enable=YES download_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_umask=022 EOF #mkdir "$virtual_user_home"/"$1" #chown $guest_username "$virtual_user_home"/"$1" chown $guest_username "$virtual_user_home" echo "==========$users============" cat $users } case "$1" in ‘install‘) install_vsftpd ;; ‘useradd‘) add_user $2 $3 ;; *) echo "usage: $0 {install|useradd}" exit 1 ;; esac
本文出自 “我在,我执。” 博客,请务必保留此出处http://66332211.blog.51cto.com/6002782/1982023
以上是关于CentOS6一键安装vsftp脚本的主要内容,如果未能解决你的问题,请参考以下文章
httpd 一键编译安装脚本(centos6&7_httpd2.2&2.4)