centos7.9 ftp 搭建
脚本使用介绍:
- 执行脚本根据提示输入ftp密码即可
- 默认目录/data/ftp ,如需更改修改脚本第三行:ftp_dir='/data/ftp' 将/data/ftp替换
- 默认用户名ftpuser 如需更改,修改脚本第四行
部署完成配置文件默认设置为只能ftp用户访问ftp服务,只允许访问ftp目录不能访问其他路径。需要修改查看配置文件进行修改配置。
#!/bin/bash #设置ftp目录 ftp_dir='/data/ftp' ftp_user='ftpuser' if command -v vsftpd &> /dev/null;then echo "vsftpd 已经安装,版本信息如下:" vsftpd -version else echo "vsftpd 未安装,正在进行安装..." setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config sudo yum install vsftpd -y mkdir -p $ftp_dir useradd -d /data/ftp -s /sbin/nologin $ftp_user echo "设置ftp用户密码" passwd $ftp_user firewall-cmd --permanent --zone=public --add-service=ftp firewall-cmd --reload cat >/etc/vsftpd/vsftpd.conf<<EOF # 禁止匿名访问 anonymous_enable=NO # 允许本地用户登录 local_enable=YES # 允许用户写入 write_enable=YES # 限制用户只能在自己的主目录中访问文件 chroot_local_user=YES allow_writeable_chroot=YES # 设置FTP根目录为/data/ftp local_root=$ftp_dir # 阻止用户离开主目录 userlist_enable=NO chroot_list_file=/etc/vsftpd/chroot_list pam_service_name=vsftpd #日志
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
use_localtime=YES
EOF
echo "/sbin/nologin" >> /etc/shells usermod -s /sbin/nologin $ftp_user chown -R $ftp_user:$ftp_user $ftp_dir systemctl enable vsftpd.service systemctl start vsftpd.service systemctl status vsftpd.service if [ $? -eq 0 ];then echo "安装完成!" else echo "安装失败!" fi fi