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

【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 下载文件或目录


你可能感兴趣的:(redhat)