FTP、NFS以及SAMBA服务

一、FTP服务

1、Linux下ftp客户端管理工具

ftp、lftp都是Linux下ftp的客户端管理工具,但是需要独立安装

# yum install ftp lftp -y

☆ ftp工具

# ftp 10.1.1.10
Connected to 10.1.1.10 (10.1.1.10).
220 (vsFTPd 3.0.2)
Name (10.1.1.10:root): 输入FTP的账号
​
331 Please specify the password.
Password: 输入FTP账号对应的密码
​
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

求帮助:

ftp> ?或help
Commands may be abbreviated.  Commands are:
​
!               debug           mdir            sendport        site
$               dir             mget            put             size
account         disconnect      mkdir           pwd             status
append          exit            mls             quit            struct
ascii           form            mode            quote           system
bell            get             modtime         recv            sunique
binary          glob            mput            reget           tenex
bye             hash            newer           rstatus         tick
case            help            nmap            rhelp           trace
cd              idle            nlist           rename          type
cdup            image           ntrans          reset           user
chmod           lcd             open            restart         umask
close           ls              prompt          rmdir           verbose
cr              macdef          passive         runique         ?
delete          mdelete         proxy           send

第一个命令:ls命令

ftp> ls

查看当前连接的FTP目录下有哪些文件。

第二个命令(快捷键):Ctrl + Shift + L

Ctrl + Shift + L代表清屏命令

第三个命令:help命令

ftp> help put
put             send one file

第四个命令:put与get命令

ftp> put 本地文件路径+名称   上传
ftp> get 远程文件路径+名称   下载

第五个命令:批量上传或下载多个文件

ftp> mput 文件名称1 文件名称2 文件名称3 ...
ftp> mget 文件名称1 文件名称2 文件名称3 ...

第六个命令:prompt屏蔽批量输出信息

ftp> prompt
Interactive mode on.    => 开启提示
​
ftp> prompt
Interactive mode off.   => 关闭提示

第七个命令:quit命令

ftp> quit

☆ lftp工具:批量操作

# lftp 用户名称@远程IP地址
Password:用户名称对应的密码

求帮助:help

lftp> help

针对某个命令求帮助:help + 命令

lftp> help mirror

案例:批量上传(把shop文件夹上传到FTP服务器端)

lftp> mirror -R 本地文件夹名称

案例:批量下载(把整个FTP下载到本地)

lftp> mirror 远程FTP路径

2、FTP知识点补充

☆ FTP访问对象控制(黑名单)

ftpusers 黑名单

user_list 默认是黑名单(可以成为白名单)

案例:默认情况下,root账号是否允许登录FTP服务器

[root@localhost ftp]# ftp 10.1.1.10
Connected to 10.1.1.10 (10.1.1.10).
220 (vsFTPd 3.0.2)
Name (10.1.1.10:root): root
530 Permission denied.
Login failed.
ftp>
原因:root用户在黑名单里/etc/vsftpd/ftpusers黑名单中

案例:ftpusers 与 user_list黑名单效果不同点

ftpusers:
[root@localhost ftp]# ftp 10.1.1.10
Connected to 10.1.1.10 (10.1.1.10).
220 (vsFTPd 3.0.2)
Name (10.1.1.10:root): kefu
331 Please specify the password.
Password:
530 Login incorrect.            =>       ftpusers被禁用,可以输入密码,返回530
Login failed.
​
​
user_list:
[root@localhost ftp]# ftp 10.1.1.10
Connected to 10.1.1.10 (10.1.1.10).
220 (vsFTPd 3.0.2)
Name (10.1.1.10:root): kefu
530 Permission denied.
Login failed.
原因:默认情况下user_list文件也是黑名单,如果在该文件里直接拒绝,不给输入密码的机会。

案例:user_list可以从黑名单变成白名单(允许某个用户登录FTP系统服务器)

user_list要成为白名单,需要再配置文件里增加:
userlist_deny=NO
注意:如果user_list是白名单,那么必须在该文件里的用户才可以访问ftp服务。

总结:

  1. 用户在ftpusers文件中,那么用户不能访问ftp服务器

  2. 用户在user_list文件中,如果该文件是白名单,那么====在该文件中的用户可以访问ftp服务

  3. 如果user_list文件是白名单,用户即在ftpusers中又在user_list中,那么ftpusers拒绝优先

☆ FTP网络访问控制(限IP+限速)

FTP必须支持tcp_wrappers

/etc/hosts.allow 允许

/etc/hosts.deny 拒绝

☆ 限制IP地址

案例:如何禁止某个IP或IP网段

# vim /etc/hosts.deny
服务程序:主机
vsftpd:all                        全部拒绝
vsftpd:all EXCEPT 192.168.0.2    拒绝所有除了192.168.0.2  
vsftpd:192.168.0.254              拒绝单个IP地址
​
vsftpd:192.168.0.254:allow  
//以上是允许192.168.0.254访问,类似/etc/hosts.allow里增加vsftpd:192.168.0.254
​
vsftpd:192.168.0.0/255.255.255.0   拒绝某个网段
vsftpd:192.168.0.0/255.255.255.0 EXCEPT 192.168.0.254   拒绝某个网段,但是除了某个ip地址
注意:子网掩码不支持192.168.0.0/24这种写法
​
vim /etc/hosts.deny
vsftpd,sshd:10.1.1.1

案例:如何判断某个服务是否支持tcp_wrappers

1)./configure ==--enable-libwrap== 表示支持tcp_wrappers访问控制(源码安装看配置项)

2)rpm安装(也包括yum安装)

# ldd命令 +二进制程序,查询某个软件包含哪些模块

案例:查询vsftpd与sshd是否支持tcp_wrappers

# ldd /usr/sbin/vsftpd |grep libwrap*
    libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f2956480000)
​
# ldd /usr/sbin/sshd |grep libwrap*
    libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f015ff29000)
☆ 限制FTP流量
# vim /etc/vsftpd/vsftpd.conf
local_max_rate=0
0代表不限速
​
local_max_rate=数值 + 字节

3、使用第三方平台视频

第一步:在Linux电脑中安装httpd(阿帕奇)

# yum install httpd -y

第二步:启动httpd

# systemctl start httpd

第三步:在/var/www/html项目目录中创建一个demo.html文件

# vim /var/www/html/demo.html
<iframe height=498 width=815 src='https://player.youku.com/embed/XNDU4OTM3NzM0NA==' frameborder=0 'allowfullscreen'></iframe>

二、NFS服务概述

1、任务背景

① 搭建NFS服务器(用于静态资源的存储如图片、视频、附件)

② 使用mount指定对NFS服务器进行挂载,挂载到Web服务器中

③ 对NFS服务器中的静态资源进行实时备份(inotify + rsync)

2、环境准备

编号主机名称FQDNIP地址作用
1web.itcast.cn10.1.1.11Web服务器
2nfs.itcast.cn10.1.1.12NFS服务器
3backup.itcast.cn10.1.1.13Backup服务器

第一步:设置计算机的在主机名称

Web# hostnamectl set-hostname web.itcast.cn
NFS# hostnamectl set-hostname nfs.itcast.cn
Backup# hostnamectl set-hostname backup.itcast.cn

第二步:设置IP地址

# vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=none
IPADDR=10.1.1.11   /10.1.1.13   /10.1.1.13
NETMASK=255.255.255.0
GATEWAY=10.1.1.2
DNS1=119.29.29.29
DNS2=114.114.114.114
​
UUID必须是唯一的,所以要么删除,要么更改UUID的值(更改后3位)

第三步:关闭防火墙与SELinux

关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
​
关闭SELinux
# setenforce 0
# vim /etc/selinux/config
SELINUX=disabled

第四步:配置YUM源

# yum clean all
# yum mackecache

3、NFS概述

NFS(Network File System)网络文件系统,主要用于Linux系统上实现文件共享的一种协议,其客户端主要是Linux

没有用户认证机制,且数据在网络上传送的时候是明文传送,一般只能在局域网中使用

支持多节点同时挂载及并发写入

企业应用:为集群中的web server提供后端存储(做静态资源服务器)

4、NFS组成

rpcbind : 负责NFS的数据传输,远程过程调用 ==tcp/udp协议 端口111==

nfs-utils :控制共享哪些文件,权限管理

RPC(Remote Procedure Call Protocol): 远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,不需要了解底层网络技术的协议。

5、与NFS相关的软件包

nfs-utils-1.2.3-26.el6.x86_64       nfs服务的一个脚本控制工具(服务端与客户端)
nfs4-acl-tools-0.3.3-6.el6.x86_64   acl 工具包
nfs-utils-lib-1.1.5-4.el6.x86_64    nfs 库文件

6、安装NFS软件

# yum install rpcbind nfs-utils -y
​
# rpm -q rpcbind
# rpm -aq|grep ^nfs

7、NFS的配置文件

# vim /etc/exports
共享目录   共享选项
/share    *(ro,sync)
/public   *(ro,sync)
​
共享主机:
*   :代表所有主机
192.168.0.0/24:代表共享给某个网段192.168.0.1 ~ 192.168.0.254
192.168.0.0/24(rw) 192.168.1.0/24(ro) :代表共享给不同网段
192.168.0.254:共享给某个IP
*.itcast.cn:代表共享给某个域下的所有主机
​
共享选项:
ro:只读
rw:读写
sync:实时同步,直接写入磁盘(安全性最高)
async:异步,先缓存数据在内存然后再同步磁盘(效率最高,但是有丢失文件风险)
anonuid:设置访问nfs服务的用户的uid,uid需要在/etc/passwd中存在
anongid:设置访问nfs服务的用户的gid
root_squash :默认选项 root用户创建的文件的属主和属组都变成nfsnobody,其他人nfs-server端是它自己,client端是nobody。(访问NFS服务器时,映射为匿名账号)
no_root_squash:root用户创建的文件属主和属组还是root,其他人server端是它自己uid,client端是nobody。(访问NFS服务器时,映射为root管理员账号)
all_squash: 不管是root还是其他普通用户创建的文件的属主和属组都是nfsnobody
​
说明:
anonuid和anongid参数和all_squash一起使用。
all_squash表示不管是root还是其他普通用户从客户端所创建的文件在服务器端的拥有者和所属组都是nfsnobody;服务端为了对文件做相应管理,可以设置anonuid和anongid进而指定文件的拥有者和所属组

三、NFS任务解决方案

1、搭建NFS服务器

第一步:安装软件

# yum install rpcbind nfs-utils -y

第二步:创建一个共享目录,如/share

# mkdir /share

2、编写NFS主配置文件

# vim /etc/exports
共享目录   共享选项
/share    10.1.1.0/24(rw,sync)

3、启动相关的NFS服务

# systemctl start rpcbind
# systemctl start nfs
​
# ss -naltp |grep 111       111端口

4、搭建Web服务器

# yum install httpd -y
# systemctl start httpd

当Apache软件启动完毕后,会自动占用计算机的80端口。

80端口指向Web服务器的目录 => /var/www/html

所以项目源代码都可以直接存放于/var/www/html目录下

# echo "NFS实战演练" > /var/www/html/index.html

5、在Web服务器中挂载NFS

# mkdir /var/www/html/media
​
​
# mount -t nfs 10.1.1.12:/share /var/www/html/media 
或
# mount.nfs 10.1.1.12:/share /var/www/html/media
​
​
# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  5.1G   12G  30% /
devtmpfs                 894M     0  894M   0% /dev
tmpfs                    910M     0  910M   0% /dev/shm
tmpfs                    910M   11M  900M   2% /run
tmpfs                    910M     0  910M   0% /sys/fs/cgroup
/dev/sda1               1014M  179M  836M  18% /boot
tmpfs                    182M   28K  182M   1% /run/user/1000
/dev/sr0                 4.3G  4.3G     0 100% /run/media/itheima/CentOS 7 x86_64
tmpfs                    182M     0  182M   0% /run/user/0
10.1.1.12:/share          17G  5.1G   12G  30% /var/www/html/media
​
如果客户端没有安装nfs工具可能导致挂载失败:
yum -y install nfs-utils nfs-utils-lib nfs4-acl-tools

6、上传aws.mp4视频到NFS服务器的/share

第一步:使用MX上传aws.mp4到/share目录(NFS服务器)

第二步:在Web服务器中,ll /var/www/html/media目录

# ll /var/www/html/media
aws.mp4

7、在html网页中调用aws.mp4文件

# vim /var/www/html/index.html
<video width="800" height="450" controls>
    <source src="media/aws.mp4">
</video>

8、对NFS服务器进行实时备份

NFS服务器:/share目录有变化,马上rsync进行同步Backup备份服务器的/backup目录

第一步:安装inotify工具(NFS服务器)

# tar xf inotify-tools-3.14.tar.gz
# cd inotify-tools-3.14
# ./configure && make && make install

第二步:编写rsync.sh脚本,监控/share目录的变化

# vim rsync.sh
#!/bin/bash
/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib,move /share |while read events
do
    rsync -a --delete /share/ 10.1.1.13:/backup/
    echo "`date +%F\ %T`出现事件$events" >> /var/log/rsync.log 2>&1
done

第三步:给rsync添加x权限

# chmod +x rsync.sh

第四步:把NFS服务器与Backup备份服务器进行免密登录

# ssh-keygen
# ssh-copy-id root@10.1.1.13

第五步:在Backup服务器中创建一个/backup目录,用于实时备份

# mkdir /backup

第六步:在NFS服务器中执行rsync脚本

# nohup ./rsync.sh &

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/132589.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

游戏公司数据分析师必备知识(持续补充中...)

1.如何撰写专题报告&#xff1f; ①原则 只有一个主题&#xff1a;即使不讲ppt&#xff0c;业务方也能看得懂行文通俗简单易懂&#xff1a;学习产品经理平常是如何写报告的明确的数据结论和落地项先行&#xff1a;跟业务方多沟通数据结论&#xff0c;让他们给出落地项 ②结构…

CSS特效第一弹:右上角tag标志纯代码前端实现(非图片)

&#x1f60e;效果&#xff1a; &#x1f937;‍♂️思路&#xff1a; 分为2个部分&#xff1a; 1.文字方块右下角折角 文字方块用绝对定位z-index让文字方块悬浮在右上角的位置 2.右下角折角通过before伪元素border属性实现(三角形实现方法&#xff09; &#x1f44d;核心代…

基于springboot乐器视频学习网站设计与实现(源码齐全可用)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

Redis(12)| 过期删除策略和内存淘汰策略

Redis 是可以对 key 设置过期时间的&#xff0c;因此需要有相应的机制将已过期的键值对删除&#xff0c;而做这个工作的就是过期键值删除策略。 如何设置过期时间 先说一下对 key 设置过期时间的命令。 设置 key 过期时间的命令一共有 4 个&#xff1a; expire key n&#x…

js 根据当前时间往前推15天或往后推15天等(例如当前时间往后15天后的日期。并实现今天、明天、后天、周)

本次分享&#xff0c;在项目中开发车票购买功能需要用到日期筛选 思路&#xff1a; 1、首先获取当前时间戳 2、根据当前时间戳拿到15天后的日期 3、根据天匹配星期几 4、将时间戳转换年、月、日并重组 实现代码 // 获取当前日期 const today new Date();// 往前推15天的…

畅通工程之局部最小花费问题 (C++)

目录 题目&#xff1a; 思路&#xff1a; 代码&#xff1a; 结果 题目&#xff1a; 思路&#xff1a; 详细思路都在代码注释里 。 代码&#xff1a; #include<iostream>//无向图邻接矩阵 #include<map> #include<algorithm> #define mvnum 1005 using …

“辛巴猫舍”内网渗透、提权、撞库学习笔记

前言&#xff1a; 在拿到靶机时&#xff0c;我们最先需要做的是信息收集&#xff0c;包括不限于&#xff1a;C段扫描&#xff0c;端口探测&#xff0c;指纹识别&#xff0c;版本探测等。其次就是 漏洞挖掘、漏洞利用、提权、维持权限、日志清理、留下后门。 以上就是渗透的基本…

时序预测 | MATLAB实现WOA-CNN-BiGRU-Attention时间序列预测(SE注意力机制)

时序预测 | MATLAB实现WOA-CNN-BiGRU-Attention时间序列预测&#xff08;SE注意力机制&#xff09; 目录 时序预测 | MATLAB实现WOA-CNN-BiGRU-Attention时间序列预测&#xff08;SE注意力机制&#xff09;预测效果基本描述模型描述程序设计参考资料 预测效果 基本描述 1.MATLA…

ElasticSearch知识点

什么是ElasticSearch ElasticSearch: 智能搜索&#xff0c;分布式的搜索引擎&#xff0c;是ELK的一个非常完善的产品&#xff0c;ELK代表的是: E就是ElasticSearch&#xff0c;L就是Logstach&#xff0c;K就是kibana Elasticsearch是一个建立在全文搜索引擎 Apache Lucene基础…

Docker配置Nginx反向代理

文章目录 1.部署微程序到docker中1.1 dockerfile文件1.2 依据自定义的dockerfile文件创建docker镜像1.3 创建容器1.4 测试 2.在docker中安装Nginx2.1 安装Nginx镜像2.2 获取Nginx配置文件并将其同步到宿主电脑指定位置中安装nginx容器删除nginx容器 2.3 安装Nginx容器并数据挂载…

【技术支持】DevTools中重写覆盖源js文件

sources面板下&#xff0c;左侧overrides标签下添加一个文件夹&#xff0c;并同意。 勾选Enable Local overrides 然后在page标签下&#xff0c;修改文件后ctrls保存 直接就保存在overrides的文件夹下了 或者文件上右键Override content

中低收入群体能在“双十一”购物狂欢吗?

今天这个“双十一”购物狂欢节&#xff0c;在各大网站的报道的确蜂拥而上&#xff0c;显得很有点儿“狂欢”的景象&#xff0c;可读罢内容却听到哀鸿遍野。 笔者仅只接力“腾迅新闻”和“今日头条”几小时前分别发表的《 双11十五年&#xff0c;价格战还能打多久&#xff1f;》…

面向萌新的技术博客入门指南

Python之禅 在Python的解释器中隐藏一个彩蛋&#xff0c;输入import this就会返回19条Python之禅&#xff0c;具体如下&#xff1a; import this The Zen of Python, by Tim Peters Python之禅 &#xff0c;by Tim Peters Beautiful is better than ugly. 优美好于丑陋&…

FTP、NFS、SAMBA系统服务一

一、rsync托管xinetd 1、为什么要进行服务托管 独立服务&#xff1a;独立启动脚本 ssh ftp nfs dns ... 依赖服务: 没有独立的启动脚本 rsync telnet 依赖xinetd服务&#xff08;独立服务&#xff09; 2、如何将rsync托管给xinetd服务去管理&#xff1f; 第一步&#xff1…

飞机社交软件开发:重新定义社交媒体的空中交互体验

【导语】 随着互联网技术的快速发展&#xff0c;社交媒体平台的界限也逐渐模糊。飞机社交软件应运而生&#xff0c;打破传统的地面社交模式&#xff0c;为空中旅行的旅客提供全新的交流平台。本文将从市场需求、技术实现、用户体验和未来发展等方面&#xff0c;深入探讨飞机社交…

推荐几个宝藏app

立冬后&#xff0c;真尼玛冷&#xff0c;哎&#xff01;记得多穿点衣服呀&#xff0c;老铁们&#xff01;&#xff01; GKD 去广告神器 下载网址&#xff1a;https://github.com/gkd-kit/gkd 特性&#xff1a; 它不仅支持跳过开屏广告&#xff0c;还支持跳过弹窗广告等&#xf…

【启扬方案】启扬安卓屏一体机在医疗自助服务终端上的应用解决方案

为了解决传统医疗模式下的“看病难、看病慢”等问题&#xff0c;提高医疗品质、效率与效益&#xff0c;自助服务业务的推广成为智慧医疗领域实现信息化建设、高效运作的重要环节。 医疗自助服务终端是智慧医疗应用场景中最常见的智能设备之一&#xff0c;它通过与医院信息化系统…

CentOS7安装Xrdp以便Windows远程桌面连接

Centos7已经安装了桌面环境&#xff0c;想要Windows系统远程连接到桌面。 1&#xff0c;which vncserver 如果返回no vncserver,则需要安装 2&#xff0c;yum -y install tigervnc* 3&#xff0c;安装Xrdp yum install epel* -y yum --enablerepoepel -y install xrdp 4…

LoadRunner使用动态链接库技术

什么是动态库&#xff1f; 动态库一般又叫动态链接库英文为DLL&#xff0c;是Dynamic Link Library 的缩写形式&#xff0c;DLL是一个包含可由多个程序同时使用的代码和数据的库&#xff0c;DLL不是可执行文件。动态链接提供了一种方法&#xff0c;使进程可以调用不属于其可执行…

SQL必知会(二)-SQL查询篇(4)-高级过滤

第5课、高级过滤 组合 WHERE 子句 AND OR&#xff1a;与条件、或条件 多个 WHERE 子句有两种使用方式&#xff1a;AND 子句 或 OR 子句。 1&#xff09;AND 操作符 AND 相当于编程语言中的与条件。 需求&#xff1a;如果某个产品由供应商 DLL01 制造&#xff0c;但价格不高…