• {{ item.name }}
  • Home
  • Linux
  • Programming
    • Python
  • Life
  • Other
  • Tools
  • 投资者该如何参与优秀的区块链项目- NuLink社区圆桌会议
  • 什么是NuLink?- 项目中文社区与项目研究组成员 Rookie 对话实录
  • NuLink 融资 400 万美元用于开发隐私保护技术
  • NuLink的零知识证明介绍(1)
  • 用bitwarden_rs搭建属于自己的密码管理器
  • 修复 CentOS vps 网卡失效
  • 记录用mac给Nexus6P刷Android10的错误
  • Centos 6.8启用 TCP BBR拥塞控制算法
  • Nginx 启用HTTP2功能
  • Mac 安装adb工具
  • WordPress 默认编辑器代码按钮

vsftpd的简单配置

  • iansiu
  • 2015-01-26
  • 0

2016-12-3 更新 一定要把行尾的空格给删除掉,否则提示:500 OOPS: bad bool value in config file for: anonymous_enable,所有配置文件都是。

一、安装vsftp和db4-utils

yum install -y vsftpd db4-utils      ## db4是加密工具

二、配置vsftpd虚拟用户

建立虚拟账号相关联的系统账号:

useradd vsftpd -s /sbin/nologin         ## 用户名随便

建立虚拟账户相关的文件:

vim /etc/vsftpd/vsftpd_login           ## 用来存放帐号密码,暂时的

## 内容如下:

test1                   ## 奇数行是帐号,偶数行是密码,以此类推!
123456
test2
abcdef
......
......
chmod 600 /etc/vsftpd/vsftpd_login

## 更改权限

生成加密的密码文件

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

rm -rf /etc/vsftpd/vsftpd_login                   ## 把原来未加密的密码文件删除掉

、
建立虚拟账号相关的目录以及配置文件

mkdir /etc/vsftpd/vsftpd_user_conf                ## 虚拟的用户的home目录

cd /etc/vsftpd/vsftpd_user_conf

创建和用户对应的配置文件  配置文件名要和虚拟机用户名一致

vim test1 内容如下:

local_root=/home/vsftpd/test1                      ## test1帐号的ftp目录
anonymous_enable=NO                                ## 不允许匿名用户登陆
write_enable=YES                                   ## 开放本地用户写的权限
local_umask=022                                    ## 本地用户上传文件的umask,上传文件默认权限644(666-022),上传文件夹默认权限755(777-022)
anon_upload_enable=NO                              ## 禁止匿名用户上传
anon_mkdir_write_enable=NO                         ## 禁止匿名用户创建
idle_session_timeout=600                           ## 用户会话空闲时间(秒)超过就自动断开
data_connection_timeout=120                        ## 如果 client与 Server 间的数据传送在 120 秒内都无法传送成功,那Client的联机就会被vsftpd强制剔除
max_clients=10                                     ## ftp客户端的最大连接数
max_per_ip=5                                       ## 每个ip最大连接数
local_max_rate=50000                               ## 本地用户的传输速度限制单位是(b) 0 为不限制
mkdir /home/vsftpd/test1                ## test1用户的home目录

修改权限:

chown -R vsftpd:vsftpd /home/vsftpd
vim /etc/pam.d/vsftpd            ## 虚拟机用户验证

在最开头添加两行

auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 
## 如果是64位系统,则改为/lib64/security/pam_userdb.so
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 
## 如果是32位系统,则改为/lib/security/pam_userdb.so

再修改

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES           ## 改为 anonymous_enable=NO
#anon_upload_enable=YES        ## 改为 anon_upload_enable=NO
#anon_mkdir_write_enable=YES   ## 改为 anon_mkdir_write_enable=NO

再增加:

chroot_local_user=YES         ## 禁止去其它目录
guest_enable=YES              ## 允许来宾用户
guest_username=vsftpd         ## 映射系统真实存在的用户,刚开始建立的vsftpd
virtual_use_local_privs=YES   ## 当该参数激活(YES)时,虚拟用户与其宿主用户有相同的权限。 当此参数关闭(NO)时,虚拟用户与匿名用户有相同的权限。默认情况下此参数是关闭的(NO)。
user_config_dir=/etc/vsftpd/vsftpd_user_conf       ## 虚拟用户配置文件目录

启动

service vsftpd start

添加防火墙iptables规则

1、ftp主动模式下iptables的规则配置

iptables -I INPUT -p tcp --dport 21 -j ACCEPT

2、ftp被动模式下iptables的规则配置

方法一:

iptables -I INPUT -p tcp --dport 21 -j ACCEPT
vim /etc/vsftpd/vsftpd.conf

添加以下内容:

pasv_min_port=50000
pasv_max_port=60000
iptables -I INPUT -p tcp --dport 50000:60000 -j ACCEPT

方法二:

使用连接追踪模块

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
modprobe nf_conntrack_ftp
vim /etc/sysconfig/iptables-config

添加以下内容:

IPTABLES_MODULES="nf_conntrack_ftp"
© 2023 laowang's blog
Theme by Wing