宝塔有第三方收费脚本,但是需要银子,像本人这种穷鬼不配拥有,只能自己想办法安装使用.
脚本需要服务器分别开放 21 39000-40000 端口.
21 为ftp主动端口;
39000-40000 为ftp被动端口;
日志默认存放到 宝塔web日志目录: /www/wwwlogs
脚本引用 :http://t.zoukankan.com/linyijia-p-13926325.html #略作修改
上脚本
#!/bin/bash #此脚本目前只是为了方便centos7下安装vsftp,其他版本后期集成。 #ftp数据存放目录 # by liwentong 20191219 #ftp主目录 ftp_data=/www/wwwroot/ chcek_friewalld(){ echo"开始检查防火墙设置" systemctlstatusfirewalld|grepruning&>/dev/null if[$?-ne0] then firewall-cmd--add-port=21/tcp--zone=public--permanent firewall-cmd--add-service=ftp firewall-cmd--reload fi if[$?-eq0] then echo"防火墙开启成功" fi useradd-s/sbin/nologinftp } #搭建ftp install_vsftp(){ echo"开始安装vsftp 并且检查环境"yum-yinstallvsftpdlibdb-utils if[$?-ne0] then echo"请检查你的yum源情况,是否出现无法用,可单独在终端执行 yum makecache 测试" exit1 fi #检查防火墙,开放21端口 chcek_friewalld echo"开始配置ftp" mv/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf_bak #配置数据写入到配置文件 cat>/etc/vsftpd/vsftpd.conf<<LWT listen=yes anonymous_enable=no dirmessage_enable=YES xferlog_enable=YES xferlog_file=/www/wwwlogs/vsftpd.log xferlog_std_format=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list chroot_local_user=yes guest_enable=YES guest_username=www user_config_dir=/etc/vsftpd/vsftpd_user_conf pam_service_name=vsftpd.vu allow_writeable_chroot=YES local_enable=YES pasv_enable=YES pasv_min_port=39000 pasv_max_port=40000 LWT read-p"输入ftp用户:"ftp_user if[!-n"$ftp_user"];then ftp_user=abcdef fi read-p"输入ftp用户密码:"ftp_passwd if[!-n"$ftp_passwd"];then ftp_passwd=123456 fi cd/etc/vsftpd echo$ftp_user>/etc/vsftpd/user.txt echo$ftp_passwd>>/etc/vsftpd/user.txt db_load-T-thash-fuser.txtvsftpd_login.db chmod600/etc/vsftpd/vsftpd_login.db touch/etc/pam.d/vsftpd.vu echo"判断此系统是32位操作系统还是64位" #判断centos系统位64位还是32位 xd=`getconf LONG_BIT` if[$xd-eq'64'];then echo"此系统为64位" echo"auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login">/etc/pam.d/vsftpd.vu echo"account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login">>/etc/pam.d/vsftpd.vu else echo"auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login">/etc/pam.d/vsftpd.vu echo"account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login">>/etc/pam.d/vsftpd.vu fi #限制用户切换工作目录 touch/etc/vsftpd/chroot_list echo$ftp_user>>/etc/vsftpd/chroot_list #配置虚拟用户的配置文件 mkdir-p/etc/vsftpd/vsftpd_user_conf cd/etc/vsftpd/vsftpd_user_conf #写入用户权限配置 cat>$ftp_user<<LWT write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES LWT echo"local_root="$ftp_data/$ftp_user>>$ftp_user mkdir-p$ftp_data chown-Rftp:root$ftp_data chmodo+rw$ftp_data mkdir-p$ftp_data/$ftp_user chmod-R777$ftp_data/$ftp_user systemctlrestartvsftpd.service } #创建虚拟用户 create_user(){ ftp_passwd=123456 read-p"输入你要创建的用户名:"ftp_user if[!-n"$ftp_user"];then echo"你没有输入用户名,退出" exit1 else read-p"输入密码:"ftp_pass if[!-n"$ftp_pass"];then echo"密码没有输入,默认123456" else ftp_passwd=$ftp_pass fi fi cd/etc/vsftpd echo$ftp_user>>/etc/vsftpd/user.txt echo$ftp_passwd>>/etc/vsftpd/user.txt db_load-T-thash-fuser.txt/etc/vsftpd/vsftpd_login.db chmod600/etc/vsftpd/vsftpd_login.db echo$ftp_user>>/etc/vsftpd/chroot_list cd/etc/vsftpd/vsftpd_user_conf cat>$ftp_user<<LWTwrite_enable=YES local_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES file_open_mode=0755 ascii_upload_enable=YES ascii_download_enable=YES LWT echo"local_root="$ftp_data/$ftp_user>>$ftp_user mkdir-p$ftp_data/$ftp_user chmod-R777$ftp_data/$ftp_user } echo"输入你要操作的内容" selectvarininstall_vsftpdcreate_userquit do case$varininstall_vsftpd) install_vsftp; ;; create_user) create_user ;; quit) exit1 ;; esac done
执行sh脚本
sudo sh install_vsftpd.sh
安装并输入用户名
登陆并上传测试
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章来源:来自于网络收集。