- 搭建过程
- 安装 vsftp 服务(yum 安装即可)
- 配置/etc/vsftpd/vsftpd.conf
- anonymous_enable=NO #禁止匿名登录
- local_enable=YES #允许本地用户登录,注意虚拟用户也是映射本地用户登录的
- chroot_local_user=YES #是否将用户禁锢在主目录,一般配合 chroot_list_file和 chroot_list_enable 一起使用。
- local_root=/var/ftp #本地用户 ftp 根目录
- local_umask=022 #ftp 本地用户创建文件的权限掩码)
- xferlog_enable=YES #开启日志记录)
- xferlog_std_format=YES #使用标准 ftp 日志格式
- pasv_enable=YES #(开启被动模式)
- pasv_addr_resolve=YES
- pasv_address=58.251.160.178
- #以上两行支持被动模式 iptables 的 nat 端口映射,欺骗客户端 ftp 服务器地址为 nat 转换后的地址
- #只需在连接外网时使用
- pasv_min_port=10001
- pasv_max_port=10010
- #被动模式端口范围
- listen=YES
- pam_service_name=vsftpd_login #指定 Vsftpd 的 pam 验证配置文件名
- user_config_dir=/etc/vsftpd/users_config #指定虚拟用户配置文件路径
- guest_enable=YES #启用虚拟用户
- guest_username=vftp #指定虚拟用户本地宿主用户
- 新建虚拟用户本地宿主用户
- useradd vftp –d /home/vsftp –s /sbin/nologin #宿主用户不用登陆系统的权限
- 虚拟用户名单
- 先建立虚拟用户名单文件 vi /etc/vsftpd/vsftpdlogin
- 添加用户(可编辑多个虚拟用户,奇数行账号,偶数行密码)
- xdataftp
- xdataftp
- xbusftp
- xbusftp
- 生成口令库文件,注意修改文件权限为 600
db_load -T -t hash -f /etc/vsftpd/vsftpdlogin /etc/vsftpd/vsftpdlogin.db chmod 600 /etc/vsftpd/vsftpdlogin.db
- 注意:如果 db_load 命令不可用,需要安装 db4-utils 软件包。
- 新建虚拟用户 pam 验证文件,是在 vsftpd.conf 中所需指定的验证文件
- 编辑/etc/pam.d/ vsftpd_login(db 文件时上面生成的 vsftpdlogin.db)
- auth required pam_userdb.so db=/etc/vsftpd/vsftpdlogin
- account required pam_userdb.so db=/etc/vsftpd/vsftpdlogin
- 编辑/etc/pam.d/ vsftpd_login(db 文件时上面生成的 vsftpdlogin.db)
- 建立虚拟用户配置文件
- mkdir /etc/vsftpd/users_config #这个为vsftpd.conf中user_config_dir指定的
- 编辑/etc/vsftpd/users_config/xdataftp
- local_root=/data/ftp/xdataftp (指定此虚拟用户的根目录)
- write_enable=YES #本地权限 可注释
- download_enable=YES #本地权限 可注释
- anon_world_readable_only=NO
- anon_upload_enable=YES
- anon_mkdir_write_enable=YES
- anon_other_write_enable=YES
- 注意:以上是开放此虚拟用户所有权限。包括读、写、删除、更改、替换。可以根据相应的需求更改。
- 重启服务 service vsftpd restart
- 安装flashFTP客户端登录验证
- 注意:
- 配置文件不能有多余空格,否则会导致 ftp 登录或者数据传输失败。
- 如果 ftp 服务器本地有防火墙,需要开放 21、20 和被动模式指定的 10001—10010 端口,并关闭机器 selinux。
- iptables 的 nat 端口映射,让外网客户端访问内网 ftp 服务
- -A PREROUTING -d 58.251.160.178/32 -p tcp -m tcp --dport 40021 -j DNAT --todestination 172.16.100.4:21
- -A PREROUTING -d 58.251.160.178/32 -p tcp -m tcp --dport 10001:10010 -j DNAT --to-destination 172.16.100.4
- autofs卸载后需要reboot