热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux系统入门之部署FTP服务

1.FTP的定义FTP(文件传输协议)是internet上仍常用的最老的网络协议之一,基于客户端服务端模式,默认使用202

1.FTP的定义

FTP(文件传输协议)是internet上仍常用的最老的网络协议之一,基于客户端/服务端模式,默认使用20 21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关ftp命令与参数。ftp服务器普遍部署于内网中,具有容易搭建 方便管理的特点。而且ftp客户端工具还支持文件的多点下载以及断点续传技术。因此ftp服务得到了广大用户的青睐。
在RED HAT ENTREPRISE LINUX 6中。FTP服务器包的名称为VSFTPD very secure file trandferprotocol damon 服务器名称也叫做vsftpd。vsftpd服务有三种认证模式:匿名开放模式,本地用户模式,虚拟用户模式。

默认配置文件让ANONYMOUS用户只能下载位于CHROOT目录中的内容。/var/ftp这意味着远程FTP客户端能以用户anonymous 或 ftp 身份连接到服务器(无需密码),并从ftp服务器上的/var/ftp 目录下载文件(其本地用户可以读取这些文件)

2.ftp服务的基本信息


软件安装包:    vsftpd
默认发布目录:    /var/ftp
协议接口:    21/tcp
服务配置文件:    /etc/vsftpd/vsftpd.conf

报错id的解析:
530----用户认证失败
550----服务本身功能未开启
553----本地文件系统 权限过小
500----文件系统权限过大

3.部署ftp服务

3.1准备工作:

hostnamectl set-hostname ftp_server.westos.com        ##修改主机名
vim /etc/sysconfig/network-scripts/ifcfg-eth0         ##配置网络
systemctl restart network            ##重启网络


    cd /etc/yum.repos.d/                ##确认yum源正确


 getenforce                   
  vim /etc/sysconfig/selinux             ##修改getenforce=disable


 reboot                        ##修改完成后reboot重启

 

安装 ftp: yum install lftp -y       


systemctl start vsftpd    ##启动vsftpd服务
systemctl enable vsftpd    ##设置vsftpd服务开机自启


  systemctl status firewalld.service
  firewall-cmd --list-all
  firewall-cmd --permanent --add-service=ftp                 ##设置防火墙允许ftp服务

3.2匿名开放用户:一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器。

这种模式一般用来访问不重要的公开文件(在生产环境中尽量不要存放重要文件)

vsftpd服务默认开启匿名开放模式。我们需要做的就是开放匿名 用户的上传/下载文件的权限,以及让匿名用户创建 删除 更名文件的权限。需要注意的是,针对匿名用户开放这些权限会带来潜在的危险,我们只在linux系统中练习配置vsftpd而开放上述权限,在生产环境中不建议如此配置。

修改ftp服务的配置 命令vim /etc/vsftpd/vsftpd.conf

每次修改完成后需要重启vsftpd服务,systemctl restart vsftpd.service 实验过程中不再赘述。

&#xff08;1&#xff09;anonymous_enable&#61;YES|NO     <匿名用户是否可以登陆>

&#xff08;2&#xff09;<匿名用户上传>   

             anon_upload_enable&#61;YES

             write_enable&#61;YES     

修改目录权限&#xff1a;

chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub

&#xff08;3&#xff09;anon_root&#61;/新目录     <匿名用户家目录修改>

&#xff08;4&#xff09;anon_unmask&#61;***      <匿名用户上传文件默认权限修改>

&#xff08;5&#xff09;<匿名用户建立目录>

&#xff08;6&#xff09;<匿名用户下载>

&#xff08;7&#xff09;<匿名用户删除>

&#xff08;8&#xff09;<匿名用户使用的身份修改>

&#xff08;9&#xff09;最大上传速率anon_max_rate

          最大连接数max_clients&#61;3

3.3本地用户模式

本地用户模式更安全&#xff0c;配置更简单。

&#xff08;1&#xff09;本地用户是否可以登录local_enable&#61;YES|NO

(2)ftp对登录用户可写write_enable&#61;YES|NO

修改为NO 不可写

修改为YES 可上传 可删除

本地用户上传文件权限local_umask&#61;022

&#xff08;3&#xff09;本地用户家目录修改

&#xff08;4&#xff09;限制本地用户浏览目录

所有本地用户被锁定在自己的家目录中 无法访问/目录 安全性增强

用户黑名单建立

在/etc/vsftpd/chroot_list文件中写入的用户名&#xff0c;该用户被所在自己的家目录中

用户白名单

chroot_local_user&#61;YES

chroot_list_enable&#61;YES

名单中的用户student没有被锁 其他用户被所在家目录中

 

&#xff08;5&#xff09;限制本地用户登录

永久黑名单/etc/vsftpd/ftpusers

a.在/etc/vsftpd/ftpusers中加入用户

b.在配置文件/etc/vsftpd/vsftpd.conf中加入userlist_deny&#61;YES 重启服务

用户临时黑名单&#xff1a;

在/etc/vsftpd/user_list中加入用户名 效果与上述操作相同 不再赘述

用户白名单

a.在/etc/vsftpd/ftpusers中加入用户

b.在配置文件/etc/vsftpd/vsftpd.conf中加入userlist_deny&#61;NO 重启服务

3.4虚拟用户模式

虚拟用户模式在三种模式中最安全的一种认证模式

&#xff08;1&#xff09;在/etc/vsftpd目录下建立文件  创建用户进行FTP认证的用户数据库文件&#xff0c;其中奇数行为账户名&#xff0c;偶数行为密码。

&#xff08;2&#xff09;文件加密 db_load -T -t hash -f viruser viruser.db

-T 表示转换  -t 表示加密方式为哈希加密 -f 表示加密文件为/etc/vsftpd/viruser

&#xff08;3&#xff09;在/etc/pam.d.viruser 写入以下内容进行安全认证

&#xff08;4&#xff09;在配置文件vsftpd.conf文件中写入以下内容 重启服务

&#xff08;5&#xff09;测试&#xff1a;虚拟用户成功的登录 进入的都是本地用户的加密目录

虚拟用户配置独立

让虚拟用户相互独立 只能查看自己的家目录

&#xff08;1&#xff09;给每个虚拟用户建立自己的家目录

&#xff08;2&#xff09;修改配置文件vsftpd.conf

(3)测试

虚拟用户的权限设置

&#xff08;1&#xff09;新建目录与文件

在user1文件中写入anon_upload_enable&#61;YES 表示只允许user1上传文件

&#xff08;2&#xff09;将vsftpd.conf配置文件中 匿名用户上传文件的功能注释掉

并添加user_config_dir&#61;/etc/vsftpd/viruserdir 指向刚才创建的目录 重启服务

&#xff08;3&#xff09;测试结果&#xff1a;user1可以上传文件 其他匿名用户不能上传文件

 

 


推荐阅读
  • FTP服务ftp的报错及用户管理
    ftp服务常见报错530报错认证失败(密码错误或者服务端拒绝)550服务本身未开启553文件系统不可写(权限问题)500服 ... [详细]
  • 基于SSL的mysql服务器的主从架构实现说明:本文选用172.16.22.1作为主服务器,172.16.22.3作为从服务器从服务器的mysql软件版 ... [详细]
  • PHP程序员玩转Linux系列 搭建FTP代码开发环境
    PHP程序员玩转Linux系列搭建FTP代码开发环境-PHP程序员玩转Linux系列文章:有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的是让大家 ... [详细]
  • 使用SFTP密钥进行根目录不受限制的指定(第三部分)
    20190127之前限制ChrootDirectory之后,需要对原有环境改造较多1.之前配置的网站都是直接存在在了varwww2、还没有部署网站的新服务器&#x ... [详细]
  • linux搭建FTP
    linux下FTP的搭建及优化[日期:2007-11-04]李磊19840817吴康[字体:大中小]首先安装Linux企业版第一张光盘中的vsftpd- ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • linux ftp 线程数设置,Linux搭建ftp在windows下这么访问,需要怎么设置【设置vsftp最大连接数和每个ip的最大连接数】...
    文章来源:http:zhidao.baidu.comlink?urlLOfStD1kcxGhI_D5qC7oka3_4QZc1nn1SJwWaSd4onWoVl5Wt ... [详细]
  • 阿里云如何部署php(2023年最新分享)
    导读:很多朋友问到关于阿里云如何部署php的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
  • Linux终端远程工具xshell,xftp,mobasterm
    目录软件介绍1.xshell第一步:第二步:第三步:第四步:第5步:2.xftp第一步 ... [详细]
  • 明明白白用Qt5.10编写FTP客户端
    使用Linux自带工具实现定时下载FTP文件(文末)前言自从Qt5删除了QFtp模块后,就没有了可方便使用的FTP类。根据官方的说法&# ... [详细]
  • linux 命令——screen
    最近遇到一个东西aria2,这个玩意,这个是啥呢?Aria2是一个轻量级Linux下载软件,支持HTTPHTTPS,FTP,SFTP,BitTorrent和磁力链接(官方版),公司 ... [详细]
author-avatar
w3cbj.cn
w3c笔记,程序员专属笔记云平台,24种代码高亮!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有