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

相关文章
|
4月前
|
存储 运维 Oracle
服务器数据恢复—光纤共享存储互斥出现问题的数据恢复案例
两台SOLARIS系统(SPARC平台)的服务器通过光纤交换机共享同一个存储作为CLUSTER使用。正常情况下只有A服务器工作。如果A服务器发生故障宕机,可将A服务器关机,开启B服务器接管。但由于配置不当导致共享存储互斥出现问题。 管理员进行运维检查时发现B服务器连接了一块未知磁盘。由于B服务器并未启用,处于闲置状态,所以管理员也将这块磁盘当作闲置的,于是在B服务器上将磁盘的某个分区做了newfs。没想到这块磁盘就是那个共享存储,执行操作没有多长时间A服务器就开始报警并宕机。
|
29天前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
2月前
|
网络安全 Windows
Jetson 学习笔记(十五):FTP协议传输文件
本文介绍了如何使用WinSCP软件通过FTP协议在Windows和Jetson设备之间传输文件,并分享了一些操作经验和技巧。
32 0
Jetson 学习笔记(十五):FTP协议传输文件
|
2月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
60 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
2月前
|
存储 Unix 数据挖掘
服务器数据恢复—SAN LUN映射出错导致文件系统共享冲突的数据恢复案例
服务器数据恢复环境: SAN光纤网络环境,存储由一组6块硬盘组建的RAID6阵列构成,划分为若干LUN,MAP到跑不同业务的SUN SOLARIS操作系统服务器上。 服务器故障&分析: 因为业务需要,用户在该光纤存储环境中新增一台SUN SOLARIS操作系统服务器。将存储中的某个LUN映射到新增的服务器上,但是映射的这个卷之前已经MAP到SOLARIS生产系统上的某个LUN上了。因为未及时察觉这个问题,新增服务器已经对该LUN进行部分初始化操作。 在SOLARIS操作系统层面磁盘报错,重启后卷无法挂载。联系SUN工程师检测后,执行了fsck操作。操作完成后虽然文件系统可以挂上,但是发现大量
|
2月前
|
Ubuntu Linux Windows
Ubuntu 14.04安装samba服务器
Ubuntu 14.04安装samba服务器
28 0
|
3月前
|
存储 Unix 数据挖掘
服务器数据恢复—SAN环境下LUN Mapping出错导致文件系统共享冲突的数据恢复案例
服务器数据恢复环境: SAN环境下一台存储设备中有一组由6块硬盘组建的RAID6磁盘阵列,划分若干LUN,MAP到不同业务的SOLARIS操作系统服务器上。 服务器故障: 用户新增了一台服务器,将存储中的某个LUN映射到新增加的这台服务器上。这个映射的LUN其实之前已经MAP到其他SOLARIS操作系统的服务器上了。由于没有及时发现问题,新增加的这台服务器已经对此LUN做了初始化操作,磁盘报错,重启后发现卷无法挂载。
|
4月前
|
存储 缓存 安全
学习服务器硬件基础知识
服务器是指一种高性能计算机,提供计算、存储和通信服务。通常运行在网络环境中,为计算机、设备或用户提供资源共享、数据存储和处理等服务。服务器可以是专门设计的硬件设备,也可以是在普通计算机上运行的特定软件。
86 6
|
4月前
|
Java
Java SpringBoot FTP 上传下载文件
Java SpringBoot FTP 上传下载文件
164 0
|
6月前
|
弹性计算 Ubuntu Linux
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学