一键安装ftp,不允许匿名用户访问。配置系统用户student访问指定目录/mnt/pub,并且对/mnt/pub/FTP这个目录具有上传、新建、删除的权限,系统用户stu1只具有下载的权限,配置完成后,重启服务,并在客户端进行测试
编写思路
- 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 允许写入
- 判断/mnt/public目录是否存在,如果不存在则:mkdir /mnt/public/FTP
- 新建两个用户:student stu1
- 给student用户权限:chown student /mnt/public/FTP
- 判断是否安装?如果没有安装则:yum install vsftpd ftp -y
- 修改配置文件:
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
- 启动服务
#!/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