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

【redhat5.5】ftp服务器的配置

2012-03-10 22:17 302 查看
【1】文件共享服务

1】FTP服务器

能够实现公私网上不同操作系统之间的文件共享

2】SMB服务器

实现局域网内不同操作系统间的文件共享

3】NFS服务器

能实现linux/UINX系统之间的文件共享

【2】 FTP服务器简介

1】控制通道 和 数据通道

2】两种工作方式:PORT主动方式 和 PASV 被动方式

主动:

client server

1024+ ----------------> 21

1024+N <---------------- 20

被动:

client server

1024+ ----------------> 21 1024+M

1024+ <---------------

1024+N ----------------> 1024+M

3】 vsftp 默认是根据客户端不同而使用不同模式,windows客户端则使用主动,linux客户端则使用被动

【3】 安装vsftpd软件包

yum install vsftpd

【4】 配置相关

1】主配置文件

/etc/vsftpd/vsftpd.conf

/etc/vsftpd.ftpusers 禁止登录用户列表

/etc/pam.d/vsftp_user.list 与userlist_deny 配合使用 默认YES列表中成员不可以使用FTP 设置为NO时,列表内成员可以使用FTP

2】匿名用户下载文件的目录

/var/ftp

3】端口号

20 : ftp-data

21 : ftp控制

【5】 ftp服务器的常用配置

1】常用的全局配置项

listen=YES: 是否以独立运行的方式监听服务

listen_address=192.168.4.1: 设置监听的IP 地址

listen_port=21: 设置监听FTP 服务的端口号

write_enable=YES: 是否启用写入权限

download_enable=YES: 是否允许下载文件

userlist_enable=YES: 是否启用user_list 列表文件

userlist_deny=YES: 是否禁用user_list 中的用户

max_clients=0: 限制并发客户端连接数

max_per_ip=0: 限制同一IP 地址的并发连接数

2】常用的匿名FTP 配置项

anonymous_enable=YES: 启用匿名访问

anon_umask=022: 匿名用户所上传文件的权限掩码

anon_root=/var/ftp: 匿名用户的FTP 根目录

anon_upload_enable=YES: 允许上传文件

anon_mkdir_write_enable=YES: 允许创建目录

anon_other_write_enable=YES: 开放其他写入权

anon_max_rate=0: 限制最大传输速率,单位为字节

3】常用的本地用户FTP 配置项

local_enable=YES: 是否启用本地系统用户

local_umask=022: 本地用户所上传文件的权限掩码

local_root=/var/ftp: 设置本地用户的FTP 根目录

chroot_local_user=YES: 是否将用户禁锢在主目录

local_max_rate=0: 限制最大传输速率(字节/秒)

【6】 限制本地用户登录

把用户名加入ftpusers中



userlist_enable=YES 启用user_list文件列表

userlist_deny=YES/NO 拒绝/允许user_list文件内的用户登录

ftpusers 优先级高

chroot_local_user=YES #限制所有本地用户在家目录里

指定用户限制,非限制用户依旧可以畅通无阻

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list 凡是名单中的人不允许离开HOME目录

【7】 建立ftp虚拟用户

1】 建立用户数据库文件

test1

123

test2

123

test3

123

2】 安装 db4-utils*软件包

yum install db4-utils*

3】 制作数据库文件

db_load -T -t hash -f ~/ftpuser.txt /etc/vsftpd/vsftpd_login.db

4】 建立验证模式文件

a] 备份/etc/pam.d/vsftpd

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

b] 编辑 /etc/pam.d/vsftpd

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.sodb=/etc/vsftpd/vsftpd_login

5】 建立虚拟用户使用的系统用户

useradd -d /home/vsftp virtual

chmod 755 /home/vsftp

6】 修改配置文件 启用虚拟用户

guest_enable=YES #开启虚拟用户功能

guest_username=virtual #指定虚拟用户使用的系统用户

pam_service_name=vsftpd

virtual_use_local_privs 为 YES时 虚拟用户使用本地用户权限

为 NO时 虚拟用户与匿名用户相同权限

7】 重启系统 登录测试

开启虚拟用户后,本地用户无法登录系统?

8】 添加per_user功能参数,并为每个(虚拟)用户创建配置文件

#echo "write_enable=NO" /etc/vsftpd/vsftp_user_conf/test1

禁止test1上传文件

【8】 客户端使用ftp服务

1】连接服务器

ftp 10.10.68.1



lftp 10.10.68.1

2】上传与下载

ftp 登录时

get test.txt 下载单个文件

put te.txt 上传单个文件

mget a2 a3 a4 下载多个文件

mput d2 d3 d4 上传多个文件

lftp登录时

mirror b 下载文件或目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: