ftp网络服务的搭建和配置

简介:
第一部分:理论
一.FTP服务器基本原理
1.基本概念:ftp文件传输协议:file   transport   protocol
2.传输模式:主动模式和被动模式
3.使用端口 A. 主动模式:命令控制:21   数据传输:20
          B. 被动模式:命令控制:21   数据传输:1024之后的随机端口
二.常用FTP服务器软件
Windows下:iis serverU
Linux下:wu-ftp   proftp   vsftp
三.常用的服务器端软件 vsftp——本章的重中之重:very security  file  transport  protocol
四.常用ftp客户端软件
 1.特点:
FTP客户端软件的特点
运行在图形环境下的窗口程序
可使用鼠标和通过菜单进行操作
用户界面友好,操作方便
       2.:常用FTP客户端软件
CuteFTP, leapftp, flashxp是Windows下流行的商业软件
Filezilla是Windows下运行的开源软件
gftp是Linux中GNOME桌面环境中运行的FTP客户端软件,是GNOME的重要组成部分
五.vsftpd.conf中常用的配置参数:
anonymous_enable=YES  启用匿名用户
local_enable=YES        启用本地用户
write_enable=YES        启用本地用户写权限
local_umask=022         本地用户生成文件的掩码(上传的文件权限是644)
如果上传文件夹总权限777;文件666(可以用file_open_mode=0777)
dirmessage_enable=YES  dirmessage_enable设置为“YES”时当切换到FTP服务器中的某个目录时,将显示该目录下的.message隐含文件的内容
xferlog_enable=YES   xferlog_enable设置为“YES”时FTP服务器将启用上传和下载日志
(日志文件:/var/log/xferlog)
connect_from_port_20=YES   connect_from_port_20设置为“YES”时FTP服务器将启用FTP数据端口的连接请求
xferlog_std_format=YES     xferlog_std_format设置为“YES”时FTP服务器将使用标准的ftpd xferlog日志格式
pam_service_name=vsftpd     pam_service_name设置PAM认证服务的配置文件名称
userlist_enable=YES          userlist_enable设置为“YES”时FTP服务器将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器
(userlist_enable=YES  userlist_deny=NO 表示vsftpd.user_list中用户可以登录)
(userlist_enable=YES  userlist_deny=YES 表示改文件中用户不可以登录)
(默认情况下,userlist_deny=yes 也就说,写到vsftpd.user_list里面的用户不能登录)
listen=YES 设置为yes时,ftp以独立方式启动,否则以超级进程的方式启动
tcp_wrappers=YES    tcp_wrappers设置为“YES”时FTP服务器将使用tcp_wrappers作为主机访问控制方式
chroot_local_user=YES  限制本地用户禁锢在宿主目录里面
max_clients=100 最大客户端
max_per_ip=5   每个ip的最大连接数
local_max_rate=500000  本地用户最大传输速率  (单位byte)
anon_max_rate=200000  匿名用户最大传输速率
listen_port=2121   更改ftp默认端口号
六./etc/vsftpd.ftpusers用于保存不允许进行FTP登录的本地用户帐号
 
七./etc/vsftpd.user_list文件具有对vsftpd服务器更灵活的用户访问控制
     如果想让该文件中的用户禁止登陆ftp服务器,则
       userlist_enable=YES
userlist_deny=YES
    如果想让该文件中的用户允许登陆ftp服务器,则
userlist_enable=YES
userlist_deny=NO
八.vsftpd中支持的用户类型
1.匿名用户:匿名用户名称:ftp和anonymous
2.系统用户:系统当中实际存在的用户
3.虚拟用户:非系统用户
第二部分:实验
实验一:测试匿名用户和系统用户
1.       安装ftp软件包:rpm  –ivh  vsftpd……
2.       启动ftp服务:service   vsftpd   start
3.       在客户端登陆ftp测试。
A.   在cmd里面用测试命令: ftp  服务器ip
B.    用客户端登陆测试 windows客户端:flashxp, cuteftp, leapftp
                 Linux   客户端:gftp(先安装gftp软件包)
试验二:ftp虚拟用户的配置
1.       建立虚拟用户口令库文件(奇数行是用户名,偶数行是密码)
进入/etc/vsftpd 目录,然后新建文件benet
2.       生成vsftpd的认证文件(需要安装db4-util书上没介绍)
db_load -T -t hash -f  /etc/vsftpd/benet  /etc/vsftpd/benet.db
3.       建立虚拟用户所需的PAM配置文件(/etc/pam.d/)
进入/etc/pam.d,然后建立文件ftp,内容如下
      auth required /lib/security/pam_userdb.so  db=/etc/vsftpd/benet(库名)
account required  /lib/security/pam_userdb.so db=/etc/vsftpd/benet(库名)
4.       建立虚拟用户所需要的系统用户
useradd   aa  -d  /virtual(虚拟用户主目录)  -s  /sbin/nologin
5.       建立虚拟用户所要访问的目录并设置相应权限(修改主目录权限700)
chmod    700  -R   /virtual
6.       设置/etc/vsftpd/vsftpd.conf配置文件,在文档末尾添加如下内容:
   guest_enable=YES
guest_username=aa(新建的系统用户)
pam_service_name=ftp(验证模块名称)
   user_config_dir=/etc/vsftpd_user_conf 虚拟用户权限的配置目录
7.       进入/etc/vsftpd_user_conf新建文件aa,bb。这两个文件就是aa和bb用户的权限配置文件,下面的参数就是具体的可能用的参数
anon_world_readable_only=NO    表示用户可以浏览FTP目录和下载文件
anon_upload_enable=YES        表示用户可以上传文件   
anon_mkdir_write_enable=YES    表示用户具有建立目录的权限,不能删除目录
anon_other_write_enable=YES    表示用户具有文件改名和删除文件的权限
local_root=/                  指定虚拟用户的目录
8 . 给aa用户浏览和下载的权限,给bb用户浏览,上传,下载,删除的权限。
补充实验
1.       如何实现匿名用户上传。
在/var/ftp/下新建目录来实现上传。
2.       如何限制本地任意切换主目录。

chroot_local_user = YES



本文转自 gehailong 51CTO博客,原文链接:http://blog.51cto.com/gehailong/263891,如需转载请自行联系原作者

相关文章
|
26天前
|
存储 安全 网络安全
云端防御策略:融合云服务与网络安全的未来之路
在数字化浪潮的推动下,企业纷纷转向云计算以获取灵活性、可扩展性和成本效益。然而,随之而来的是日益复杂的网络威胁,它们挑战着传统的安全边界。本文将探讨如何通过创新的云服务模型和先进的网络安全措施来构建一个既可靠又灵活的安全框架。我们将分析云计算环境中的关键安全挑战,并提出一系列针对性的策略来加强数据保护,确保业务连续性,并满足合规要求。
28 2
|
28天前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
38 0
|
28天前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】Linux 设置和配置PPP pppsetup命令 使用教程
【Shell 命令集合 网络通讯 】Linux 设置和配置PPP pppsetup命令 使用教程
36 0
|
28天前
|
缓存 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
38 0
|
30天前
|
网络协议 网络虚拟化 数据中心
华为配置VXLAN构建虚拟网络实现相同网段互通示例(静态方式)
配置VXLAN构建虚拟网络实现相同网段互通示例(静态方式
|
28天前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
49 1
|
10天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
2天前
|
运维 安全 Cloud Native
安全访问服务边缘(SASE):网络新时代的安全与连接解决方案
SASE(安全访问服务边缘)是一种云基安全模型,结合了网络功能和安全策略,由Gartner在2019年提出。它强调身份驱动的私有网络、云原生架构和全面边缘支持,旨在解决传统WAN和安全方案的局限性,如高延迟和分散管理。SASE通过降低IT成本、提升安全响应和网络性能,应对数据分散、风险控制和访问速度等问题,适用于移动办公、多分支办公等场景。随着网络安全挑战的增加,SASE将在企业的数字化转型中扮演关键角色。
|
10天前
|
网络协议
centos8 网卡 Nmcli(是network的简写 Nmcli)配置网络
centos8 网卡 Nmcli(是network的简写 Nmcli)配置网络
14 0
|
13天前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu篇-配置FTP服务,本机和docker安装
通过以上步骤,你可以在Ubuntu上配置FTP服务,无论是本机安装还是Docker内安装,都可以提供FTP文件传输服务。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
20 1