vsftp应用v1

主配置文件路径:/etc/vsftpd/vsftpd.conf
一些重要参数:
anonymous_enable=yes/no 是否允许匿名用户访问
anon_upload_enable=yes/no 是否允许匿名用户上传文件
anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录
anon_other_write_enable=yes/no 匿名用户和虚拟用户是否拥有删除权限
local_enable=yes/no 否允许本地用户登陆
write_enable=yes/no 设置全局是否可写
anon_root=/var 指定匿名用户目录
chroot_local_user=yes 锁定所有用户到自家目录
chroot_list_enable=yes/no 锁定列表中的用户到自家目录,需要配合下一参数使用
chroot_list_file=/etc/vsftpd/chroot_list 定存储被锁定用户的列表文件位置
chown_uploads=yes/no 匿名用户上传所有者指定功能需要与下一参数配合使用
chown_username=用户名 指定匿名用户上传文件的所有者
max_clients=300 最大连接数为300
anon_max_rate=30000 匿名用户和虚拟用户限速为30K/S
local_max_rate=30000 本地用户限速为30K/S
max_per_ip=10 每个IP最大连接数
listen_port=22 更改监听端口

一.vsftp的基本应用
下面来进行具体的配置,实现如下要求:
允许匿名用户登陆,匿名用户限速为60K/S,只允许下载。监听端口为22,最大连接数为10。新建用户ftp1,限速为200K/S,允许上传下载删除新建文件夹。
进入目录/etc/vsftpd,用vi编辑器打开vsftpd.conf主配置文件:

anon_max_rate=60000
anon_upload_enable=no
anon_other_write_enable=no
anon_mkdir_write_enable=no
max_clients=10
local_max_rate=200000
listen_port=23
----更改的端口
重启vsftp服务: service vsftpd restart

添加用户ftp1:
[root@LidadeFedora vsftpd]# useradd ftp1 -s /sbin/nologin
[root@LidadeFedora vsftpd]# passwd ftp1
根据测试设置/var/ftp/pub权限为777--表示所有用户均有读写权限.(匿名用户登陆和ftp1用户登陆测试)
由于没有使用选项:local_root,登陆本地用户时自动跳转到该用户的家目录.没有使用chroot_local_user=yes,
所以本地用户可以浏览整个文件系统中他有权限读取的文件和文件夹。

二.vsftp的高级应用:

Vsftp的高级应用:给每个用户建立单独的配置文件:(服务器中不同账号对应的权限,登录到的目录也不相同)
在上面中,已添加用户ftp1,现在我们来添加另一个用户ftp2.
  vsftp默认设置是登陆到本地用户的家目录,即/home/用户名,而且本地用户可以浏览整个文件系统,这样对我们的Linux系统是很危险的,如果不慎被坏人知道了ftp用户密码,那损失可就大了.所以要在主配置文件中添加一个选项:chroot_local_user=yes,锁定所有用户到自家目录.chroot_local_user=yes
  给用户设置单独的权限,看起来很难实现,因为每个权限选项都不能针对单一用户,但是vsftp为我们考虑到了这一点,使用user_config_dir选项实现,给user_config_dir指定一个存储配置文件的目录,目录里面的配置文件已用户名命名,没有后缀.这里我们写user_config_dir=/etc/vsftpd/userconfig

在/etc/vsftpd下新建一个文件夹"userconfig",进入目录"userconfig",新建两个空文件"ftp1",ftp2".
在ftp1中为用户ftp1进行详细设置,这里我们把他的FTP根目录设置到/var/ftp/ftp1,权限为只读
vi 添加如下:
local_root=/var/ftp/ftp1
write_enable=no

新建文件夹/var/ftp/ftp1,权限设置为755,所有者及所属群组设置为"ftp1",在里面新建一个空文件ftp1以证明我们登录到的目录是/var/ftp/ftp1,空文件ftp1权限设置为644.

对用户ftp1的配置和测试到此告一段落,下面来对ftp2进行配置
首先我们给出一个用户ftp2需要实现的功能:
1、可读可写。
2、FTP根目录设置为/var/ftp/ftp2
3、限速为60K/S
因为主配置文件中默认可写,所以只需要在子配置文件中添加两个就可以选项实现以上功能:

local_root=/var/ftp/ftp2
local_max_rate=60000

新建目录/var/ftp/ftp2和相应的测试文件,同FTP1.
至此,vsftp中的独立配置文件到此就基本配置完了,主配置文件中的各个选项一般都可以在子配置文件中实现.

三.vsftp的虚拟用户:
通过配置虚拟用户,可以使VSFTP服务器更安全,帐户的各项权限分得更细,大大提高VSFTP服务器的灵活性.

   有以下案例:某技术论坛需要做一个给用户投稿用的FTP服务器,其投稿专用帐号只允许用户上传,不允许用户下载,下载专用帐号则只允许下载不允许上传.后一个功能使用本地用户即可实现,但是前一个功能呢?仅仅使用本地用户是无法实现的.下面我们来用虚拟用户实现投稿账号的功能:
   新建一个所有虚拟用户映射到本地的一个本地用户"vuser",为什么要建立这样一个账户呢?因为当你用虚拟用户访问vsftp时,虚拟用户在系统上时不存在的,此时vsftp应该以什么权限去访问linux系统呢?所以这里需要一个所有虚拟用户共用的一个本地用户:"vuser".

[root@LidadeFedora ~]# useradd vuser -s /sbin/nologin
[root@LidadeFedora ~]# passwd vuser

新建一个存储虚拟用户用户名密码的数据库,路径可自设,这里用/etc/vsftpd/vuser
[root@LidadeFedora ~]# cd /etc/vsftpd/
[root@LidadeFedora vsftpd]# touch vuser
编辑新建的vuser文件,添加两个账户vftp1,vftp2.vftp1用作上传专用帐号,vftp2用作下载专用账号,密码都为"123456":
vi vuser
添加:
vftp1
123456
vftp2
123456

把新建的文本文件vuser转换为db文件,这里需要安装一个包db4_utils,这个包可以在Linux安装光盘中找到
安装好包后,使用命令db_load转换文本文件为db文件:
[root@LidadeFedora RPMS]# cd /etc/vsftpd/
[root@LidadeFedora vsftpd]# db_load -T -t hash -f vuser vuser.db
打开主配置文件/etc/vsftpd/vsftpd.conf,开启vsftp虚拟用户功能需要启用四个选项:

更改vsftpd.conf文件,加入如下的几行
pam_service_name=ftp
guest_enable=YES
guest_username=vuser
anon_world_readable_only=NO

本机实例:
chroot_local_user=yes
pam_service_name=ftp
userlist_enable=YES
tcp_wrappers=YES
anon_max_rate=60000
anon_other_write_enable=no
max_clients=10
local_max_rate=200000
max_per_ip=10
listen_port=23
user_config_dir=/etc/vsftpd/userconfig
guest_enable=yes
guest_username=vuser
anon_world_readable_only=NO

 
--local_enable=yes默认已存在,只需要添加第1-2条,修改第3条:

进入目录/etc/pam.d,新建空文件ftp,内容为:

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

在上篇文章中,已经添加选项"user_config_dir=/etc/vsftpd/userconfig,这里只需要在该目录中新建两个配置文件"vftp1","vftp2":
账号vftp1用作上传专用账号,权限为只能上传不能下载不能删除不能新建文件夹,根目录为/var/ftp/share.由于虚拟用户使用的是匿名用户的权限选项,所以虚拟用户配置起来是非常灵活的.这里还要注意一下选项"anon_world_readable_only=no”这个选项的大致意思是开放匿名用户(虚拟用户)的浏览权限,如果不写这个的话会报一个错误.

local_root=/var/ftp/share
download_enable=no
anon_upload_enable=yes
anon_other_write_enable=no
anon_mkdir_write_enable=yes
anon_world_readable_only=no

帐户"vftp2"用作下载账号,只能下载不能上传不能删除不能新建文件夹,根目录为/var/ftp/share

local_root=/var/ftp/share
download_enable=yes
anon_upload_enable=no
anon_other_write_enable=no
anon_mkdir_write_enable=yes
anon_world_readable_only=no

下面来建立文件夹/var/ftp/share,这个文件夹的所有者应该为"vuser",因为虚拟用户vftp1,vftp2映射的本地用户是vuser,如果vuser对该文件夹没有权限,那么不论配置文件里的权限开多大也无济于事.

使用子配置文件的好处之一:你甚至都不用重启vsftpd服务就可以直接用客户端连接上去,新的权限会即时生效:),下面来测试一下vftp1的上传和下载、删除等权限是否符合我们的要求.

大家注意FTP的速度,为什么这么慢呢?我们没有使用限速选项啊.呵呵,大家不要忘记了,在第一篇文章中我们已经在主配置文件中为匿名用户添加了一个选项anon_max_rate=60000,这个选项同样也适用于虚拟用户,匿名用户的选项大多数都适用于虚拟用户.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值