小白带你学习文件共享服务器FTP和SAMBA的学习(二十二)

简介: 小白带你学习文件共享服务器FTP和SAMBA的学习(二十二)



前言

FTP(File Transfer Protocol)是一种用于在网络上传输文件的标准协议。它允许用户通过将文件从一个计算机传输到另一个计算机来共享和访问文件。

一、概述

FTP:linux下最常见的文件服务器,工作于应用层,实现文件传输

FTP:file transfer protocol  文件传输协议

二、FTP连接类型

1、命令连接

客户端发起请求,服务器响应

默认一直保持连接

2、数据连接

按需打开,按需关闭,与命令连接相关联

有可能同时打开多个数据连接

三、端口

控制连接   TCP/21

数据连接   20/随机端口

四、工作模式

1、主动模式

客户端用端口n连接服务器端的21号端口,建立连接并使用PORT命令告知服务器开启了

n+1端口

连接建立后,服务器使用20端口主动向客户端的n+1端口发送连接,以建立数据连接

2、被动模式

客户端使用端口n连接FTP的21号端口,告知服务器使用被动模式

控制连接建立后,服务器建立端口P,使用PASV命令并告知客户端

客户端收到端口P后,使用n+1端口连接FTP的P端口,建立数据连接

五、基本配置安装

1.1关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

1.2改为宽容模式

setenforce 0

1.3配置静态IP服务器和客户端的IP都要配置

vim /etc/sysconfig/network-scripts/ifcfg-ens33

服务器配置

客户端配置

1.4重启网络

systemctl restart network

1.5配置yum源

cd /etc/yum.repos.d/
mkdir backup
mv CentOS-* backup
vim local.repo

[local]

name=local

baseurl=file:///mnt

enabled=1

gpgcheck=0

mount /dev/sr0 /mnt

服务器安装vsftpd

yum -y install vsftpd

客户端安装ftp

yum -y install ftp

六、安装配置

1、服务名

vsftpd

2、主配置文件

/etc/vsftpd/vsftpd.conf

3、用户控制文件

/etc/vsftpd/ftpusers

/etc/vsftpd/user_list

4、用户验证类型

匿名用户

是一种最不安全的模式,任何人都可无需密码验证而直接登录到FTP服务器

本地用户

是通过linux系统本地的账号密码进行验证登录,相比较匿名开放模式更安全,配置也比较简单。

虚拟用户

5、安装

服务器安装vsftpd软件

客户端安装ftp,否则无法使用ftp命令

登录时,直接使用ftp命令加上服务器IP地址

6、 匿名用户验证

用户名

ftp或者anonymous

密码          无

工作目录

/var/ftp、/var/ftp/pub

目录权限

服务器更改工作目录pub/的权限,使匿名用户能够进行写入的操作

vim /etc/vsftpd/vsftpb.conf

试一下客户端是否可以下载文件

可选配置项

anon_upload_enable=[YES|NO]        是否允许匿名用户上传文件

anon_mkdir_write_enable=[YES|NO]    是否允许匿名用户创建目录

anon_other_write_enable=[YES|NO]    是否开放匿名用户的其他写入权限(删除、改名)

设置完毕一定要从新启动一下服务

systemctl restart vsftpd

7、本地用户验证

用户名         服务器本地用户

密码          本地用户密码

工作目录     本地用户的家目录

可选配置项

local_enable=[YES|NO]    是否允许本地用户登录FTP

local_umask=022    本地用户上传文件的umask值

local_root=/var/ftp    本地用户的FTP根目录

chroot_local_user=[YES|NO]    是否将用户权限禁锢在FTP目录,确保安全

禁锢之后上传不了文件

不禁锢

allow_writeable_chroot=YES    是否允许写入

chroot_list_enable=YES|NO    是否启用chroot_list_file

在/etc/vsftpd/chroot_list文件中列出被不限制的用户的列表

chroot_list_file=/etc/vsftpd/chroot_list

本地用户访问控制

不允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

userlist_enable=YES

userlist_deny=YES

允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

userlist_enable=YES

userlist_deny=NO

ftpusers

不允许/etc/vsftpd/ftpusers文件中出现的用户名登录FTP,无论user_list如何设置

本地用户使用被动模式传输

配置项

pasv_enable=YES    启用被动模式

pasv_min_port=2001    被动模式使用的最小端口号

pasv_max_port=2005    被动模式使用的最大端口号

vim /etc/vsftpd/vsftpd.conf

验证

服务器主配置文件添加上述3条记录

客户端下载文件时,查看端口号

七 SAMBA服务

1.1服务名

   smb

1.2主程序

smbd    实现文件共享

TCP/139   TCP/445

SAMBA服务的监听端口

nmbd    通过NetBIOS实现计算机名解析

1.3安装

直接安装samba软件

1.4主配置文件

/etc/samba/smb.conf

1.5主配置文件解析

【global】    全局设置

workgroup=SAMBA    工作组

security=user    安全级别

user        本地用户验证,需要提供用户名密码

server        需要提供用户名密码,可指定其他主机进行身份验证

domain    需要提供用户名密码,可指定DC(域控制器)进行身份验证

【homes】    用户家目录的共享设置

comment        描述信息

readonly        只读

path               路径

write list         可写入的用户和组的列表

writeable        写入

public             所有人访问

【printers】    打印机共享设置

【print$】    自定义共享目录设置

【share】    自定义区域

1.6 实验

samba提供简单文件共享,用户访问

服务器端

安装samba

创建共享目录

更改目录权限

 

主配置文件中声明共享区域

vim  etc/samba/smb.conf

添加以下这一段

重启服务

启动服务

创建用户,设置为samba用户

smbpasswd  -a

客户端

安装客户端工具

yum -y install samba-client*

客户端查看共享目录

smbclient -U 用户名 -L //服务器地址/共享目录名称

客户端登录samba服务器

smbclient -U 用户名  //服务器地址/共享目录名称

客户机看一下

 

ls    查看

get    下载

put    上传

本地映射

win+R访问

使用UNC路径

提示输入用户名密码

映射网络驱动器

 

 

创建文本文档

查看文本文档

客户端自动挂载

客户端

创建挂载目录

命令行挂载

mount -t cifs -o username=a1,password=123 //服务器地址/共享目录名称  挂载点

自动挂载文件挂载

自动挂载

 

 //服务器地址/共享目录名称  挂载点  cifs  挂载参数   0  0

权限

read only

write list

用户别名

服务器

创建用户别名文件

vim /etc/samba/smbusers

a2 = zhangsan lisi

在主配置文件中声明开启别名

username map = /etc/samba/smbusers

保存,重启服务

客户端

使用别名登录samba服务器

访问控制

在主配置文件中的全区配置区域声明

hosts allow    允许个别,拒绝所有

hosts deny    拒绝个别,允许所有

相关文章
|
2月前
|
Python
使用Python实现multipart/form-data文件接收的http服务器
至此,使用Python实现一个可以接收 'multipart/form-data' 文件的HTTP服务器的步骤就讲解完毕了。希望通过我的讲解,你可以更好地理解其中的逻辑,另外,你也可以尝试在实际项目中运用这方面的知识。
166 69
|
2月前
|
Ubuntu 安全 网络安全
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
143 13
|
7月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
166 9
|
3月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
5月前
|
存储 安全 网络安全
服务器感染了.baxia勒索病毒,如何确保数据文件完整恢复?
近年来,勒索病毒如.baxia不断演变,利用漏洞、社交工程等手段加密文件,威胁范围扩大。加密货币的兴起使其支付方式更匿名,追踪困难。技术支持尤为重要,添加技术服务号(shuju315),专业团队提供数据恢复方案。面对复杂解密要求,包括赎金支付、个人信息提供和执行特定操作,需保持冷静并寻求帮助。防御措施包括加强安全意识、定期备份数据、安装杀毒软件、避免未知文件、更新系统及制定应急响应计划。
211 11
|
6月前
|
安全 编译器 Linux
深入解析与防范:基于缓冲区溢出的FTP服务器攻击及调用计算器示例
本文深入解析了利用缓冲区溢出漏洞对FTP服务器进行远程攻击的技术,通过分析FreeFlow FTP 1.75版本的漏洞,展示了如何通过构造过长的用户名触发缓冲区溢出并调用计算器(`calc.exe`)。文章详细介绍了攻击原理、关键代码组件及其实现步骤,并提出了有效的防范措施,如输入验证、编译器保护和安全编程语言的选择,以保障系统的安全性。环境搭建基于Windows XP SP3和Kali Linux,使用Metasploit Framework进行攻击演示。请注意,此内容仅用于教育和研究目的。
182 4
|
8月前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
1799 1
|
2月前
|
存储 缓存 弹性计算
阿里云经济型e实例云服务器评测:企业官网搭建的性价比之选
阿里云服务器经济型e实例可以用来搭建企业网站吗?云服务器作为搭建企业官网的基础设施,其性能、稳定性、成本等因素直接影响着官网的运营效果。阿里云经济型e实例云服务器作为一款性价比较高的产品,备受用户关注。许多企业在选择云服务器搭建官网时,都会将其纳入考虑范围。本文将详细探讨阿里云经济型e实例云服务器的特点、性能表现、稳定性与可靠性,以及成本考量,最终解答是否适合用它来搭建企业官网。
|
3月前
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
3月前
|
域名解析 人工智能 弹性计算
DeepSeek服务器繁忙解决方法:使用阿里云一键部署DeepSeek个人网站!
通过阿里云一键部署DeepSeek个人网站,解决服务器繁忙问题。学生用户可领取300元代金券实现0成本部署,普通用户则可用99元/年的服务器。教程涵盖从选择套餐、设置密码到获取百炼API-KEY的全流程,助您快速搭建专属大模型主页,体验DeepSeek、Qwen-max、Llama等多款模型,无需代码,最快5分钟完成部署。支持绑定个人域名,共享亲友使用,日均成本仅约1元。
255 10