红联Linux门户
Linux帮助

VSFTPD服务器架设菜鸟手记

发布时间:2006-01-10 09:07:08来源:红联作者:何哥
简易VSFTPD服务器的构建
1.确认是否安装VSFTPD软件:#rpm -qa|grep vsftpd
2.启动FTP服务器:#service vsftpd start
3.默认的FTP目录为 /var/ftp/pub
4.FTP 127.0.0.1进行匿名测试,name:anonymous pass:

FTP服务器的进一步配置
创建欢迎语:
1.打开/etc/vsftpd/vsftpd.conf文件
2.把dirmessage_enable的值改为YES
3.在你的FTP目录创建一个message的文本文件,填写欢迎词就OK了

更换FTP服务器的默认端口:
1.打开vsftpd.conf文件
2.在文件最后一行增加如下内容 listen_port=2121,默认端口21改为2121

取消Anonymous登陆功能:
在vsftpd.conf文件中把Anonymous的值改为NO

使用者不能更改目录:
在vsftod.conf中找到如下三行
#chroot_list_enable=YES
#(default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

将其改为?
#chroot_list_enable=YES
#(default follows)
Chroot_list_file=/etc/vsftpd/chroot.list
新增加一个文件:/etc/vsftpd/chroot_list,文件的内容为需要登陆的用户名

注意:修改完后需要重新启动FTP服务器,SERVICE VSFTPD RESTART

更改目录时,系统会提示你:Failed to change directory

虚拟用户FTP的配置

虚拟用户的特点:只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。

虚拟用户的目的:提高系统的安全性。

1.建立虚拟用户口令库文件,建立一个.TXT文件,格式为:单数行为name,偶数行为pssword

2.生成口令库文件,并且修改文件的权限

注意:在使用下面的命令前,一定要先安装Berkeley db程序
#db_load -T -t hash -f account.txt /etc/vsftpd/account.db
#chmod 600 /etc/vsftpd/account.db

3.新建一个虚拟用户的PAM文件,加上以下两句:
#vi /etc/pam.d/vsftp.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account
account required /lib/security/pam_userdb.so db=/etc/vsftpd/account

4.建立虚拟用户,以及设置该用户所要访问的目录并设置虚拟用户的访问权限:
#useradd -d /ftp virtual_user
#chmod 700 /ftp

至此虚拟用户已经设置完毕
注意:需要在/etc/vsftpd/vsftpd.conf中加入以下两句
guest_username=virtual
guest_enable=YES
pam_service_name=vsftp.vu指定PAM文件的配置文件为vsftp.vu


VSFTPD的菜鸟篇:


这是我这个菜鸟学习LINUX所写的第一篇文章,是比较基础的FTP架设的应用,如果我写有什么问题请大家多指教,我后续会陆续出进阶篇把FTP中各种详细的配置跟大家一起进行探讨。
我所用的是LINUX AS+VSFTPD-1.2.0-4的系统架构,在这里说明的是如果对配置文件不是很熟悉,最好做个备份,以免误操作:


1. 匿名服务器的连接(独立的服务器)
在/etc/vsftpd/vsftpd.conf配置文件中添加如下几项:
Anonymous_enable=yes (允许匿名登陆)
Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)
Local_umask=022 (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes (启用FTP数据端口的数据连接)*
Xferlog_enable=yes (激活上传和下传的日志)
Xferlog_std_format=yes (使用标准的日志格式)
Ftpd_banner=XXXXX (欢迎信息)
Pam_service_name=vsftpd (验证方式)*
Listen=yes (独立的VSFTPD服务器)*
功能:只能连接FTP服务器,不能上传和下传
注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项

2. 开启匿名FTP服务器上传权限
在配置文件中添加以下的信息即可:
Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

3. 开启匿名服务器下传的权限
在配置文件中添加如下信息即可:
Anon_world_readable_only=no
注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限
(R)读-----下传 (W)写----上传 (X)执行----如果不开FTP的目录都进不去

4.普通用户FTP服务器的连接(独立服务器)
在配置文件中添加如下信息即可:
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限
注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传

5. 用户登陆限制进其它的目录,只能进它的主目录
设置所有的本地用户都执行chroot
Chroot_local_user=yes (本地所有帐户都只能在自家目录)
设置指定用户执行chroot
Chroot_list_enable=yes (文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可

6. 限制本地用户访问FTP
Userlist_enable=yes (用userlistlai 来限制用户访问)
Userlist_deny=no (名单中的人不允许访问)
Userlist_file=/指定文件存放的路径/ (文件放置的路径)
注:开启userlist_enable=yes匿名帐号不能登陆

7. 安全选项
Idle_session_timeout=600(秒) (用户会话空闲后10分钟)
Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)
Accept_timeout=60(秒) (将客户端空闲1分钟后断)
Connect_timeout=60(秒) (中断1分钟后又重新连接)
Local_max_rate=50000(bite) (本地用户传输率50K)
Anon_max_rate=30000(bite) (匿名用户传输率30K)
Pasv_min_port=50000 (将客户端的数据连接端口改在
Pasv_max_port=60000 50000--60000之间)
Max_clients=200 (FTP的最大连接数)
Max_per_ip=4 (每IP的最大连接数)
Listen_port=5555 (从5555端口进行数据连接)

8. 查看谁登陆了FTP,并杀死它的进程
ps -xf |grep ftp
kill 进程号
文章评论

共有 1 条评论

  1. lazyhaha 于 2007-05-23 22:38:10发表:

    thanks a lot:0L