使用shell指令碼快速搭建ftp伺服器
阿新 • • 發佈:2018-11-21
1、環境:centos7,bash
2、指令碼使用說明:可以在執行指令碼的時候帶上使用者名稱密碼
例如:./script_name ftpuser_name passwd**
#!/bin/bash #設定使用者名稱、密碼預設值 ftp_user_name=ftpuser1 password=12345678 #指定使用者名稱密碼 ftp_user_name=$1 password=$2 #解除安裝ftp,排除干擾 rpm -e vsftpd rm -f /etc/vsftpd/* #安裝ftp yum -y install vsftpd #配置ftp cd /etc/vsftpd/ echo -e "anonymous_enable=NO\n local_enable=YES\n write_enable=YES\n local_umask=022\n dirmessage_enable=YES\n xferlog_enable=YES\n connect_from_port_20=YES\n xferlog_file=/var/log/vsftpd.log\n xferlog_std_format=YES\n ascii_upload_enable=YES\n ascii_download_enable=YES\n #chroot_local_user=YES\n #chroot_list_enable=YES\n #chroot_list_file=/etc/vsftpd/chroot_list\n ls_recurse_enable=YES\n listen=YES\n #listen_ipv6=YES\n pam_service_name=vsftpd\n userlist_enable=NO\n tcp_wrappers=YES\n userlist_deny=NO\n " > vsftpd.conf #新增使用者,排除干擾 userdel $ftp_user_name rm -rf /home/$ftp_user_name useradd -d /home/$ftp_user_name -s /sbin/nologin $ftp_user_name expect << EOF #set timeout 60 spawn passwd $ftp_user_name expect { "新的 密碼:" { send "$password\n"; exp_continue; } "重新輸入新的 密碼:" { send "$password\n"; } } expect eof EOF echo -n $ftp_user_name > /etc/vsftpd/user_list #配置防火牆 firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd --reload #配置SElinux getsebool -a | grep ftp setsebool -P ftpd_full_access on #啟動服務 echo echo "++++++++++++++++++++++準備啟動ftp!!!!!!!!!!!!!" systemctl start vsftpd systemctl status vsftpd
3、手動登入ftp伺服器
①ftp ftp_ip,然後依次輸入使用者名稱和密碼即可登入。
例如:ftp 192.168.100.100
②lftp ftp://user_name:[email protected]_ip:port
例如:lftp ftp://ftp_user1:[email protected]:21
提示:如果lftp沒有安裝,直接通過yum安裝:yum -y install lftp