Centos7下搭建FTP服务器(虚用户访问)

1.安装FTP服务:#yum install -y vsftpd

2.启动服务:systemctl start vsftpd.service

3.设置服务开机启动:systemctl enable vsftpd.service

4.修改配置文件中以下配置项:

  #vim /etc/vsftpd/vsftpd.conf  

#服务器独立运行

listen=YES

#设定不允许匿名访问

anonymous_enable=NO

#设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问

local_enable=YES

#使用户不能离开主目录

#chroot_list_enable=YES

 

# 是否允许递归查询。默认为关闭,以防止远程用户造成过量的I/O

#ls_recurse_enable=YES

 

# 掩码,本地用户默认掩码为077

# 你可以设置本地用户的文件掩码为缺省022,也可根据个人喜好将其设置为其他值

local_umask=022

 

# 设置虚拟用户本地权限

#virtual_use_local_privs=NO

# 表示用户可以浏览FTP目录和下载文件

# anon_world_readable_only=NO

# 表示用户可以上传文件

#anon_upload_enable=YES     

#max_clients=5000

max_per_ip=0

use_sendfile=NO

#设定支持ASCII模式的上传和下载功能

# ascii_upload_enable=YES

# ascii_download_enable=YES

#PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证

pam_service_name=vsftpd

#设定启用虚拟用户功能

guest_enable=YES

#指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了

guest_username=ftp

#设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)

user_config_dir=/etc/vsftpd/vuser_conf

#配置vsftpd日志(可选)

xferlog_enable=YES

#xferlog_std_format=YES

log_ftp_protocol=YES

xferlog_file=/var/log/xferlog

dual_log_enable=YES

vsftpd_log_file=/var/log/vsftpd.log

 

# 

connect_timeout=3000

data_connection_timeout=12000

 

##############

#  配置PASV模式

##############

#开启PASV模式

pasv_enable=YES

#最小端口号

pasv_min_port=40000

#最大端口号

pasv_max_port=45000

pasv_promiscuous=YES

 

allow_writeable_chroot=YES

 

5.配置迁移脚本

# vim /etc/vsftpd/vsftpd_conf_migrate.sh

 

 

#!/bin/bash

#move old config files and symlink them

#shipped with vsftpd-2.0.1-6

PREFIX="vsftpd"

for file in $( ls /etc/${PREFIX}.* ); do

    if [ ! -L $file ]; then

        new=`echo $file | sed s/${PREFIX}\./${PREFIX}\\\\//g | sed s/\.rpmsave//g`

        mv -f ${file} ${new}

ln -s ${new} ${file}

echo $file moved to $new

    fi

done

 

# chmod +x /etc/vsftpd/vsftpd_conf_migrate.sh

 

6.添加用户

#vim /etc/vsftpd/vuser_passwd.txt

testuser

testpassword

 

7.生成数据库

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

 

8.配置用户信息

# mkdir uvser_conf

# cd vuser_conf

# vim testuser

 

local_root=/data/ftp/pingan/

write_enable=YES

anon_umask=002

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

# 掩码,本地用户默认掩码为077

# 你可以设置本地用户的文件掩码为缺省022,也可根据个人喜好将其设置为其他值

local_umask=022

# 设置虚拟用户本地权限

#virtual_use_local_privs=No

# 表示用户可以浏览FTP目录和下载文件

#anon_world_readable_only=NO

# 表示用户可以上传文件

anon_upload_enable=YES

 

# Disable delete commands

#cmds_denied=DELE,RMD

 

9.配置登陆信息

# vim /etc/pam.d/vsftpd

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

 

10.设置SELINUX

setsebool -P ftpd_full_access on

 

11.重启服务

# systemctl restart vsftpd.service

 

posted on 2019-03-20 14:29  **小君哥**  阅读(284)  评论(0编辑  收藏  举报

导航