vsftpd安装配置

vsftpd的安装配置
vsftp介绍:
vsftpd有三种用户:匿名用户、实体用户、虚拟用户
实体用户是采用linux系统的账户登录ftp,虚拟用户是基于实体账户创建的,虚拟用户的用户名密码可以保存在mysql中,vsftpd通过pam验证模块验证用户。
1、需要安装mysql,vsftp用虚拟用户的话还要安装pam_mysql认证模块,建立数据库和表,表中存放用户名和密码,并配置pam模块
2、需要创建一个linux系统账户,为安全该用户不让可登录linux
3、安装配置vsftpd
4、tail -20f /var/log/secure  该日志可帮助排查登录失败的原因
 
vsftpd配置目标:匿名用户、虚拟用户和实体用户共存,匿名用户只读,虚拟用户只能在各自的文件夹中读写,虚拟用户目录中也有访问匿名用户目录的入口,
部分虚拟用户是一个部门的,还需要另外建立部门内部的只读公共文件夹,部门内的每个虚拟用户都能访问该文件夹,该公共文件夹可由某实体用户进行读写
管理。并对匿名用户和虚拟用户传输速度做限制。

1、创建系统用户用于虚拟用户useradd -s /sbin/nologin -d /var/virftp virftp
(nologin是不能登录linux系统,/var/virftp目录用于存放虚拟用户存储的文件)
还需要将virftp这个目录所属主和组改成virftp用户
创建系统用户用于部门公共文件夹管理useradd -d /var/bumen bumen
bumen目录修改other组为rx权限
2、安装mysql,并建立数据库和表,将虚拟用户密码插入表,可以创建一个用户只给查询那张用户表的权限
3、pam认证模块安装:
需要先装yum install -y mysql-devel pam-devel gcc gcc-c++ openssl
#tar zxvf pam_mysql-0.7RC1.tar.gz
#./configure --with-openssl
#make
#make install
编译完的 pam_mysql.so放在 /lib/security下是pam的默认路径。
64位系统的所有pam模块都在/lib64/security/
所以要将lib下的放入lib64 
#ln /lib/security/pam_mysql.* /lib64/security/ 做成硬链接
4、安装vsftpd:用yum安装即可
5、配置pam
默认配置文件为/etc/pam.d/vsftpd,可以新建/etc/pam.d/vsftpd.mysql
auth required /lib64/security/pam_mysql.so user=ftpuser passwd=123 host=127.0.0.1 db=ftpdb table=ftpusers usercolumn=name passwdcolumn=pwd crypt=2  
(crypt=2表示数据库中存储的是password函数加密的数字,0表示明文存储)
account required /lib64/security/pam_mysql.so user=ftpuser passwd=123 host=127.0.0.1 db=ftpdb table=ftpusers usercolumn=name passwdcolumn=pwd crypt=2   
(user是可查询数据库表的用户,db为数据库名,表、用户列名、密码列名)
6、配置vsftpd  注意:vsftpd的配置文件每行后面不能有空格
一、vsftpd全局配置/etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.mysql (原为=vsftpd)
virtual_use_local_privs=YES 虚拟用户和本地用户权限一致
user_sub_token=$USER
local_root=/var/virftp/$USER
guest_enable=YES 开启虚拟用户
guest_username=virftp 设置虚拟用户基于主体的用户名
chroot_local_user=YES 将所有用户限制在主目录
user_config_dir=/etc/vsftpd/vsftpd_user_conf 虚拟用户配置存放目录,需要新建该目录

二、vsftpd各虚拟用户配置
新建/etc/vsftpd/vsftpd_user_conf目录,在此目录中新建每个虚拟账户的配置文件,文件名以虚拟用户名命名
例:虚拟用户/etc/vsftpd/vsftpd_user_conf/user1
local_root=/var/virftp/$USER  ($USER可以让登录的用户访问以用户名命名的目录)
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=300
data_connection_timeout=90
max_clients=10
max_per_ip=110
local_max_rate=525000
实体用户(管理部门公共文件夹):/etc/vsftpd/vsftpd_user_conf/bumen
local_root=/var/$USER
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=300
data_connection_timeout=90
max_clients=10
max_per_ip=110
local_max_rate=525000
7、实现部门每个虚拟用户可以在自己的目录中通过新建的文件夹访问部门账户的目录
mount --bind 部门账户的目录 新建目录
mount --bind /var/bumen /var/user1/bumenpub
8、测试登录ftp
可用浏览器、资源管理器、cmd、ftp工具
需要先将Internet设置高级中的 被动模式 复选框 勾去掉


其他参考配置:
anon_upload_enable=YES 是否允许匿名上传文件
anon_mkdir_write_enable=NO 是否允许匿名创建文件
anon_umask=022
匿名账户写入 需要在/var/ftp中建文件夹并且other权限为7才可写入,另外anon_umask=022,不然上传的没有r权限无法下载
ftpd_banner=Welcome to BestWonder FTP service
xferlog_file=/var/log/xferlog 开启日志需要将这个启用
anon_max_rate=100000 匿名下载速度
local_max_rate=200000 本地用户下载速度
idle_session_timeout=600 用户会话空闲10分钟后被挂断
max_clients=150
max_per_ip=150
listen_port=21
 主动模式设置
Port_enable=YES               开启主动模式
Connect_from_port_20=YES      当主动模式开启的时候 是否启用默认的20端口监听
pasv_enable=NO

被动模式
PASV_enable=YES   开启被动模式
Connect_from_port_20=NO
PASV_min_port=1024 被动模式最低端口
PASV_max_port=65535 被动模式最高端口

用户访问控制
限制指定用户不能访问,其他可以
userlist_enable=yes 开启用户访问列表
userlist_deny=yes
userlist_file=/etc/vsftpd.user_list

限制指定用户可以访问,其他不行
userlist_enable=yes 开启用户访问列表
userlist_deny=no
userlist_file=/etc/vsftpd.user_list


设置所有用户执行chroot
chroot_local_user=yes
设置指定用户不执行chroot(可以访问全部目录的)
chroot_local_user=yes  所有用户都被限制在其主目录下,no表示所有用户都不被限制在其主目录下
chroot_list_enable=YES  使用chroot_list_file指定的用户列表,这些用户作为“例外”,NO表示不使用chroot_list_file指定的用户列表,没有任何“例外”用户
chroot_list_file=/etc/vsfttpd/chroot

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值