使用shell脚本快速搭建ftp服务器
程序员文章站
2022-06-20 09:03:35
...
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
上一篇: HugeGraph 多图配置
下一篇: 怎么做西红柿吃了不会胖还可以减肥