Linuxftp服务
Linux&&ftp文件传输服务
- FTP文件传输服务
- vsftpd服务基础
- FTP服务概述
- FTP连接及传输模式是什么样的?
- FTP服务的数据连接是被动模式建立的情况下,如何进行防火墙配置?
- FTP服务的传输模式有哪几种?各是什么样的?
- FTP服务的用户有哪几种类型?
- 常见的FTP服务器程序有哪些?
- 常见的FTP客户端程序有哪些?
- 启动软件服务时,为什么许多软件服务名后面有一个d?如httpd,vsftpd,dhcpd等。
- vsftpd的配置文件
- centOS之FTP搭建步骤
- 客户端如何访问FTP服务?
- 基于系统用户的FTP服务
- 匿名访问的FTP服务
- 准备匿名FTP访问的目录
- 开放匿名用户配置并启动vsftpd服务
- 测试匿名FTP服务器
- 用户验证的FTP服务
- 准备基本的本地用户验证
- 使用user_list用户列表文件
- vsftpd服务的其他常用配置
- FTP使用示例
- 基于虚拟用户的FTP服务
- 建立虚拟用户的账号数据库
- 基于虚拟用户的FTP服务实现步骤
- 为vsftpd服务添加虚拟用户支持
- 如何为不同的虚拟用户实现不同的文件配置?
- 如何实现不同虚拟用户的根目录各不相同?
- 客户端命令行登录ftp服务器后如何下载文件?
FTP文件传输服务
vsftpd服务基础
FTP服务概述
ftp是文件传输协议,仅限于上传、下载文件,不支持创建文件。
FTP连接及传输模式是什么样的?
- 控制连接 : 使用TCP协议的21端口,用于发送FTP命令信息
- 数据连接 : 使用TCP协议的20端口,用于客户端与服务之间上传、下载数据。
数据连接的建立有以下两种建立模式:
主动模式 : 服务端从20端口主动向客户端发起连接
被动模式 : 服务端在指定范围内的某个端口被动等待客户端连接。
注:数据连接的使用端口在主动模式下建立时,是TCP的20端口;在被动模式下建立时,是TCP的随机端口号。
FTP服务的数据连接是被动模式建立的情况下,如何进行防火墙配置?
FTP服务的传输模式有哪几种?各是什么样的?
文本模式
ASCII模式,以文本序列传输数据
二进制模式
Binary模式,以二进制序列传输数据
文本模式和二进制模式在数据传输过程中自动协商、切换。
FTP服务的用户有哪几种类型?
- 匿名用户 : anonymous 或 ftp。无法指明用户具体详细信息的用户。
- 本地用户 : 将账号名称、密码等信息保存在服务器端的passwd、shadow文件中的用户。
- 虚拟用户: 使用独立的账号、密码数据文件的用户
常见的FTP服务器程序有哪些?
- IIS、Serv-U、wu-ftpd、Proftpd、vsftpd
- IIS : windows系统中自带的服务.
- Serv-U : 运行在windows系统环境中常见的ftp服务。
常见的FTP客户端程序有哪些?
- ftp命令
- cuteFTP,flashFXP,leapFTP,Filezilla
- gftp,kuftp
启动软件服务时,为什么许多软件服务名后面有一个d?如httpd,vsftpd,dhcpd等。
d : 是Daemon的缩写,指守护进程。
守护进程 : 系统启动时,不需要用户登录即可运行的进程被称为守护进程。在后台运行的进程。
vsftpd的配置文件
centOS之FTP搭建步骤
#固化ip、关闭防火墙
#rpm安装vsftpd服务
rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
#配置vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf#匿名用户允许访问anonymous_enable=YES#匿名用户上传允许anon_upload_enable=YES#匿名用户创建写入允许anon_mkdir_write_enable=YES
#重启服务生效
service vsftpd start
#查看匿名用户默认访问的目录
ls /var/ftp/pub
/etc/vsftpd/ftpusers : 黑名单,禁止使用ftp服务的用户
/etc/vsftpd/user_list : 黑白名单,可以控制名单内用户自由的切换禁止、允许访问ftp的状态。
/etc/rc.d/init.d/vsftpd : 开机启动控制脚本
/etc/vsftpd/vsftpd.conf : ftp主配置文件
当白名单user_list功能启用时,仅在白名单user_list中出现的用户,才可访问ftp服务。
当白名单user_list功能未启用时,只要用户不在黑名单ftpusers 中,即可访问ftp服务。
022 : 指的是644权限掩码
对于ftp来说,其对文件不具备执行权限,所以默认是666。
anon_other_write_enable=YES : 指的是文件和目录的重命名、删除权限。
local_root=/var/ftp : 该功能可以设置普通用户在登录时看到目标目录,而非仅看到用户宿主目录。
chroot_local_user=YES : 指用户只能看到主目录。类似虚根目录的功能。
客户端如何访问FTP服务?
- 客户端打开文件夹,在地址栏访问“ftp://192.168.1.100”即可。
- 或 ftp:dfq@//192.168.1.100 : dfq是用户名。
- 命令行模式下,执行“ftp 192.168.1.100”命令即可。
- 客户端安装客户端软件输入FTP服务器地址、用户名、密码即可连接。
基于系统用户的FTP服务
匿名访问的FTP服务
准备匿名FTP访问的目录
默认支持匿名用户访问
开放匿名用户配置并启动vsftpd服务
测试匿名FTP服务器
用户验证的FTP服务
准备基本的本地用户验证
userlist_enable=YES : 启动黑白名单功能
userlist_deny=NO : 仅令黑白名单的白名单功能生效
使用user_list用户列表文件
vsftpd服务的其他常用配置
FTP使用示例
需求:
操作步骤:
#安装FTP软件包
#创建目标目录,意在将/home作为用户登录的根目录
mkdir /home/caiwu
mkdir /home/yewu
mkdir /home/pub
#创建财务组,业务组
groupadd caiwu
groupadd yewu
#新建用户账号
useradd -g caiwu cw-jl
useradd -g caiwu cw1
useradd -g yewu yw-jl
useradd -g yewu yw1
#更改财务组目录权限
chown cw-jl:caiwu /home/caiwu
chmod 750 /home/caiwu
#更改业务组目录权限
chown yw-jl:yewu /home/yewu
chmod 750 /home/yewu
#更改共享组权限
chmod o+wt /home/pub
#配置vsftpd服务
vim /etc/vsftpd/vsftpd.conf#禁止匿名用户登录访问anonymous_enable=NO#限制用户登录后的根目录local_root=/homechroot_local_user=YES
#重启服务生效
service vsftpd restart
基于虚拟用户的FTP服务
建立虚拟用户的账号数据库
虚拟用户:每个用户的 权限状态,访问位置均可独立设置。管理灵活。
虚拟用户仅能在FTP服务中使用。身份单一。
每个虚拟用户均有独立的配置文件,便于权限设置。
基于虚拟用户的FTP服务实现步骤
#创建账号数据
##建立虚拟FTP用户的账号数据库文件
### 建立虚拟用户的账号名、密码列表,注意用户前面不能留有空格!
vim /etc/vsftpd/vusers.listdfq1 #奇数行为账号名123456 #偶数行为上一行中账号的密码dfq2 #奇数行为账号名123456 #偶数行为上一行中账号的密码
###安装db4-utils软件包,借助db_load转换工具,将列表转化为Berkeley DB格式的数据文件
cd /etc/vsftpd/
db_load -T -t hash -f vusers.list vusers.db
#查看vusers.db文件类型
file vusers.db
#更新虚拟用户文件权限,更改为只允许root用户读写。
chmod 600 /etc/vsftpd/vusers.*
##创建FTP根目录及虚拟用户映射的系统用户
###虚拟用户仅限于ftp环境中登录时验证使用;而在系统中对目录、文件、资源进行访问时,需要将虚拟用户切换或映射成系统用户使用。
####“/var/ftproot” :宿主目录,“virtual” : 虚拟用户名,“/sbin/nologin” : 不能从tty终端登录。
useradd -d /var/ftproot -s /sbin/nologin virtual
chmod 755 /var/ftproot
##建立支持虚拟用户的PAM认证文件,"/etc/vsftpd/vusers"对应上面创建的vusers.db文件。
####“/etc/pam.d/vsftpd”代表本地用户如何验证的。
vim /etc/pam.d/vsftpd.vu#%PAM-1.0auth required pam_userdb.so db=/etc/vsftpd/vusersaccount required pam_userdb.so db=/etc/vsftpd/vusers
##在vsftpd.conf文件中添加支持配置
vim /etc/vsftpd/vsftpd.confanonymous_enable=nolocal_enable=YESwrite_enable=YESanon_umask=022guest_enable=YESguest_username=virtualpam_service_name=vsftpd.vu
##重启服务生效
service vsftpd restart
pam : 认证机制.
虚拟用户一旦启动,本地(系统)用户将不能使用,因为本地用户验证是通过pam验证的,本地用户文件与虚拟用户文件是同等的,本地用户与虚拟用户不能同时用于“pam_service_name”。会冲突。
##客户端使用虚拟用户登录vsftpd服务
#打开文件夹,访问“ftp://192.168.10.11”
为vsftpd服务添加虚拟用户支持
如何为不同的虚拟用户实现不同的文件配置?
#在vsftpd.conf文件中添加用户配置目录支持
vim /etc/vsftpd/vsftpd.conf#添加不同用户独立配置目录的支持user_config_dir=/etc/vsftpd/vusers_dirmkdir /etc/vsftpd/vusers_dir
cd /etc/vsftpd/vusers_dir
#为虚拟用户dfq1创建独立配置文件
vim dfq1anonymous_enable=YESanon_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESanon_max_rate=0#local_root=/var/ftp1
vim dfq2anonymous_enable=YES#匿名或虚拟用户上传到服务器的文件,文件权限是怎样的?anon_umask=022anon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YESanon_max_rate=0#local_root=/var/ftp2
"anon_umask=022"可以确保不同权限的用户创建的文件,其他用户可读。
如何实现不同虚拟用户的根目录各不相同?
mkdir /home/caiwu
mkdir /home/yewu
chown virtual.virtual /home/caiwu
chown virtual.virtual /home/yewu
chmod 755 /home/caiwu
chmod 755 /home/yewu
cd /etc/vsftpd
vim vusers.listcw-jl123456cw1123456
db_load -T -t hash -f vusers.list vusers.db
cd /etc/vsftpd/vusers_dir
vim cw-jl#此时用户cw-jl登录时,访问的目录是/home/caiwu,并且对该目录具备写权限local_root=/home/caiwuanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES
客户端命令行登录ftp服务器后如何下载文件?
ftp 192.168.10.11
#查看客户端的当前路径
ftp>!pwd
#查看服务器端的当前路径
ftp>pwd
#切换客户端的当前路径到/tmp下.“l”代表local
ftp>lcd /tmp
#从ftp服务器端下载文件ddd到客户端的当前路径下
ftp>get ddd
#将客户端当前路径下的文件aaa上传到ftp服务器目录下
ftp> put aaa
#使用mget从服务器下载多个文件到客户端当前路径,使用mput上传客户端当前路径下的多个文件到服务器端。
ftp>mget ddd aaa
#退出连接
ftp>by
Linuxftp服务相关推荐
- Qt开发遇到的坑---kalrry
Qt开发遇到的坑---kalrry 一.依赖引入坑 二.Qt在Debug时报错 1.编译器是 **MSVC** 还是 **MinGW** 2.编译器 32位 还是 64位 三.Qt+MSVC编译后中文 ...
- 06-JAVA面试核心知识点整理(时间较多的同学全面复习)
JVM (1) 基本概念: JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收,堆 和 一个存储方法域.JVM 是运行在操作系统之上的,它与硬件没有直接的 ...
- iPhone应用程序编程指南
介绍 请注意:本文档之前命名为iPhone OS编程指南. iPhone SDK为创建iPhone的本地应用程序提供必需的工具和资源.在用户的Home屏幕上,iPhone的本地应用程序表示为图标.它们 ...
- LINUXftp文件共享服务
目录 简介 模式 协议 连接方式 FTP服务配置 测试 设置本地用户访问禁止匿名用户登陆 测试 使用user_list 用户列表文件 测试编辑 简介 FTP是文本传输协议用于internet上控制文 ...
- linux的ftp服务 实验报告,Linux-FTP服务器配置实验报告.docx
实验六?Linux?系统环境下的?FTP?服务 器安装与配置 一.实验目的 (1)掌握?Vsftpd?服务器的配置安装方法. (2)熟悉?FTP?的使用. (3)掌握?FTP?服务器的启动与停止操作. ...
- LinuxFTP文件传输服务和DNS域名解析服务
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易, ...
- 【Linux】26_文件服务FTP Server
目录 FTP简介 FTP Server 默认配置 FTP Clinet(客户机) FTP启动上传功能 FTP简介 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP ...
- linux 文件服务,Linux操作系统之文件服务(ftp、nfs)
一.FTP server 1.简介 名词解释:FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中应用层的协议之一. logo: 作用: 提供文件共享服务, ...
- ubuntu开启客户端nfs服务_linux系统文件服务
## FTP Server FTP是TCP/IP协议组中应用层的协议之一 给用户提供文件共享服务,互联网上的媒体资源和软件资源.绝大部分都是通过FTP服务器传递 控制端口 command 21 /tc ...
最新文章
- 怎样学会单片机?先学什么,怎么入门?
- SQL Server 判断数据库是否存在,表是否存在
- 每日一皮:不同的视角看待问题...
- springboot项目启动后无法访问index.html首页
- canvas的getImageData和putImageDataAPI
- 相机标定方法机理总结与公式推导(Camera calibration)
- 配置eclipse编写html/js/css/jsp/java时自动提示
- 数学类网站、代码(Matlab Python R)、编程站点
- [POJ2195]Going Home(带权最大匹配,KM,最小费用流)
- 推荐:网站SEO内链详细操作指南
- 大地测量学基础(复习)第一部分
- ps入门第10天_ps色彩平衡ps色相饱和度
- java SE复习笔记54
- 两百行代码实现王校长大战鸡你太美
- matlab syms类型,matlab中syms类型的转换
- 基于VS+Opencv2.4.10的微信跳一跳辅助工具
- 【音视频工具】前端屏幕录制工具 + 录制<video>标签内容
- DC/DC电源输入输出滤波电容摆放位置
- 动态规划(DP)01
- 洛谷 P1423 小玉在游泳 AC