Chinaunix首页 | 论坛 | 博客
  • 博客访问: 124388
  • 博文数量: 37
  • 博客积分: 2094
  • 博客等级: 大尉
  • 技术积分: 380
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-14 08:39
文章分类
文章存档

2010年(37)

分类:

2010-03-16 21:24:41

FTP服务的基本概念
FTP是用于进行文件传输的网络协议
FTP服务中分为服务器和客户机两个角色
FTP服务器的传输模式
主动模式:由服务器主动连接客户机建立数据链路
被动模式:FTP服务器等待客户机建立数据链路
FTP服务器使用的端口
21端口用于与客户机建立命令链路
在主动模式下服务器使用20端口向客户机建立数据链路
主动模式的连接过程:

被动模式的连接过程:

常用的FTP服务器软件:
Windows下常用的FTP服务器软件
IIS具有FTP服务器的功能
Serv-U是流行的FTP服务器软件
============================
Linux下的FTP服务器
Wu-ftpd出现较早,运行稳定,安全性稍差
Proftpd在配置文件和安全性方面有很大改进
vsftpd着重强调服务的安全性,运行效率也很高
下面我们就来试着安装一个FTP服务器

接下来我们来看一下vsftpd的主配置文件的路径

再来看看主目录下的内容:

ftpusers是用来进行保存不能进行FTP登录的本地用户

ftpusers文件中可禁止高权限本地用户登录FTP服务器,提高了系统的安全性
user_list文件具有更灵活的对FTP服务器进行访问控制
使用vsftpd.user_list文件需要在主配置文件中进行设置,如何设置呢?
设置禁止user_list文件中的用户登录
userlist_enable=YES
userlist_deny=YES
设置只允许user_list文件中的用户登录
userlist_enable=YES
userlist_deny=NO
接下来我们来该主配置文件的默认有效配置
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
 
FTP提供三种用户模式来登录,分别是:匿名用户、本地用户、虚拟用户
其中所以匿名用户默认情况下都会登录的/var/ftp目录下面,且以此目录为根目录,只能向下切换,而不可向上切换。/var/ftp下有一个共享目录pub。FTP匿名登录可用于构建公共文件的下载服务。
下面我们来启动服务登录一下试试:

要想在FTP服务器本地用户登录的时候被禁锢在自己的家目录,在主配置文件中添加如下一行:
chroot_local_user=YES
默认情况下本地用户可以在FTP服务器上新建目录,但匿名用户不可以!
下面我们来解释一下主配置文件中各个选项的含义:
loacal_umask=022:上传文件默认权限为644(666-022)
anon_upload_enable=YES 匿名用户上传
anon_mkdir_write_enable=YES 匿名用户新建目录
dirmessage_enable=YES显示目录说明文件.message
xferlog_enable=YES是否记录ftp传输过程
connetct_from_port_20=YES是否确信端口传输来自20
chown_username=username是否改变匿名用户上传文件的属主
xferlog_log=/var/log/vsftpd.log日志文件
idle_session_timeout=600设置默认的断开不活跃session的时间
data_connection_timeout=120设置数据传输超时时间
chroot_local_user=YES 将本地用户禁锢在自己的家目录里边
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list 是否将系统用户限制在自己的宿主目录下
max_clients=Number用户最大连接数,0不限制
max_per_ip=Number每个ip地址最多有几个联机(多线程下载)
setproctitle_enable=YES每个联机都能以独立的process来呈现
anon_max_rate=50000匿名用户最大传输速率为50KB/S
local_max_rate=200000本地用户最多传输速率为200KB/S
user_config_dir=/etc/vsftpd/userconf为每个用户创建单独的配置文件
listen_port=21 命令侦听端口
ftp_data_port=20 数据传输端口
port_enable=YES 主动FTP,默认开启,客户端必须采用主动模式联机
pasv_enable=YES被动模式FTP,默认开启,客户端必须采用被动模式联机。注明:windows的ftp命令和ie不支持pasv.只有在服务器上开一些端口。
pasv_min_port=9981被动模式端口范围,默认为0不限制
pasv_max_port=9986
tcp_wrappers=YES支持tcp_wrappers防火墙
 
下面来学习将vsftpd封装在xinetd服务
1.修改/etc/vsftpd/vsftpd.conf
将listen=YES改为listen=NO
2.vim /etc/xinetd.d/vsftpd
service vsftpd
{
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/vsftpd
        port            = 21
        log_on_failure  += USERID
        disable         = no
}
3.启动服务:service xinetd restart
4.nmap 192.168.1.23发现21端口没有开启
5.查找原因:tail /var/log/messages    vsftpd/tcp 没有在services中
6.编辑/etc/services:vsftpd          21/tcp 
7.测试。
在FTP中,!pwd是执行客户端操作系统的命令
lcd是在客户端系统上切换目录
配置vsftpd虚拟用户:
1.建立虚拟用户口令库文件
2.生成vsftpd的认证文件
3.建立虚拟用户所需的PAM配置文件
4.建立虚拟用户所要访问的目录并设置相应权限
5.设置vsftpd.conf配置文件
第一步:
[root@uplooking /]# pwd
/
[root@uplooking /]# cat login.txt
cisco
cisco
ibm
cisco
 
第二步:
[root@uplooking /]# db_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db
这里如果命令执行不成功的话,需要安装如下软件包:
[root@uplooking ~]# rpm -ivh db4-utils-4.3.29-9.fc6
查看生成文件:
[root@uplooking vsftpd]# pwd
/etc/vsftpd
[root@uplooking vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vsftpd_login.db
 
第三步:
[root@uplooking pam.d]# touch vsftpd.vu
[root@uplooking pam.d]# vim vsftpd.vu
[root@uplooking pam.d]# cat vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login.db
account required /lib/security/pam_userdb.so
db=/etc/vsftpd/vsftpd_login.db
 
添加系统账号:
[root@uplooking ~]# useradd vu
 
修改vsftpd的主配置文件:
 
 
 
 
 
 
 

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

上一篇:NIS服务

下一篇:SAMBA服务

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