FTP 文件共享服务

FTP 文件共享服务 基于tcp协议  端口:tcp 21(三次握手建立连接);tcp 20(数据传输)

工作模式  应用层

根据客户端的角度划分的:

[主动模式]

客户端开启一个1024以上的动态端口如:(2000)

--》连接服务器21号端口进行三次握手建立连接,三次握手的过程中会有延迟,延迟过程中:

客户端再次开启一个比上一个端口大1的端口(2001),监听

--》客户端给服务器发送命令Port2001,告知服务器,客户端的数据传输端口的2001

--》服务器端开启20端口与客户端的2001号端口建立连接进行数据通信

[被动模式]

客户端开启一个动态端口(2000)

--》连接服务器21号端口进行三次握手建立连接,三次握手的过程中会有延迟,延迟过程中:

客户端再次开启一个比上一个端口大1的端口(2001),监听

--》客服端给服务器端发送pasv命令,告知服务器,客户端现在处于被动模式,等待服务器端主动连接客户端

--》服务器端给客户端发送Port3000命令,告知给客户端,服务器端的数据传输端口的3000

--》客户端拿着2001号端口与服务器端的3000号端口建立连接进行数据通信

实验准备

两台服务器linux系统 centos 7.1

关闭防火墙

systemctl stop firewalld 临时关闭

systemctl disable firewalld 永久关闭

关闭selinux

setenforce 0 临时关闭

sed -i ‘/SELINUX/s/enforcing/disabled/g‘ /etc/selinux/config 永久关闭

yum -y install ftp    客户端安装FTP服务

yum -y install vsftpd  服务端安装vsftp服务

启动服务

systemctl enable vsftpd  开启自动启动服务

systemctl restart vsftpd 重启服务

systemctl stop vsftpd   停止服务

主配置文件 /etc/vsftpd/vsftpd.conf

#12 开启匿名访问

#16 允许本地的实体账户登陆

#19 允许实体账户有写权限

#23 创建文件的权限644(实体用户)

#29 允许匿名用户上传(只能上传文件不能上传目录)

#33 匿名创建目录的权限

#37 记录访问开启

#40 开启日志记录功能

#43 开启20号端口数据传输

#48、49  改变上传文件的属主

#53 日志所在的路径及文件名

#57 日志记录时是否采用标准格式

#60 会话连接超时时间600s

#63 数据传输超时时间120s

#82 上传数据传输模式

#90 不允许匿名用户的邮箱地址作为其密码

#92 记录文件的邮箱地址

#100 实体账户只让其在默认登录的位置活动

#101 开启其列表功能

#103 列表的存放位置及路径

#114 拒绝监听(ipv4)

#123 ipv6监听,能帮助监听ipv4

#125 用户认证  映射认证列表

#126 只要在用户列表中的用户都不能登录ftp

实验一

在配置文件中的特殊设置(实体用户切换目录限制)

【不允许实体用户切换路径,只能在默认访问位置活动】

vim /etc/vsftpd/vsftpd.conf

100行 解注释(即将#号去掉) 开启实体用户切换目录功能

chroot_local_user = yes

手动添加

allow_writeable_chroot = yes 允许用户进行登陆

101行 解注释

chroot_list_enable = YES 开启用户列表功能,在该列表中的用户可以切换路径

103行 解注释

chroot_list_file = /etc/vsftpd/chroot_list

指定用户列表所在路径及文件名,手动创建

vim /etc/vsftpd/chroot_list

加入到列表中的用户可以切换路径,列表外的用户不可以

重启服务验证

实验二

vim  etc/vsftpd/vsftpd.conf

在配置文件中特殊权限设置 (允许匿名用户使用权限)

【实现匿名用户上传、创建目录、删除等权限】

29行 解注释

anon_upload_enable = YES 开启匿名用户上传功能,只能上传文件

33行 解注释

anon_mkdir_write_enable = YES 创建目录权限

34行 解注释

anon_other_write_enable = YES 手动添加,开启匿名用户的其他写权限

重启服务验证

客户端验证

用户名:ftp

密码:任意

修改匿名用户默认登陆位置的安全权限(属主、属组)

chown -R ftp.ftp /var/ftp/pub

重启服务验证

客户端:可以上传、创建目录、删除等

实验三

用户限制配置文件 /etc/vsftpd

【限制实体系统用户的登陆】

用户列表文件:ftpusers、user_list

ftpusers:

只要在给列表中的用户都拒绝访问

user_list:

在主配置文件中设置

userlist_enable = yes/no

若该项值为YES -》 开启用户列表功能,在user_list中用户拒绝登录

若该项值为NO -》 user_list列表失效

userlist_enable = yes

若userlist_deny = YES 表示列表内用户不允许登陆,列表外用户只能命令行登陆

若userlist_deny = NO  只有在列表中用户可以登录

实验四

虚拟用户:w

思想:客户端需要通过账号和密码登录,但是该账户不是系统中的实体账号,而是一个虚拟账号

在服务器端创建一个实体账户,将该账户映射到多个虚拟账号上

1.新创建虚拟账号文本文件 /etc/vsftpd

vim vftpuser (奇数行写用户名,偶数行写密码)

snow

123

lisa

321

不能有多余的空行

保存退出

2.将文本文件制作数据库文件

命令:db_load -T -t hash -f /vftpuser  /etc/vsftpd/vftpuser.db

-T :将文本文件中内容导入到数据库文件中

-t :指定加密算法为hash

-f :指定文本文件,生成的库文件所在路径及文件名

3.配置验证文件  /etc/pam.d/vsftpd

将原验证文件备份

cp /usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam  /etc/pam.d/vsftpd 拷贝模板验证文件

vim /etc/pam.d/vsftpd

auth required pam_userdb.so db = /etc/vsftpd/vftpuser

account required pam_userdb.so db = /etc/vsftpd/vftpuser

执行数据库文件的位置及文件名,注意不需要加.db

4.创建实体账户,将其映射到多个虚拟账户

#useradd -d /var/ftp/vftp test  创建新账户test  并指定家目录路径

#chmod 777 /var/ftp/vftp

修改主配置文件 vim /etc/vsftpd/vsftpd.conf

在最下面一行添加

guest_enable = yes 开启虚拟用户

guest_username = test 映射的实体账号

5.重启服务验证

[注]开启虚拟用户功能后,所有实体账户都不能登录

若要实体账户登录,需将实体用户加入到~/vftpuser中

systemctl status vsftpd -l 显示详细状态

实验五:

限制虚拟用户的权限

vim /etc/vsftpd/vsftpd.conf

【将所有的匿名功能关闭】

在最下一行添加

user_config_dir = /etc/vsftpd/vftp

【设置所有虚拟用户的权限限制文件的路径】

#cd /etc/vsftpd/vftp

vim snow

anon_world_readable_only = yes 开启读权限

write_enable = yes 开启写权限

anon_upload_enable = yes 上传

anon_mkdir_write_enable = yes 创建目录

anon_other_write_enable = yes 其它写权限

保存退出,重启服务验证

时间: 2024-12-11 00:26:47

FTP 文件共享服务的相关文章

ftp文件共享服务详解

 ftp 文件共享服务,文件的上传下载 跨平台,tcp协议 21号(命令端口) 20号(数据端口,主动模式) 默认情况 ftp服务运行被动模式 vsftpd:软件 非常安全的rpm -qi vsftpdvsftpd is a Very Secure FTP daemon. It was written completely fromscratch. 主动模式:被动模式:验证:默认是在被动模式下,被动模式和主动模式可以切换 主动: server client 20 21 n m <--------

部署ftp文件共享服务

部署ftp文件共享服务 一.部署ftp服务 常用的部署网络服务的步骤: 部署 FTP 服务器 ? FTP ( 文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法 ? 在 RED HAT ENTREPRISE LINUX 6 中. FTP 服务器包的名称为 VSFTPD , 它代表 Very Secure File Transfer Protocol Damon 服务器名称也叫做 vsftpd ? 默认配置文件让 ANON

linux笔记 2-9 ftp文件共享服务

*****************9.ftp文件共享服务*************** 为保证实验正常进行,需修改配置文件 ##1.安装ftp##yum install vsftpd -y             //安装软件systemctl start vsftpd            //启动软件服务firewall-cmd --list-all           //查看火墙中允许的服务firewall-cmd --permanent --add-service=ftp //将ftp

部署ftp 文件共享服务

第九单元 1 安装ftp yum install  vsftpd   -y systemctl  start  vsftpd Systemctl  stop firewalld Systemctl  enable  vsftpd lftp ip         ##能登陆并且显示,表示安装成功 如果不想关闭防火墙,就将其列入firewall-cmd --list-all中 过程如下: [[email protected] Desktop]# getenforce Disabled [[email

第九单元 部署 ftp 文件共享服务

1.部署 FTP 服务器 FTP ( 文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法 在 RED HAT ENTREPRISE LINUX 6 中. FTP 服务器包的名称为 VSFTPD , 它代表 Very SecureFile TransferProtocol Damon 服务器名称也叫做 vsftpd 默认配置文件让 ANONYMOUS 用户只能下载位于CHROOT 目录中的内容. /var/ftp/ 这意味

文件共享服务之FTP

文件共享服务 一.什么是文件共享服务 简单来说就是文件或存储块设备可以共享给大家使用 (一).实现共享服务有三种: 1.ftp:属于应用层服务,可以跨平台使用(linux<->unix<-->windows) 2.nfs:属于内核模式,不可以跨平台(linux<-->linux) 3.samba:可以跨平台(linux<-->unix<-->windows) (二).实现存储设备与服务器连接的方式有三种: 1.DAS:连接的磁盘 2.NAS:通过

第十章 网络文件共享服务之ftp

10.1 ftp介绍 网络文件共享服务主流的主要有三种,分别是ftp.nfs.samba.在上一章中我们已经了解了nfs,本章我们将来说说ftp. FTP是File Transfer Protocol(文件传输协议)的简称,用于internet上的控制文件的双向传输. FTP也是一个应用程序,基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件. 在FTP的使用当中,用户经常遇到两种概念:下载和上传 下载(Download)文件就是从远程主机拷贝文件至自己的计算

Linux 中的文件共享服务

Linux 中的文件共享服务 ============================================================================== 概述:    本章将主要介绍文件共享服务中的ftp服务,内容包括:ftp的程序环境,配置文件的相关介绍,以及如何配置基于虚拟用户的vsftpd服务 文件服务 1)介绍 ★ftp: 应用层,C/S架构,文件共享:file transfer protocol: ★nfs,cifs:文件系统接口,网络文件系统: ☉n

Samba网络文件共享服务介绍

Samba网络文件共享服务 一.samba简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件.后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一