ftp伺服器搭建-el.7
阿新 • • 發佈:2021-06-28
1、上傳vsftpd的rpm包
、ftp.sh
至任意路徑;
2、用root使用者執行ftp指令碼,具體如下:
[root@localhost ~]# bash ftp.sh ${ftp使用者} ${ftp密碼} ${被動模式最小埠號} ${被動模式最大埠號}
# 示例:
[root@localhost ~]# bash ftp.sh ftp 123456 60000 61000
cat ftp.sh
#!/bin/bash ftpuser=$1 ftppasswd=$2 minport=$3 maxport=$4 file=/etc/vsftpd/vsftpd.conf if ! rpm -q vsftpd &>/dev/null;then rpm -ivh vsftpd-*.rpm fi useradd -d /var/$ftpuser -s /bin/bash -m $ftpuser echo "$ftppasswd" | passwd $ftpuser --stdin setfacl -m d:u:$ftpuser:rwx /var/$ftpuser setfacl -m d:g:$ftpuser:rwx /var/$ftpuser cat /dev/null > /etc/vsftpd/ftpusers echo "$ftpuser" > /etc/vsftpd/user_list sed -i 's/^anonymous_enable=.*$/anonymous_enable=NO/' $file sed -i 's/^listen=.*$/listen=YES/' $file sed -i 's/^listen_ipv6=\(.*$\)/#listen_ipv6=\1/' $file cat >> $file << EOF userlist_deny=NO userlist_enable=YES local_root=/var/$ftpuser pasv_enable=YES pasv_min_port=$minport pasv_max_port=$maxport EOF if ! systemctl status firewalld &>/dev/null; then systemctl stop firewalld fi if systemctl status vsftpd &>/dev/null; then systemctl restart vsftpd else systemctl start vsftpd fi systemctl status vsftpd