小白带你学习文件共享服务器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    拒绝个别,允许所有

相关文章
|
6月前
|
机器学习/深度学习 存储 监控
内部文件审计:企业文件服务器审计对网络安全提升有哪些帮助?
企业文件服务器审计是保障信息安全、确保合规的关键措施。DataSecurity Plus 是由卓豪ManageEngine推出的审计工具,提供全面的文件访问监控、实时异常告警、用户行为分析及合规报告生成功能,助力企业防范数据泄露风险,满足GDPR、等保等多项合规要求,为企业的稳健发展保驾护航。
183 0
|
4月前
|
Unix 应用服务中间件 索引
服务器数据恢复—LUN映射出错导致文件系统共享冲突的数据恢复案例
SUN光纤存储系统中有一组由6个硬盘组建的RAID6,划分为若干LUN,MAP到跑不同业务的服务器上,这些服务器上运行的是SOLARIS操作系统。 服务器不存在物理故障。由于公司业务变化,需要增加一台服务器跑新的应用。服务器管理员在原服务器在线的状态下,将其中一个lun映射到一台新服务器上。实际上,这个刚映射过去的卷已经map到了solaris生产系统上的某个lun上了。映射到新服务器后,服务器对这个卷进行初始化的操作,原solaris系统上的磁盘报错,重启服务器后这个卷已经无法挂载。 服务器管理员寻求sun原厂工程师的帮助。sun工程师检测后执行了fsck操作。执行完成后文件系统挂载成功。查
|
6月前
|
安全 Linux Shell
使用SCP命令在CentOS 7上向目标服务器传输文件
以上步骤是在CentOS 7系统上使用SCP命令进行文件传输的基础,操作简洁,易于理解。务必在执行命令前确认好各项参数,尤其是目录路径和文件名,以避免不必要的传输错误。
671 17
|
8月前
|
弹性计算 Ubuntu Linux
阿里云服务器镜像怎么选?公共/自定义/共享/云市场/社区镜像区别与适用场景梳理
在购买阿里云服务器的过程中,选择合适的镜像(即云服务器的操作系统)是至关重要的一步。阿里云服务器镜像涵盖了公共镜像、自定义镜像、共享镜像、云市场镜像(镜像市场)和社区镜像等多种类型,对于新手用户来说,面对这些不同类型的镜像,往往会感到困惑,不知道它们之间的区别,更不知道如何根据自身需求进行选择。本文为大家解析这些镜像的特点、区别,并为大家提供选择参考。
1464 60
|
6月前
|
自然语言处理 Unix Linux
解决服务器中Jupyter笔记本的文件名字符编码问题
通过上述步骤,可以有效解决Jupyter笔记本的文件名字符编码问题,确保所有文件能在服务器上正常访问并交互,避免因编码问题引起的混淆和数据丢失。在处理任何编码问题时,务必谨慎并确保备份,因为文件名变更是
234 17
|
9月前
|
Python
使用Python实现multipart/form-data文件接收的http服务器
至此,使用Python实现一个可以接收 'multipart/form-data' 文件的HTTP服务器的步骤就讲解完毕了。希望通过我的讲解,你可以更好地理解其中的逻辑,另外,你也可以尝试在实际项目中运用这方面的知识。
447 69
|
6月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
1430 0
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
269 9
|
9月前
|
Ubuntu 安全 网络安全
在Ubuntu系统下使用vsftpd配置FTP服务器的步骤
以上就是在Ubuntu系统下使用vsftpd配置FTP服务器的步骤。这些步骤都是基础的,但足够让你建立一个简单的FTP服务器。如果你需要更高级的功能,例如SSL加密、虚拟用户等,你可能需要进一步研究vsftpd的配置选项。
532 13
|
10月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现