AI智能
改变未来

shell脚本一键安装与配置ftp


一键安装ftp,不允许匿名用户访问。配置系统用户student访问指定目录/mnt/pub,并且对/mnt/pub/FTP这个目录具有上传、新建、删除的权限,系统用户stu1只具有下载的权限,配置完成后,重启服务,并在客户端进行测试

编写思路

  1. FTP配置文件的配置项/etc/vsftpd/vsftpd.conf
    12 anonymous_enable=YES 改为 NO 拒绝匿名用户访问
    16 local_enable=YES 允许系统用户访问
    19 write_enable=YES 允许写入
    20 local_root=/mnt/public/ 指定FTP的主目录为/mnt/public
    21 chroot_local_user=YES 只允许系统用户访问指定的主目录
    22 allow_writeable_chroot=YES 允许写入
  2. 判断/mnt/public目录是否存在,如果不存在则:mkdir /mnt/public/FTP
  3. 新建两个用户:student stu1
  4. 给student用户权限:chown student /mnt/public/FTP
  5. 判断是否安装?如果没有安装则:yum install vsftpd ftp -y
  6. 修改配置文件:
    sed -i ‘s/ anonymous_enable=YES/anonymous_enable=NO/g’ /etc/vsftpd/vsftpd.conf
    sed -i ‘19alocal_root=/mnt/public/\\nchroot_local_user=YES\\nallow_writeable_chroot=YES’ /etc/vsftpd/vsftpd.conf
  7. 启动服务
#!/bin/bash#-----------------------------------------------------------------#安装vsftpd-------------------------------------------vsftpd=/etc/vsftpd/vsftpd.confrpm -qa | grep \"vsftpd\"if [ $? -eq 1 ]then yum install -y vsftpd ftp &> /tmp/vsftpd_installif [ $? -eq 0 ]then echo \"vsftpd安装成功!\"else echo \"vsftpd安装失败,请查看/tmp/vsftpd_install\"fifi#配置VSFTPD配置文件-------------------------------ftp_path=/etc/vsftpd/ftp_config=/etc/vsftpd/vsftpd.confcp $ftp_config  ${ftp_path}vsftpd.conf.baksed -i \'/anonymous_enable/s/YES/NO/g\' $ftp_configsed -i \'/local_enable/s/NO/YES/g\' $ftp_configsed -i \'19a local_root=/mnt/public/\' $ftp_configsed -i \'20a chroot_local_user=YES\' $ftp_configsed -i \'21a allow_writeable_chroot=YES\' $ftp_configpub=/mnt/pub/FTP=${pub}FTP/[ -e $pub ] || mkdir -p $pub[ -e $FTP ] || mkdir -p $FTPi=`cat /etc/passwd | grep student: |wc -l`[ $i -eq 1 ] || useradd studenti=`cat /etc/passwd | grep stu1: |wc -l`[ $i -eq 1 ] || useradd stu1chown student  $FTPsystemctl restart vsftpd
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » shell脚本一键安装与配置ftp