Chinaunix首页 | 论坛 | 博客
  • 博客访问: 33880
  • 博文数量: 22
  • 博客积分: 880
  • 博客等级: 准尉
  • 技术积分: 240
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-21 21:51
文章分类

全部博文(22)

文章存档

2009年(7)

2008年(15)

我的朋友
最近访客

分类: LINUX

2008-09-20 10:21:33

FTP服务器

一、   FTP服务器的安装和简单配置

1.      安装vsftpd(RHEL4第一张光盘)

#cd /media/cdrom/RedHat/RPMS/

#rpm –ivh vsftp-2.0.1-5.i386.rpm

Vsftpd.conf文件是vsftpd服务器的主配置文件,位于“/etc/vsftpd/”

#grep –v ‘#’ vsftpd/vsftpd.conf

(查看配置文件中去除注释行的内容)

2.Vsftpd.ftpusers文件位于“/etc/”中,用于保存不允许进行FTP登录的本地用户账号(包括root),不是普通用户,而是系统中具有较高权限的账号。

Vsftpd.user_list文件位于”/etc/”中,与vsftpd.ftpusers文件类似的访问控制。

2.      匿名用户登录目录,将进入“/var/ftp”

/var/ftp目录中默认有1个名为pub的子目录,可在该目录中建立新的目录和保存文件提供给匿名用户下载。

3.      vsftpd的启动脚本位于“/etc/init.d/”

 #ls –l /etc/init.d/vsftpd*

Vsftpd软件包安装后并没有设置vsftpd服务在系统中运行,使用chkconfig设置

#chkconfig –list vsftpd

#chkconfig –level 2345 vsftpd on

#service vsftpd restart

二、   配置FTP服务器的虚拟用户

1.      vsftp中的用户类型

 匿名:是名为anonymousftpFTP用户,用于提供公共文件的下载。

 本地:是FTP服务器中的系统用户账号,

 虚拟:为了保证FTP服务器的安全性,由vsftp服务器提供的非系统账号,

2.      创建的过程

a)      建立虚拟用户口令库文件

 # vi song.txt

  Hello

  123

  Good

  456

:wq (奇数行为用户名,偶数行为密码)

b)      生成vsftpd的认证文件

 使用db_load命令生成认证文件,“-f”虚拟用户的口令库文件。命令的参数设置为需要生成的认真文件名vsftp_song.db,保存在目录“/etc/vsftpd/”中。

#db_load –T –t hash –f song.txt  /etc/vsftpd/vsftpd_song.db(和上行在同一行)

#file /etc/vsftpd/vsftpd_song.db

Vsftpd_song.db文件的权限应设置为只对root可读写,即600.

#chmod 600 /etc/vsftpd/vsftpd_song.db

c)      建立虚拟用户所需要的PAM配置文件

在“/etc/pam.d/”中建立vsftpd虚拟用户身份认证所需的PAM配置文件,名称是vsftpd.vu

#vi /etc/pam.d/vsftpd.vu

Auth requited /lib/security/pam_userdb.so db=/etc/vsfptd/vsfptd_song(和上行在同一行)

Account requited /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_song(和上行在同一行)

d)      建立虚拟用户及要访问的目录并设置相应的权限

建立vsftpd虚拟用户所需的系统用户账号,名称为song,指定用户的宿主目录是“/home/ftpsite/”,设置宿主目录的权限750

#useradd –d /home/ftpsite song

#chmod 750 /home/ftpsite

Vsftpd服务器的所有虚拟用户账号登录后都将在“/home/ftpsite/”目录中。

e)设置vsftpd.conf配置文件

在修改vsftpd.conf前,应将原有文件进行备份,以便配置出错可进行恢复。

#cd /etc/vsftpd

#cp vsftpd.conf vsftpd.conf.bak

vsftpd.conf文件中添加虚拟用户的配置项,

#vi /etc/vsftpd/vsftpd.conf

Guest_enable=YES

Guest_username=song

Pam_service_name=vsftpd.vu

(也可能有一项在主配置文件中已经存在,可去掉)

f)在对vsftpd.conf配置文件任何修改后都需要重新启动vsfptd服务,以便配置文件生效。

#service vsftpd restart

g)测试vsftpd中的虚拟用户账号

测试前应先在“/home/ftpsite/”中建立测试文件,用于测试时进行下载,并设置文件的属猪和属组为song.

#touch /home/ftpsite/hello

#chown song.song /home/ftpsite/hello

使用ftp登录vsftpd服务器,使用虚拟用户good登录。使用 get put pwd dir 命令测试

h)对不同虚拟用户设置不同的权限

设置主配置文件,添加user_config_dir项,并设置用户配置文件的保存目录。

#vi /etc/vsftpd/vsftpd.conf

User_config_dir=/etc/vsftpd_user_conf

在“/etc/vsftpd_user_conf”目录中保存虚拟用户的配置文件。

建立用户配置文件目录

#mkdir /etc/vsftpd_user_conf

为虚拟用户建立单独的配置文件,在“/etc/vsfptd_user_conf/”中可为每个虚拟用户建立独立的配置文件,配置文件名称和用户名称相同。

#touch /etc/vsftpd_user_conf/hello

#vi /etc/vsftpd_user_conf/hello

本章总结

  FTP协议的基本原理

FTP服务器使用21端口与FTP客户机建立连接,使用20端口进行数据传输。

FTP服务器有主动和被动两种数据传说模式

  Vsftpd 服务器的基本配置管理

Vsfptd服务器的主配置文件vsftpd.conf,vsftpd.ftpusersvsftpd.user_list文件可用于进行用户访问控制。

Vsftpd默认提供匿名和本地用户登录。

Vsftpd服务器可以对ftp客户端连接数和数据传输速率进行控制。

阅读(570) | 评论(0) | 转发(0) |
0

上一篇:N A T

下一篇:SAMBA

给主人留下些什么吧!~~