#!/bin/bash
# 2024-12

[ $(id -u) -eq 0 ] || echo "需要用root用户操作!"
[ $(id -u) -eq 0 ] || exit 4;

#获取脚本根目录，并设为只读
readonly INITDIR=$(cd $(dirname $0); dirname "$PWD")

echo "====FTP开始安装======="
#检查是否已经安装
rpm -aq | grep vsftp &> /dev/null && rpm -e --nodeps `rpm -aq | grep vsftp`

#安装
yum install -y vsftpd
sed -i 's/pam_shells.so/pam_nologin.so/g' /etc/pam.d/vsftpd
systemctl start vsftpd &> /dev/null
vsftpd_start=$?
if [ $vsftpd_start -eq 0 ]; then
  \cp -f $INITDIR/file/ftp/vsftpd.conf /etc/vsftpd/vsftpd.conf
  [ -e /etc/vsftpd/chroot_list ] && rm -f /etc/vsftpd/chroot_list
  touch /etc/vsftpd/chroot_list
  #建立用户
  id -u admin &> /dev/null && userdel -rf admin
  useradd -d /var/ftp/public_root -g ftp -s /sbin/nologin admin
  echo "zwclbsf3" | passwd --stdin admin &> /dev/null
  #建议目录及验证
  [ -e /var/ftp/public_root/f3_video ] && \rm -rf /var/ftp/public_root/f3_video
  [ -e /var/ftp/public_root/ADAS ] && \rm -rf /var/ftp/public_root/ADAS
  mkdir -p /var/ftp/public_root/{f3_video,ADAS}
  chown -R admin:ftp /var/ftp/public_root
  chmod -R 755 /var/ftp/public_root
  systemctl restart vsftpd
  systemctl enable vsftpd
  echo "vsftp安装程序成功,及配置完成！"
else 
  echo -e "\033[5;31mvsftp安装程序失败.退出\033[0m"
fi
