您的位置:首页 > 编程语言 > PHP开发

FTP服务的配置与虚拟用户的使用

2011-08-16 22:29 411 查看
FTP简介:

FTP 协议是目前最长用的网络文件传输协议,FTP协议从出现到现在已经有40年历史了.

此协议传输是基于明文.为C/S构架的协议.

传输时使用两个端口,分别为21端口和20端口.基于TCP连接.

21端口用于命令传输 (命令链接一直保持活动状态)

20端口用于数据传输 (可同时存在多个连接)

服务器两种数据传输模式: 模式由客户端决定

1.主动模式

2.被动模式

登陆的用户类型:

1.匿名用户 : anonymous 以 ftp 用户身份登陆

2.本地用户 : 及账号密码信息保存在passwd,shadow中的用户.

3.虚拟用户 : 后面有详细介绍.

常见的FTP服务器:

IIS , Serv-U (windows上)

wu-ftpd, proftpd (Linux上)

pureftpd ,proftpd功能强

vsftpd(Very Secure FTP Daemon) Redhat上默认,安全性高,但功能少

常见的客户端:ftp,lftp, gftp, fliash fxp, cuteftp

#这里以vsftpd为基础介绍安装配置FTP服务器:

vsftpd以ftp用户的身份运行.ftp用户的家目录位于:/var/pub

安装:

1.配置好yum源

2.yum install vsftpd

启动:

server vsftpd start

[此时ftp服务应经可以使用了,需共享的文件复制到/var/pub/即可]

配置:vsftpd 的配置文件在目录/etc/vsftpd/ 下

1.主配置文件:/etc/vsftpd/vsftpd.conf

2.用户控制文件:

/etc/vsftpd/ftpusers :拒绝访问列表

/etc/vsftpd/user_list :根据用户配置决定

主配置文件中常用配置选项:

max_clients 定义用户最大连接数

max_per_ip 定义一个IP的最大连接数

chroot_localuser 把所有用户锁到家目录

anonymous_enable=NO 匿名用户登陆

pam_service

userlist_enable=YES

userlist_deny=YES

vsftpd的高级配置:

虚拟用户的配置使用: [注:配置后本地用户将无法登陆]

基本步骤:

1.建立虚拟FTP用户的帐号数据库文件

2.创建FTP根目录及虚拟用户映射的系统用户

3.建立支持虚拟用户的PAM认证文件

4.在vsftpd.conf文件中添加支持配置

5.为个别虚拟用户建立独立的配置文件

6.重新加载vsftpd配置

7.使用虚拟FTP账户访问测试

一.建立账号数据库

1.vim /etc/vsftpd/vusers.list 目录可自定义

mike

123

john

321

2.cd /etc/vsftpd/

3.bd_load -T -t hash -f vusers.list vusers.db ( yum install db4-utils)

4. chmod 600 vusers.* (为了安全更改权限)

二.创建FTP根目录及虚拟用户映射的系统用户

1.mkdir /var/ftproot

2.useradd -d /var/ftproot -s /sbin/nologin virtual

3.chmod 755 /var/ftproot

4.chown virtual:virtual /var/ftproot (*此步如不配置,登陆后操作会报权限错误)

三.建立支持虚拟用户的PAM认证文件

1.vim /etc/pam.d/vsftpd.vu

写入以下内容:

#%PAM-1.0

auth required pam_userdb.so db=/etc/vsftpd/vusers

account required pam_userdb.so db=/etc/vsftpd/vusers



对应第一步建立的vusers.db

四.在vsftpd.conf文件中添加支持配置

1.vim /etc/vsftpd/vsftpd.conf

配置或添加以下内容:

anonymous_enable=NO --此项更改

local_enable=YES

write_enable=YES

anon_umask=022 --此三项默认应该有

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu --此三项需添加

五.为个别虚拟用户建立独立的配置文件

1.vim /etc/vsftpd/vsftpd.conf

添加如下内容:

user_config_dir=/etc/vsftpd/vusers_dir ("="后为定义的配置文件目录)

2.mkdir /etc/vsftpd/vusers_dir (建立上面定义的目录)

3.cd /etc/vsftpd/vusers_dir (建立配置文件)

touch mike (建立mike配置文件,为空)

vim john (建立并编辑配置文件)

在john配置文件中添加如下内容:

anon_upload_enable=YES

anon_mkdir_write_enable=YES

六.重新加载vsftpd配置

1.service vsftpd reload

七.使用虚拟FTP账户访问测试

测试结果应为:

1. mike用户可以登录,并可以浏览、下载文件,但无法上传

2. john用户可以登录,并可以浏览、下载文件,也可以上传

3.匿名用户或其他系统用户将不能登录

本文出自 “魏巍的Linux酒吧” 博客,请务必保留此出处http://weiweilinux.blog.51cto.com/3349074/641038
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: