FTP、NFS、SAMBA系统服务一
一、rsync托管xinetd
1、为什么要进行服务托管
独立服务:独立启动脚本 ssh ftp nfs dns ...
依赖服务: 没有独立的启动脚本 rsync telnet 依赖xinetd服务(独立服务)
2、如何将rsync托管给xinetd服务去管理?
第一步:在系统中安装xinetd服务
# yum -y install xinetd # rpm -ql xinetd
第二步:编写xinetd.conf文件(/etc/xinetd.conf)
# man 5 xinetd.conf
defaults
{
only_from 只允许访问
no_access 拒绝访问
access_times 控制访问服务的时间段
log_type 指定日志类型
interface 并发连接数
per_source 每个IP的最大连接数
}
includedir /etc/xinetd.d 子配置文件目录(追加rsync、telnet)
第三步:手工创建/etc/xinetd.d/rsync
# vim /etc/xinetd.d/rsync
service rsync
{disable = noflags = IPv6socket_type = streamwait = nouser = rootserver = /usr/bin/rsyncserver_args = --daemonlog_on_failure += USERID
}
备注:disable = no //开关;no表示开启该服务;yes表示关闭服务
第四步:重启xinetd服务(xinetd服务重启后,rsync服务也会随之重启,检查端口占用)
# pkill rsync
# systemctl restart xinetd
# ss -naltp |grep 873
LISTEN :::873 users:(("xinetd",pid=45079,fd=5))
在查询873端口占用时,发现只有xinetd服务,没有rsync服务,原因:rsync => xinetd
常见问题(经验值)
如果我们在启动xinetd服务时,发现系统中的873端口一直没有被占用,只能有一个问题:配置文件有错误! 解决方案:cat /var/log/messages 一定要注意颜色的变化,有颜色变化代表是正确选项,没有,就肯定你在复制时惨咋了一些看不见的字符。
二、FTP服务概述
1、FTP服务介绍
FTP(File Transfer Protocol)是一种应用非常广泛并且古老的一个互联网文件传输协议。
文件传输:文件上传与文件下载

-
主要用于互联网中==文件的双向传输==(上传/下载)、文件共享
-
跨平台 Linux、Windows
-
FTP是==C/S==架构,拥有一个客户端和服务端,使用==TCP协议==作为底层传输协议,提供可靠的数据传输
-
FTP的默认端口 ==21号==(命令端口) ==20号==(数据端口,主动模式下) 默认被动模式下
-
FTP程序(软件)==vsftpd==
FTP软件名称 => vsftpd => vs(very secure ftp daemon)
2、FTP服务的客户端工具
-
Linux:ftp、lftp(客户端程序)
-
Windows:FlashFXP(虚拟主机)、FileZilla、IE、Chrome、Firefox
-
lftp和ftp工具区别:
-
lftp:默认是以==匿名用户==访问
-
ftp:默认是以==用户名/密码==方式访问
-
lftp可以批量并且下载目录
-
3、FTP的两种运行模式(了解)
在FTP服务中,其一共拥有两种模式(主动模式 + 被动模式)
参考点,FTP的服务器端。如果是FTP服务器端主动连接客户端=>主动模式,如果是客户端主动连接FTP服务器端=>被动模式。
☆ 主动模式

cmd:命令端口(发送FTP请求)
data:数据端口(后期用于传输数据)
1. 客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务的的21号端口发起请求 2. 服务端的21号命令端口响应客户端的随机命令端口 3. 服务端的20号端口主动请求连接客户端的随机数据端口 4. 客户端的随机数据端口进行确认
☆ 被动模式

1. 客户端打开大于1023的随机命令端口和大于1023的随机数据端口向服务的的21号端口发起请求 2. 服务端的21号命令端口响应客户端的随机命令端口 3. 客户端主动连接服务端打开的大于1023的随机数据端口 4. 服务端进行确认
FTP默认使用的就是被动模式!
4、搭建FTP服务(重要)
1. 关闭防火墙和selinux 2. 配置yum源(mount /dev/sr0 /mnt) 3. 软件三部曲 4. 了解配置文件 5. 根据需求修改配置文件来完成服务的搭建 6. 启动服务,开机自启动 7. 测试验证
第一步:关闭防火墙与SELinux
# systemctl stop firewalld # systemctl disable firewalld # setenforce 0 # vim /etc/selinux/config SELINUX=disabled
第二步:配置YUM源
有网配置公网YUM源(阿里、清华、华为),没网就配置本地YUM源 # mount /dev/sr0 /mnt # yum clean all # yum makecache
第三步:安装vsftpd软件(FTP => vsftpd)
# yum install vsftpd -y
第四步:启动ftp服务并添加到开机启动项中
# systemctl start vsftpd # systemctl enable vsftpd
第五步:测试FTP是否安装成功
# ifconfig ens33 inet 10.1.1.10 netmask 255.255.255.0 broadcast 10.1.1.255
☆ 基于浏览器的访问

☆ 基于Windows资源管理器的访问

☆ 基于FlashFxp、FileZilla软件

☆ 基于ftp以及lftp命令进行连接(Linux与Linux之间的FTP文件传输)
yum install ftp lftp -y # ftp 10.1.1.10
5、FTP的配置文件详解(重要)
在Server服务器端,使用rpm -ql vsftpd
# rpm -ql vsftpd /usr/lib/systemd/system/vsftpd.service 启动脚本 /etc/vsftpd 配置文件的目录 /etc/vsftpd/ftpusers 用户列表文件,黑名单 /etc/vsftpd/user_list 用户列表文件,可黑可白(默认是黑名单) /etc/vsftpd/vsftpd.conf 配置文件(主配置文件) /usr/sbin/vsftpd 程序本身(二进制的命令) /var/ftp 匿名用户的默认数据根目录 /var/ftp/pub 匿名用户的扩展数据目录
vsftpd配置文件详解:
# grep -v ^# /etc/vsftpd/vsftpd.conf anonymous_enable=YES 支持匿名用户访问 local_enable=YES 支持非匿名用户,普通账号登录,默认进入到自己家目录 write_enable=YES 写总开关 local_umask=022 反掩码 file:644 rw- r-- r-- dir:755 dirmessage_enable=YES 启用消息功能 xferlog_enable=YES 开启或启用xferlog日志 connect_from_port_20=YES 支持主动模式(默认被动模式) xferlog_std_format=YES xferlog日志格式 listen=YES ftp服务独立模式下的监听 pam_service_name=vsftpd 指定认证文件 userlist_enable=YES 启用用户列表 tcp_wrappers=YES 支持tcp_wrappers功能(FTP限速操作)
# man 5 vsftpd.conf
三、FTP任务解决方案
1、任务背景
简单来说:根据我们所学的内容(FTP)搭建一个客户服务系统(主要涉及客服资料上传与下载)
1. 客服人员必须使用用户名密码(kefu/123)的方式登录服务器来下载相应文档 2. 不允许匿名用户访问 3. 客服部门的相关文档保存在指定的目录里/data/kefu local_root=/data/kefu 4. 客服用户使用用户kefu/123登录后就只能在默认的/data/kefu目录里活动
2、创建客服账号(Server)
# useradd kefu # echo 123 |passwd --stdin kefu
3、不允许匿名用户访问
# vim /etc/vsftpd/vsftpd.conf 12行 anonymous_enable=NO
配置修改完毕后,一定要重启vsftpd服务
# systemctl restart vsftpd
4、指定账号访问的目录
# mkdir /data/kefu -p # vim /etc/vsftpd/vsftpd.conf 17行 local_root=/data/kefu
5、限定kefu/123只能在/data/kefu目录下活动
禁锢kefu用户只能在/data/kefu目录下
# vim /etc/vsftp/vsftpd.conf 18行 chroot_local_user=YES
配置修改完毕后,一定要重启vsftpd服务
# systemctl restart vsftpd
四、经验值
1、500 OOPS
以上问题主要出现在FTP2.3.5以后的版本中,当然你可以使用
# rpm -qi vsftpd 查看版本信息
解决方案:
① 去除写权限(治标不治本)
# chmod a-w /home/dhj
② 核心解决方案,添加一个选项
# vim /etc/vsftpd/vsftpd.conf 19行 allow_writeable_chroot=YES
2、无法上传
之所以无法上传,主要原因在于kefu这个账号对于/data/kefu文件夹没有w写权限
# setfacl -R -m u:kefu:rwx /data/kefu # systemctl restart vsftpd
3、禁锢目录补充
18行 chroot_local_user=YES 禁锢所有用户
需求:我们能不能给一小部分用户开通非禁锢权限。
# vim /etc/vsftpd/vsftpd.conf 105行 chroot_list_enable=YES 开启用户列表文件 107行 chroot_list_file=/etc/vsftpd/chroot_list 指定用户列表文件 echo kefu >> /etc/vsftpd/chroot_list 代表客服这个账号不会被禁锢在指定目录 # systemctl restart vsftpd
相关文章:
FTP、NFS、SAMBA系统服务一
一、rsync托管xinetd 1、为什么要进行服务托管 独立服务:独立启动脚本 ssh ftp nfs dns ... 依赖服务: 没有独立的启动脚本 rsync telnet 依赖xinetd服务(独立服务) 2、如何将rsync托管给xinetd服务去管理? 第一步࿱…...
transfomer模型——简介,代码实现,重要模块解读,源码,官方
一、什么是transfomer Transformer是一种基于注意力机制(attention mechanism)的神经网络架构,最初由Vaswani等人在论文《Attention Is All You Need》中提出。它在自然语言处理(NLP)领域取得了巨大成功,特…...
队列(Queue):先进先出(FIFO)的数据结构
队列是一种基本的数据结构,用于在计算机科学和编程中管理数据的存储和访问。队列遵循先进先出(First In, First Out,FIFO)原则,即最早入队的元素首先出队。这种数据结构模拟了物理世界中的队列,如排队等待服…...
吃透 Spring 系列—AOP部分
目录 ◆ AOP 简介 - AOP的概念 - AOP思想的实现方案 - 模拟AOP的基础代码 - AOP相关概念 ◆ 基于xml配置的AOP - xml方式AOP快速入门 - xml方式AOP配置详解 - xml方式AOP原理剖析 ◆ 基于注解配置的AOP - 注解方式AOP基本使用 - 注解方式AOP配置详解 - 注解…...
redis 问题解决 2
1.4 数据存储 1、Redis 的数据过期策略是什么? Redis的数据过期策略包括两种机制:被动删除和主动删除。 被动删除: 当某个键被访问时,如果发现这个键已经过期,Redis会立即删除这个键。这意味着如果一个过期的键从未被访问,它就不会被自动删除。这是一种惰性删除策略。主…...
Spring Boot 校验用户上传的图片文件
图片上传是现代应用中非常常见的一种功能,也是风险比较高的一个地方。恶意用户可能会上传一些病毒、木马。这些东西不仅严重威胁服务器的安全还浪费了带宽,磁盘等资源。所以,在图片上传的接口中,一定要对用户上传的文件进行严格的…...
【springboot配置项动态刷新】与【yaml文件转换为java对象】
文章目录 一,序言二,准备工作1. pom.xml引入组件2. 配置文件示例 三,自定义配置项动态刷新编码实现1. 定义自定义配置项对象2. 添加注解实现启动时自动注入3. 实现yml文件监听以及文件变化处理 四,yaml文件转换为java对象1. 无法使…...
JS移动端触屏事件
在我们PC端中有许多的事件,那我们在移动端有没有事件呢?让我为大家介绍一下移动端常用的事件,触屏事件 触屏事件 touch (也称触摸事件),Android 和IOS 都有 touch 对象代表一个触摸点。触摸点可能是一根手指,也可能是一…...
C语言——打印1000年到2000年之间的闰年
闰年: 1、能被4整除不能被100整除 2、能被400整除 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int year;for(year 1000; year < 2000; year){if((year%4 0) && (year%100!0) || (year%400 0)){printf("%d ",ye…...
【Linux】【驱动】设备树下的paltform总线
【Linux】【驱动】设备树下的paltform总线 1. 驱动程序的完整代码2. 使用到的相关函数3 使用到的指令3.2 设备上使用的指令 1. 驱动程序的完整代码 主要是展示了通过总线上挂载的方式来实现相关的数据读取 实质上就是几个of函数的调用。 /** Author: topeet* Description: 设…...
洛谷 NOIP 2023 模拟赛-汪了个汪-题解
简要题意 棋盘上有 n n n 行,第 i i i 行有 i i i 个格子。你要在格子填 1 ∼ n 1\sim n 1∼n,满足: 每行第一个数互不相同所有在行上相邻的两个数所组成的无序对互不相同每行的数互不相同 n ≤ 4000 n\le4000 n≤4000 题解 容易发现…...
洛谷 NOIP 2023 模拟赛 P9836 种树
洛谷 NOIP 2023 模拟赛 P9836 种树 文章目录 洛谷 NOIP 2023 模拟赛 P9836 种树题目大意思路code 题目大意 路边有 n n n 棵树,每棵树的 高度 均为正整数,记作 p 1 , p 2 … p n p_1, p_2 \dots p_n p1,p2…pn。 定义一棵树的 宽度 为它高度的…...
链表经典OJ题(链表回文结构,链表带环,链表的深拷贝)
目录 前言 1.反转一个单链表。 2. 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 3.链表的回文结构。 4.链表带环问题(*****) 4.1是否带环 4.2 入环的节点 5.随机链表的复制(链表的深拷贝) 前言…...
AD教程 (十三)常见CHIP封装的创建
AD教程 (十三)常见CHIP(贴片)封装的创建 PCB封装是电子设计图纸和实物之间的映射体,具有精准数据的要求,在实际设计中需要通过规格书获取创建封装的数据参数。 PCB封装和实物的大小一致。PCB封装是承载实物…...
从0到1实现一个前端监控系统(附源码)
目录 一、从0开始 二、上报数据方法 三、上报时机 四、性能数据收集上报 收集上报FP 收集上报FCP 收集上报LCP 收集上报DOMContentLoaded 收集上报onload数据 收集上报资源加载时间 收集上报接口请求时间 五、错误数据收集上报 收集上报资源加载错误 收集上报js错…...
第7章-使用统计方法进行变量有效性测试-7.2-方差分析
目录 7.2 方差分析 7.2.1 单因素方差分析 组内变异 组间变异 总变异 随机误差...
【MongoDB】索引 – 文本索引(用权重控制搜索结果)
一、准备工作 这里准备一些数据 db.books.drop();db.books.insert({_id: 1, name: "Java", alias: "java 入门", description: "入门图书" }); db.books.insert({_id: 2, name: "C", alias: "c", description: "C 入…...
Git 入门使用
一、Git 入门 1.1 Git简介 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是由Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 Git是目前世界上最先进的分布式版本控制系统,没有之一&a…...
如何写好接口自动化测试脚本
谈到接口测试,大家关注更多的是哪个工具更优秀,更好用。但是很少人关注到接口测试用例的设计问题,也很少人会去写接口用例,都代码化了嘛,还写什么用例,是吧? 这样真的对么?我们是不…...
openEuler编译安装nmon性能监控工具及可视化分析工具
ln 介绍 nmon(short for Nigel’s Monitor)是一个性能分析工具,由蓝色巨人IBM开发,最早用于自家操作系统UNIX,AIX (Advanced Interactive eXecutive)。现在也能用在Linux上。它可以显示系统的…...
PHP AI校验配置被低估的致命细节(内存泄漏触发点、AST解析偏差、Token限流阈值)——资深SRE连夜重写配置手册
第一章:PHP AI校验配置的全局认知与风险图谱PHP AI校验配置并非孤立的技术模块,而是横跨应用层、中间件、模型服务与基础设施的复合型安全控制面。其核心目标是在AI能力注入业务流程的同时,确保输入合法性、输出可控性、行为可审计及策略可收…...
手机扩大屏定制厂家:菲涅尔高清模压技术护航跨境出海
在跨境电商快速发展的如今,手机屏幕放大器作为移动配件领域的细分品类,正在成为全球卖家关注的焦点。然而,货源不稳定、产品同质化、知识产权风险、镜片清晰度不佳等行业痛点,始终困扰着跨境电商从业者。如何找到一家技术过硬、供…...
程序员副业变现全攻略:从技术到收入
CSDN程序员副业图谱技术文章大纲副业方向分类技术变现类独立开发:小程序、App、工具脚本开发外包接单:Freelancer平台、技术众包项目技术咨询:企业培训、架构设计服务内容创作类技术博客/专栏:CSDN、掘金等平台流量收益视频教程&a…...
网闸项目如何落地与验收?这份实战指南请收好!
网闸部署不仅是技术活,更是系统工程。从规划到验收,每个环节都关乎最终效果。以下是结合实战总结的实施方案与验收标准,助你高效推进项目!🚀📋 一、实施四步法1️⃣ 需求分析与规划✔ 业务梳理…...
别再手动切换主从了!用Patroni+etcd给PostgreSQL 15上个自动故障转移的保险
告别手动切换时代:用Patronietcd构建PostgreSQL 15全自动高可用架构 凌晨三点,数据库告警短信惊醒梦中人——主库响应超时。你揉着惺忪睡眼打开终端,却发现从库早已自动接管业务流量,应用连接池平稳如常。这不是科幻场景ÿ…...
Swoole vs RoadRunner vs PHP-PM:异步I/O配置参数对比表(含内存泄漏率、上下文切换耗时、FD复用率实测)
第一章:Swoole vs RoadRunner vs PHP-PM 异步I/O配置全景概览现代PHP高性能服务化方案中,Swoole、RoadRunner 和 PHP-PM 均通过常驻内存与异步I/O机制突破传统PHP-FPM的阻塞模型,但其实现路径、依赖模型与配置范式存在本质差异。三者均不依赖…...
如何让网易云音乐链接永不失效?直链解析API的秘密
如何让网易云音乐链接永不失效?直链解析API的秘密 【免费下载链接】netease-cloud-music-api 网易云音乐直链解析 API 项目地址: https://gitcode.com/gh_mirrors/ne/netease-cloud-music-api 你是否曾经遇到过这样的场景:精心收藏的网易云音乐歌…...
看懂 Dependency Analyzer:从 SQL 依赖到性能复杂度,系统拆解 ABAP CDS 视图的隐藏结构
在做 ABAP CDS 建模时,很多开发者都会遇到一种很典型的困惑:表面上看,当前这个 CDS 视图只是从几个字段里做了投影,代码也不算长;可一到激活、预览数据、做 OData 暴露,甚至进入 RAP 场景以后,系统表现却突然变得复杂,查询变慢,层级难以理解,出了问题也很难定位。造成…...
[UVM源码解析] 揭秘uvm_object中copy与clone的深层机制与应用陷阱
1. UVM中copy与clone的本质区别 第一次接触UVM的copy和clone方法时,很多人都会困惑:这两个看起来功能相似的方法到底有什么区别?我在实际项目中踩过几次坑后才真正理解它们的本质差异。简单来说,copy是赋值操作,而clon…...
三菱Fx3U三轴定位控制程序,完美结合梯形图与St语言,动态码加密保护方案
三菱Fx3U三轴定位控制程序,其中两轴为脉冲输出同步运行360度转盘,3轴为工作台丝杆。 1.本程序结构清晰,有公共程序,原点回归,手动点动运行,手动微动运行。 报警程序,参数初始化程序等。 2.自动程…...
