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
银河麒麟配置docker 软件源 银河麒麟配置ftp
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
安装银河麒麟桌面操作系统
安装Kylin-Desktop-V10-SP1-HWE-Release-2303-X86_64
银河麒麟操作系统 桌面版 服务器版 -
银河麒麟服务器可视化远程VNC
银河麒麟服务器可视化远程VNC
vim 配置文件 自启动 银河麒麟服务器可视化远程VNC -
mysql 修改为 native
MySQL系统变量(system variables)实际上是一些系统参数,用于初始化或设定数据库对系统资源的占用,文件存放位置等等。这些个系统变量可以分为全局以及会话级别层面来修改,有些也可以进行动态修改。本文主要介绍了系统变量的一些概念以及如何设置查看这些系统变量。1、什么是系统变量 系统变量实际上用于控制数据库的一些行为和方式的参
mysql 修改为 native Database dba mysql global variables