小白带你学习文件共享服务器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月前
|
存储 UED Windows
Windows服务器上大量文件迁移方案
Windows服务器上大量文件迁移方案
106 1
|
26天前
|
网络安全 Windows
Jetson 学习笔记(十五):FTP协议传输文件
本文介绍了如何使用WinSCP软件通过FTP协议在Windows和Jetson设备之间传输文件,并分享了一些操作经验和技巧。
25 0
Jetson 学习笔记(十五):FTP协议传输文件
|
26天前
|
Python
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
这篇博客文章是关于如何使用Flask框架上传特征值数据到服务器端,并将其保存为txt文件的教程。
28 0
Flask学习笔记(三):基于Flask框架上传特征值(相关数据)到服务器端并保存为txt文件
|
1月前
服务器迁移上云训练营打卡学习领好礼
服务器迁移上云训练营打卡学习领好礼
45 4
|
1月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
51 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
14天前
|
存储 Unix 数据挖掘
服务器数据恢复—SAN LUN映射出错导致文件系统共享冲突的数据恢复案例
服务器数据恢复环境: SAN光纤网络环境,存储由一组6块硬盘组建的RAID6阵列构成,划分为若干LUN,MAP到跑不同业务的SUN SOLARIS操作系统服务器上。 服务器故障&分析: 因为业务需要,用户在该光纤存储环境中新增一台SUN SOLARIS操作系统服务器。将存储中的某个LUN映射到新增的服务器上,但是映射的这个卷之前已经MAP到SOLARIS生产系统上的某个LUN上了。因为未及时察觉这个问题,新增服务器已经对该LUN进行部分初始化操作。 在SOLARIS操作系统层面磁盘报错,重启后卷无法挂载。联系SUN工程师检测后,执行了fsck操作。操作完成后虽然文件系统可以挂上,但是发现大量
|
2月前
服务器迁移上云训练营打卡学习领好礼
服务器迁移上云训练营打卡学习领好礼
39 6
|
20天前
|
前端开发 Docker 容器
主机host服务器和Docker容器之间的文件互传方法汇总
Docker 成为前端工具,可实现跨设备兼容。本文介绍主机与 Docker 容器/镜像间文件传输的三种方法:1. 构建镜像时使用 `COPY` 或 `ADD` 指令;2. 启动容器时使用 `-v` 挂载卷;3. 运行时使用 `docker cp` 命令。每种方法适用于不同场景,如静态文件打包、开发时文件同步及临时文件传输。注意权限问题、容器停止后的文件传输及性能影响。
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
51 4
|
5天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
37 9