RHEL5.3 vsftp服务教程

以下文章部分来自网络,部分自己整理修改,如有侵权,请告之本人.

主要分为三部分.

一如何配置最基本的FTP服务,

二,如何实现为每个用户建立单独的配置文件,

三,符合配置虚拟用户

 

目录树
一. 基本配置
1.Vsftpd.conf主配置文件
2.用户来源:系统用户(useradd命令添加)
二.系统用户独立配置文件
1.vsftpd.conf:user_config
2.user_config配置文件目录
3用户来源:系统用户
二. 虚拟用户
1. vsftpd.conf:user_config
2. vsftpd.con:pam认证
3. 虚拟用户映射到一个系统用户


第一部分,系统用户,基本配置
1.修改vsftpd 服务随系统启动
ntsysv进入后,按空格将vsftpd选上.
2.修改vsftpd.conf配置文件。
# vi /etc/vsftpd/vsftpd.conf
去掉ascii_upload_enable、ascii_download_enable、local_enable、write_enable四个配置项前的注释符号“#”,并将“anonymous_enable”注释掉。
ascii_upload_enable=YES
ascii_download_enable=YES
local_enable=YES
write_enable=YES
#anonymous_enable=YES

3.
vi /etc/vsftpd/ftpusers
将root前面加上#
4.
Vi /etc/vsftpd/user_list
将root前面加上#
5.重启服务
Service vsftpd restart
这些配置实现的功能:以系统用户登录FTP,匿名用户不可登录,允许Ascii码方式上传下载
第二部分.系统用户独立配置文件
在上一篇文章中,我们讲了vsftp的基本配置.(Linux服务配置:Vsftp的基本配置).用过互联网上大型的FTP服务器的朋友应该知道,他们的服务器中不同账号对应的权限,登录到的目录也不相同.这是怎样实现的呢?本文就来向大家讲述如何配置这种比较特殊的FTP服务器。
在上篇文章中,已添加用户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

user_config_dir=/etc/vsftpd/userconfig
在/etc/vsftpd下新建一个文件夹"userconfig",进入目录"userconfig",新建两个空文件"ftp1",ftp2".

[root@LidadeFedora vsftpd]# mkdir userconfig
[root@LidadeFedora vsftpd]# cd userconfig
[root@LidadeFedora userconfig]# touch ftp1
[root@LidadeFedora userconfig]# touch ftp2
[root@LidadeFedora userconfig]#
在ftp1中为用户ftp1进行详细设置,这里我们把他的FTP根目录设置到/var/ftp/ftp1,权限为只读

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


在客户端上用flashfxp连接:

上传和下载文件测试:

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

新建目录/var/ftp/ftp2和相应的测试文件,同FTP1.
使用flashfxp连接,用户名修改为ftp2

测试上传文件和下载文件以及速度:

好了,至此,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":

把新建的文本文件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虚拟用户功能需要启用四个选项:
guest_enable=yes
guest_username=vuser
pam_service_name=vvsftpd
local_enable=yes
local_enable=yes默认已存在,只需要添加第1-2条,修改第3条:


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

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对该文件夹没有权限,那么不论配置文件里的权限开多大也无济于事.

打开客户端的flashfxp,修改用户名为vftp1连接到vsftp服务器

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

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

显然,这正是我们希望看到的.用户无法下载自己刚刚上传的文件.删除、新建文件夹等权限以及vftp2用户的权限请自行测试,

 




如果您喜欢本篇文章,也许您也会喜欢下面推荐的文章!
其实我不想帮你找... (轩辕网的日志真乱 -_-#.. )

在线RSS阅读器订阅:
feedsky
抓虾 pageflakes Rojo
google reader my yahoo newsgator
bloglines 有道

手机订阅:


本站订阅地址:
RSS2:  【点击复制
Atom:  【点击复制
免责说明:
本站提供的文件均通过卡巴斯基最新版扫描无毒,请放心使用
本站所发表内容或来自互联网,或本人原创,只为学习交流之用,不存在任何商业用途
遵循创作共同协议,您可自由复制等方式传播本作品。
如果本站内容不慎侵犯了您的版权,请及时联系我们,我们将尽快处理。

遵循创作共同协议,您可自由复制,发行,广播或通过信息网络传播本作品。
但须遵守下列条件:
◎ 署名. 您必须按照作者或者许可人指定的方对作品进行署名。
◎ 非商业性使用. 您不得将该作品用于商业目的。
◎ 禁止演绎. 您不得修改、转换或者以本作品为基础进行创作。
任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。
如果得到著作权人的许可,您可以不受任何这些条件的限制。
评论: 0 | 引用: 0 | 查看次数: - | TOP ↑
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.