银河麒麟V10 SP2搭建vsftp服务

本文介绍了vsftpd的作用、工作原理,以及如何配置它以提供安全的文件共享服务,包括匿名用户、全局配置、本地用户的设置。重点讲解了如何设置权限、数据传输模式和常用客户端工具如lftp和ftp的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vsftpd 的作用:
提供各主机之间文件共享服务,可以应用在互联网中
能支持上传下载目录,安全性比tftp高,功能更强大,双向传输,不受操作系统限制,只要支持vsftpd协议,就是vsftpd服务器。

ftp协议 文件传输协议

ftp的工作模式:
1.主动模式
2.被动模式

两个端口
ftp端口 21(连接端口) 20(数据端口)

主动
c s
c 1025-------------------------连接通道--------------> 21 (连接端口) s
预先开启1025(数据端口)
s 20(数据端口)-------数据通道--------------> c 1026

客户端使用1024以上的端口连接服务器的21号端口,并且会事先开启一个1026的端口准备让服务器连接,服务器得知客户端准备的端口后,就用20端口与客户端连接,创建数据链路时server端处于主动连接客户端的状态故称为主动传输模式。

被动
c 1025-------------------------连接通道--------------> 21 (连接端口) s
接受后预先开启1026
c 1028---------------------------> 1026 s

客户端使用1024以上的端口连接服务器的21号端口,服务器接到连接请求后开启1026端口等待客户端来连接,再通知客户端这个等待连接的端口号是1026
客户端接受到服务器的信息后,开启一个新的端口1028与1026进行连接,创建数据连接时,server端处于被客户端连接的状态,故称为被动传输模式



数据传输模式
ascii
二进制

ftp服务端
vsftpd

客户端
lftp
ftp
 

服务端:


准备工作
1.关闭防火墙
/etc/init.d/iptables stop
chkconfig iptables off

2.关闭selinux
vim /etc/sysconfig/selinux
SELINUX=disabled | permissive

setenforce 0

3.配置固定ip地址

搭建vsftpd服务
vsftpd-2.2.2-11.el6_4.1.x86_64

1.查看软件是否安装
# rpm -qa |grep vsftpd
vsftpd-2.2.2-11.el6_4.1.x86_64

2.安装软件包
# yum install vsftpd -y

3.查看软件包产生的文件
# rpm -ql vsftpd
/etc/logrotate.d/vsftpd 做日志切割
/etc/pam.d/vsftpd 认证相关的
/etc/rc.d/init.d/vsftpd 启动脚本
/etc/vsftpd 配置文件的主目录
/etc/vsftpd/ftpusers 做访问控制
/etc/vsftpd/user_list 做访问控制
/etc/vsftpd/vsftpd.conf 配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh 配置文件的脚本
/usr/sbin/vsftpd vsftpd相关命令
...
/var/ftp 通过客户端进去的家目录 即匿名用户家目录 (权限很严格,只有root账户有权限,是ftp的根目录)<-----ftp的特点
/var/ftp/pub 默认上传下载的目录

# /etc/init.d/vsftpd restart 启动服务 临时
chkconfig vsftpd on 开机启动 2 3 4 5
chkconfig --level 5 vsftpd on 只在5级别开机启动

提供三类用户访问:本地用户,匿名用户,虚拟用户
本地用户:服务器上存在的用户
匿名用户:实际上有一个与之对应的系统账户,ftp这个用户默认就是匿名用户所对应的用户,匿名用户被映射为ftp
 

客户端:


lftp
ftp

1. # yum install lftp ftp -y

2. # lftp 192.168.1.17

? 查看帮助
help [<cmd>] 查看帮助

ls [<args>] 查看文件列表

cd <rdir> 切换服务器上目录
lcd <ldir> 切换本地目录 等同与 !cd

pwd [-p] 显示当前绝对路径

exit [<code>|bg] 退出

cat [-b] <files> 查看文件的内容
more <files> 查看文件内容

put [OPTS] <lfile> [-o <rfile>] 上传
mput [OPTS] <files> 批量上传

get [OPTS] <rfile> [-o <lfile>] 下载 把服务器上的文件下再到本地某个位置
get a.txt -o /tmp/b.txt 下载且重命名
mget [OPTS] <files> 批量下载

mirror [OPTS] [remote [local]] 上传或下载目录
mirror 目录名 下载目录到本地
mirror -R 本地目录 上传本地目录到服务器

mkdir [-p] <dirs> 创建目录

rm [-r] [-f] <files> 删除文件

!<shell-command>
!ls
!pwd
查看本地当前目录有哪些文件
无!的命令都表示在服务器上执行


ftp 192.168.1.17
? 帮助
help
! 本地命令
get 下载
mget 批量下载
put 上传
mput 批量上传
mkdir 创建目录
pwd 显示当前绝对路径
exit 退出 quit bye
cd 切换目录
lcd 切换本地目录
ls 查看当前目录列表
rmdir 删除目录
delete 删除文件
mdelete 删除多个文件

--------------------------------------------------------
# vim /etc/vsftpd/vsftpd.conf

----------------------------匿名用户----------------------------------


注:默认支持下载,无需设置下载权限

允许匿名用户访问ftp
anonymous_enable=YES

允许匿名用户上传文件
anon_upload_enable=YES
chmod o+w /var/ftp/pub

匿名用户可以创建目录
anon_mkdir_write_enable=YES

支持匿名用户删除文件和目录 (只可以删除空目录rmdir rm)
anon_other_write_enable=YES

匿名用户只可以下载可读的文档 想下载必须有读权限
anon_world_readable_only 默认开启

更改匿名用户默认上传下载的路径
anon_root=/pub

当匿名用户上传文件的时候可以改变上传文件的拥有人
chown_uploads=YES
chown_username=root
 

----------------------------全局配置-----------------------------------


进入目录的时候有消息提示
dirmessage_enable=YES
如果想切换到ftp指定的路径下有消息提示需要在指定的目录创建一个.message
vim /var/ftp/.message
--welcome to ftp

日志相关的设置
xferlog_enable=YES //启用日志 上传下载的信息会记录在日志中
xferlog_file=/var/log/xferlog //设置日志文件的路径名称
xferlog_std_format=YES //启用 日志的记录格式 日志将会写成xferlog标准格式

主动模式端口
connect_from_port_20=YES

空间会话超时时间,连接后600s内无任何操作就强制退出,做控制连接
idle_session_timeout=600

数据连接超时 限制下载过大的文件 下载文件的时间不能超过120s
data_connection_timeout=120

修改默认的安全用户 之前的安全用户是ftp
nopriv_user=ftpsecure 最开始的 可以改为:nopriv_user=tom

ascii_upload_enable=YES
ascii_download_enable=YES

定义登录ftp服务器的欢迎信息
ftpd_banner=Welcome to blah FTP service.

拒绝邮件
deny_email_enable=YES
banned_email_file=/etc/vsftpd/banned_emails

递归显示 ls -R
ls_recurse_enable=YES

监听ipv4地址
listen=YES
 

-----------------------------本地用户---------------------------------


local_enable=YES

本地用户可以上传
write_enable=YES

本地用户上传下载文件的umask
local_umask=022

更改本地用户默认上传下载的路径 创建/localroot目录
local_root=/localroot

所有人都不能切换
chroot_local_user=YES 开启禁锢功能 开启后下面两条不需要设置,所有人不能切换
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/chroot_list

黑名单 在清单里面的人不可以切换
chroot_local_user=NO
chroot_list_enable=YES 禁锢用户列表
chroot_list_file=/etc/vsftpd/chroot_list 在此文件中的用户都被禁锢 此文件事先不存在自己创建

白名单 所有在此清单里面的人可以切换目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

vim /etc/vsftpd/chroot_list
tom

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值