linux企业中常用NFS、ftp服务

1.静态ip配置

  1. 修改ip地址为静态vim /etc/sysconfig/network-scripts/ifcfg-enxxx

    BOOTPROTO="static"
    IPADDR=192.168.73.10
    GATEWAY=192.168.73.2	# 该配置与虚拟机网关一致
    NETMASK=255.255.255.0
    
  2. 重启网卡:systemctl restart network.service

  3. ping不通域名解决:vi /etc/resolv.conf

    nameserver 114.114.114.114
    

2.修改系统主机名

  1. 修改主机名

    # 查看主机名
    hostname# 修改主机名
    hostnamectl set-hostname app2
    # 修改后重启服务器生效
    reboot
    
  2. 修改/etc/hosts文件:vi /etc/hosts

    192.168.73.129 app2
    
  3. 测试能否ping通:ping app2

3.ssh免密远程登录其它机器

  1. 执行命令创建密钥:ssh-keygen -t rsa,然后按3个回车键会生成密钥

  2. 将生成密钥文件拷贝到另一台机器并重命名为authorized_keys

    scp /root/.ssh/id_rsa.pub root@app1:/root/.ssh/authorized_keys
    
  3. 测试:ssh app1

4.NFS文件共享服务器搭建

  • NFS介绍

    • NFS(Network File System)即网络文件系统,它允许网络中服务器之间通过TCP/TP网络共享资源,NFS的一个最大优点就是可以节省本地存储空间
    • 一种基于TCP/IP传输的网络文件系统协议,通过使用NFS协议,可以像访问远程服务器中的共享资源
    • NFS服务的实现依赖于RPC(Remote Process Call,远程过程调用)机制,以完成远程到本地的映射过程
    • 一般需要安装nfs-utils、rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持
    • 采用TCP/IP传输网络文件,适合局域网环境,操作简单
      • NFS端口:2049
      • RPC端口:111
  • NFS体系至少有两个主要部分:一台NFS服务器和若干客户机

  • 服务器操作

    1. 安装nfs-utils和rpcbind包

      # nfs-utils:提供了NFS服务器程序和相应的管理工具
      # rpcbind:能够获得NFS服务器的端口号等信息
      yum install -y nfs-utils rpcbind
      
    2. 配置NFS服务的配置文件:vi /etc/exports

      # 目录的读写权限暴露给这个网段的全部主机
      /data/NFSdata 192.168.73.0/24(rw,insecure,sync)# /data/NFSdata:要共享的目录
      # 192.168.73.0/24:允许访问的客户端ip范围,0/24范围为0~255即全部
      # rw表示读写权限
      # secure:限制客户端只能从小于1024的tcp/ip端口连接服务器
      # insecure:允许客户端从大于1024的tcp/ip端口连接服务器
      # sync:表示数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
      # async:将数据先保存在内存缓冲区中,必要时才写入磁盘
      
    3. 启动nfs服务

      # 创建共享目录
      mkdir -p /data/NFSdata# 启动服务
      systemctl start nfs# 检查是否启动了rpcbind服务并监听111端口
      netstat -tunlp | grep 111# 设置开机启动
      systemctl enable rpcbind.service
      systemctl enable nfs-server.service
      
  • 客户机操作

    1. 安装nfs-utils和rpcbind包

      # nfs-utils:提供了NFS服务器程序和相应的管理工具
      # rpcbind:能够获得NFS服务器的端口号等信息
      yum install -y nfs-utils rpcbind
      
    2. 设置开启启动:systemctl enable rpcbind.service

    3. 挂载

      mkdir /NFS
      mount -t nfs app1:/data/NFSdata /NFS
      showmount -e app1
      

5.ftp文件传输服务器搭

  • 匿名用户访问:无需用户名密码

    # 安装vsftpd
    yum install -y vsftpd
    # 查找vsftpd的文件位置
    whereis vsftpd
    # 启动ftp服务
    systemctl start vsftpd
    # 查看监听的端口号
    netstat -tunlp | grep vsftpd
    # Windows客户端访问
    ftp://192.168.73.10
    # 共享文件夹
    /var/ftp/
    
  • 本地用户访问:linux系统用户访问

    vim /etc/vsftpd/vsftpd.conf
    anonymous_enable=NO		# 关闭匿名访问# 重启服务
    systemctl restart vsftpd
    # 添加访问用户
    useradd -g root -M -d /var/ftp -s /bin/bash ftpuser
    # 配置权限
    chown -R ftpuser:root /var/ftp
    # 设置密码
    passwd ftpuser
    
  • 虚拟用户访问:虚拟用户,有用户名和密码

    # 1.指定pam文件(系统默认指定,无需操作)
    vim /etc/vsftpd/vsftpd.conf
    pam_service_name=vsftpd# 2.编辑pam文件指定认证的db文件
    vim /etc/pam.d/vsftpd 文件全部注释然后加入配置
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd# 3.生成db文件
    vim /etc/vsftpd/vuser_passwd	# 奇数行用户名,偶数行密码
    # 通过命令生成db文件
    cd /etc/vsftpd/ && db_load -T -t hash -f vuser_passwd vuser_passwd.db# 4.按需修改配置文件
    vim /etc/vsftpd/vsftpd.conf
    anonymous_enable=NO		# 关闭匿名访问
    guest_enable=YES		# 启动虚拟用户功能
    guest_username=ftpuser	# 指定虚拟用户的宿主用户
    user_config_dir=/etc/vsftpd/vuser_conf	# 虚拟用户配置文件存放的路径# 5.对虚拟用户权限与路径进行配置
    mkdir -p /etc/vsftpd/vuser_conf # 创建配置文件目录
    vi /etc/vsftpd/vuser_conf/xiaohong	# 创建虚拟用户名文件(文件名要与登录名相同)
    local_root=/var/ftp
    write_enable=YES
    anon_umask=022
    anon_world_readable_only=NO
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES# 6.重启服务
    systemctl restart vsftpd
    

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6.584-Lab1:MapReduce

前置知识/概念 Raft 是一个基于“Leader”的协议,能够保证分布式网路的一致性。 RPC(Remote Producer Call) 参考链接1 参考链接2 Go中RPC的简单实现 Golang中regexp正则表达式的用法 https://gukaifeng.cn/posts/golang-zheng-ze-biao-…

抽象java入门1.5.3.1——类的进阶

前言:在研究神技代码Hello word的时候,发现了一个重大公式bug,在代码溯源中,我发现了一个奇怪的东西,就是OUT不是类中类(不是常规类的写法) 内容总结: 代码运行的顺序复习 正片开始…

人力资源招聘系统的革新之路:从传统到智能的转变

在全球化与数字化交织的今天,企业间的竞争日益激烈,而人才作为企业发展的核心驱动力,其重要性不言而喻。传统的人力资源招聘方式,如依赖纸质简历、人工筛选、面对面面试等,不仅效率低下,且难以精准匹配企业…

AXI DMA IP BUG踩坑记录

1. 问题描述 在突发的过程中总是一旦使用XAxiDma_SimpleTransfer函数就会出现AXI STREAM信号的READY信号先拉高4个数据(32位)的时钟后会迅速拉低,换句话说就是一旦PS端发起了XAxiDma_SimpleTransfer,AXI总线的READY信号就会拉高四个节拍,这样就会导致传输的数据出现问题。…

Vue2教程001:初识Vue

文章目录 1、初识Vue1.1、Vue2前言1.2、创建Vue实例1.3、插值表达式1.4 Vue响应式特性 1、初识Vue 1.1、Vue2前言 Vue是什么? 概念:Vue是一个用于构建用户界面的渐进式框架。 Vue的两种使用方式: Vue核心包开发 场景:局部模块…

vscode vite+vue3项目启动调试

1、经常我们在普通的项目中,如果算法并不复杂,那么基本上console.log就可以搞定,当然也可以直接alert,打包的时候如果不去掉,还会在发版中上接弹出,给你个惊喜。 2、碰到了有些算法过程比较复杂的情况下&a…

Jdbc学习笔记(三)--PreparedStatement对象、sql攻击(安全问题)

目录 (一)使用PreparedStatement对象的原因: 使用Statement对象编写sql语句会遇到的问题 ​编辑 (二)sql攻击 1.什么是sql攻击 2.演示sql攻击 (三)防止SQL攻击 1.PreparedStatement是什么 …

后端分层解耦

引入 在上篇所举的例子中,我们将所有的代码均放在HelloControl方法之中,这样会导致代码的复用性、可读性较差,难以维护。因此我们需 三层架构 在之前的代码中,代码大体可以分为三部分:数据访问、数据逻辑处理、响应数…

97.【C语言】数据结构之栈

目录 栈 1.基本概念 2.提炼要点 3.概念选择题 4.栈的实现 栈初始化函数 入栈函数 出栈函数和栈顶函数 栈顶函数 栈销毁函数 栈 基本概念参见王爽老师的《汇编语言 第四版》第56和57页 节选一部分 1.基本概念 注意:这里提到的数据结构中的栈有别于操作系统的栈,后者是…

初识算法 · 模拟(1)

目录 前言: 替换所有的问号 题目解析 算法原理 算法编写 提莫攻击 题目解析 算法原理 算法编写 外观数列 题目解析 算法原理 算法编写 前言: ​本文的主题是模拟,通过三道题目讲解,一道是提莫攻击,一道是…

【数值分析】高斯-赛德尔方法、规范化幂法、原点移位法

【数值分析】高斯-赛德尔方法、规范化幂法、原点移位法 题目 要求 代码实现过程不能调用任何库函数自带的“线性 方程组求解、特征值求解库函数” 利用高斯-赛德尔方法求解上述线性方程组 使用Python编程求解矩阵A与列向量b import numpy as np import sympy as spdef crea…

【CUDA】了解GPU架构

目录 一、初步认识 二、Fermi架构 三、Kepler 架构 3.1 动态并行 3.2 Hyper-Q 一、初步认识 SM(Streaming Multiprocessors)是GPU架构中非常重要的部分,GPU硬件的并行性就是由SM决定的。以Fermi架构为例,其包含以下主要组成…

64位程序调用32位dll解决方案

最近在做64位代码移植,发现很多老代码使用到了第三方的32位dll;而且这些第三方32位dll库已经年代久远,原开发商已不再了;所以急切的需要在64位主程序 中使用老的32位dll;查询很多解决方案 发现目前只有使用com 进程外组件的方法可以解决此问题…

【HOT100第五天】搜索二维矩阵 II,相交链表,反转链表,回文链表

240.搜索二维矩阵 II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 先动手写写最简单方法,二重循环。 class Solution { public:bool searchMa…

模板元函数应用:输出字符串。

看下面三个字符串,s1,s2,s3 : string s1 "逆天邪神";wstring s2 _t("焚星妖莲");_string s3 "焚绝尘"; 在控制台输出字符串,可能的一个方案是: void print_test(const wstring& s) {std::…

pytest | 框架的简单使用

这里写目录标题 单个文件测试方法执行测试套件的子集测试名称的子字符串根据应用的标记进行选择 其他常见的测试命令 pytest框架的使用示例 pytest将运行当前目录及其子目录中test_*.py或 *_test.py 形式的所有 文件 文件内的函数名称可以test* 或者test_* 开头 单个文件测试…

【C++】类和对象-深度剖析默认成员函数-上

> 🍃 本系列为初阶C的内容,如果感兴趣,欢迎订阅🚩 > 🎊个人主页:[小编的个人主页])小编的个人主页 > 🎀 🎉欢迎大家点赞👍收藏⭐文章 > ✌️ 🤞 &#x1…

Web性能优化:从基础到高级

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 Web性能优化:从基础到高级 Web性能优化:从基础到高级 Web性能优化:从基础到高级 引言 基础优…

当 docker-compose.yaml 文件部署时,Dify 线上版本升级过程

如果线上 Dify 是通过 docker-compose.yaml 文件部署的,那么当 Dify 版本升级时该如何操作呢?官方已经给出了 Docker compose 和 Source Code 两种方式。相对而言,前者更简单些,至少不需要安装依赖包和迁移数据库文件。为了更加具…

如何让手机ip变成动态

在数字化浪潮中,手机已成为我们日常生活中不可或缺的一部分。无论是浏览网页、使用社交媒体还是进行在线购物,手机都扮演着举足轻重的角色。然而,在享受网络带来的便利时,我们也需要关注网络安全和隐私保护。静态IP地址可能让手机…