企业常用Linux服务搭建

1.需要两台centos  7服务器,一台部署DNS服务器,另一台部署ftp和Samba服务器。

2. 部署DNS 服务器​

#!/bin/bash# 更新系统
echo "更新系统..."
sudo yum update -y# 安装 BIND 和相关工具
echo "安装 BIND 和相关工具..."
sudo yum install -y bind bind-utils# 配置 named.conf 文件
echo "配置 BIND 配置文件..."
cat > /etc/named.conf <<EOL
options {listen-on port 53 { any; };             # 监听所有接口listen-on-v6 port 53 { none; };         # 不启用 IPv6directory       "/var/named";           # 区域文件路径dump-file       "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";allow-query     { any; };               # 允许所有查询
};zone "zhangabc.com" IN {type master;file "/var/named/zhangabc.com.zone";    # 区域文件路径allow-update { none; };                # 禁止动态更新
};
EOL# 创建区域文件
echo "创建区域文件..."
cat > /var/named/zhangabc.com.zone <<EOL
\$TTL 86400
@   IN  SOA     ns1.zhangabc.com. admin.zhangabc.com. (2024032501 ; 序列号3600       ; 刷新时间1800       ; 重试时间604800     ; 过期时间86400      ; 最小TTL
)
@       IN  NS      ns1.zhangabc.com.
ns1     IN  A       192.168.86.129
@       IN  A       192.168.86.130
www     IN  A       192.168.86.130
EOL# 修改权限
echo "修改文件权限..."
sudo chown named:named /var/named/zhangabc.com.zone
sudo chmod 640  /var/named/zhangabc.com.zone# 检查配置文件是否正确
echo "检查配置文件..."
sudo named-checkconf
sudo named-checkzone zhangabc.com  /var/named/zhangabc.com.zone# 启动并启用 BIND 服务
echo "启动并启用 BIND 服务..."
sudo systemctl enable named
sudo systemctl start named# 开放防火墙 53 端口
echo "配置防火墙..."
sudo firewall-cmd --add-port=53/tcp --permanent
sudo firewall-cmd --add-port=53/udp --permanent
sudo firewall-cmd --reload# 重启防火墙和 BIND 服务
echo "重启防火墙和 BIND 服务..."
sudo systemctl restart named
sudo systemctl restart firewalld# 验证 DNS 配置
echo "验证 DNS 配置..."
nslookup zhangabc.com 127.0.0.1

3. 在此基础上添加以下

vim  /var/named/zhangabc.com.zone 

$TTL 86400
@   IN  SOA  ns.zhangabc.com. admin.zhangabc.com. (2025032501 ; Serial3600       ; Refresh1800       ; Retry604800     ; Expire86400      ; Minimum TTL
)
@   IN  NS   ns.laodi.com.
zhangabc.com. IN  A       192.168.86.129
ns       IN  A       192.168.86.129
ftp      IN  A       192.168.86.145
samba    IN  A       192.168.86.145

[root@dns ~]# vim /etc/resolv.conf 
# Generated by NetworkManager
search localdomain
nameserver 192.168.86.129
nameserver 192.168.86.2

4.在 Windows 10 远程测试:

在另一台centos  7部署ftp服务

yum install vsftpd -y

6.  创建 vsftpd使用的系统用户, 主目录为/home/vsftpd,禁止ssh登录, 创建之后所有虚拟用户使用这个系统用户访问文件

useradd  vsftpd  -d  /vsftpd  -s  /bin/false

7.创建虚拟用户主目录,比如虚拟用户叫zhang1

mkdir -p /vsftpd/zhang1/mkdir -p /vsftpd/zhang2/chown -R vsftpd.vsftpd /vsftpd/*

8.创建虚拟用户

vim /etc/vsftpd/loginusers.confzhang1123456zhang2456789

9.创建数据库文件

db_load -T -t hash -f  /etc/vsftpd/loginusers.conf  /etc/vsftpd/loginusers.dbchmod 600 /etc/vsftpd/loginusers.dbchmod 600 /etc/vsftpd/loginusers.conf

10. 启用数据库文件

vim  /etc/pam.d/vsftpd # 注释掉所有内容后,增加下面的内容auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusersaccount sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/loginusers

 11.创建虚拟用户配置文件

mkdir -p /etc/vsftpd/userconf

12. 这里的文件名称必须与虚拟用户名一致

# vim /etc/vsftpd/userconf/zhang1local_root=/vsftpd/zhang1write_enable=YESanon_umask=022anon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES# vim /etc/vsftpd/userconf/zhang2local_root=/vsftpd/zhang2write_enable=YESanon_umask=022anon_world_readable_only=NOanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES
#网络与端口listen=NOlisten_ipv6=YESpasv_min_port=40000pasv_max_port=40010listen_port=21#超时与并发idle_session_timeout=300data_connection_timeout=600max_clients=3000max_per_ip=3000#虚拟用户guest_enable=YESguest_username=vsftpduseruser_config_dir=/etc/vsftpd/vconfvirtual_use_local_privs=YES#日志与传输xferlog_enable=YESxferlog_std_format=YESascii_upload_enable=YESascii_download_enable=YES#其他配置use_localtime=YESftpd_banner=Welcome to blah FTP service.pam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YESdirmessage_enable=YESconnect_from_port_20=YESasync_abor_enable=YES

13.重启服务使配置生效

systemctl restart vsftpd

部署Samba服务

yum install samba -y
mkdir   -p   /samba
chmod -R 777 /samba
  useradd  -M  samba                #创建系统用户不创建属主目录     smbpasswd -a samba             #为其设置samba密码

4.

 vim  /etc/samba/smb.conf
[samba]comment = IMMENGXIN                    ##共享的描述性注释path = /samba                          ##共享目录的实际路径public = yes                           ##表明允许未授权的用户访问该共享browseable = yes                       ##表示这个共享在网络中是可见的read only = no                         ##意味着客户端对该共享目录具备读写权限
systemctl start smb nmb
systemctl enable smb nmb
systemctl restart smb nmb

 验证

 smbclient //192.168.86.145 /samba -U samba

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

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

相关文章

UE5Actor模块源码深度剖析:从核心架构到实践应用

UE5 Actor模块源码深度剖析:从核心架构到实践应用 a. UE5 Actor模块架构概述 在UE5引擎中,Actor扮演着至关重要的角色,它是整个游戏世界中各类可交互对象的基础抽象。从本质上来说,所有能够被放置到关卡中的对象都属于Actor的范畴,像摄像机、静态网格体以及玩家起始位置…

DreamDiffusion代码学习及复现

论文解读在这里 File path | Description /pretrains ┣ &#x1f4c2; models ┃ ┗ &#x1f4dc; config.yaml ┃ ┗ &#x1f4dc; v1-5-pruned.ckpt┣ &#x1f4c2; generation ┃ ┗ &#x1f4dc; checkpoint_best.pth ┣ &#x1f4c2; eeg_pretain ┃ ┗ …

用Python实现TCP代理

依旧是Python黑帽子这本书 先附上代码&#xff0c;我在原书代码上加了注释&#xff0c;更好理解 import sys import socket import threading#生成可打印字符映射 HEX_FILTER.join([(len(repr(chr(i)))3) and chr(i) or . for i in range(256)])#接收bytes或string类型的输入…

Pyinstaller 打包flask_socketio为exe程序后出现:ValueError: Invalid async_mode specified

Pyinstaller 打包flask_socketio为exe程序后出现&#xff1a;ValueError: Invalid async_mode specified 一、详细描述问题描述 Traceback (most recent call last): File "app_3.py", line 22, in <module> File "flask_socketio\__init__.py"…

django REST framework(DRF)教程

Django DRF API Django 基本使用Django DRF序列化器Django DRF视图Django DRF常用功能Django 基本使用 前后端分离开发模式认识RestFulAPI回顾Django开发模式Django REST Framework初探前后端分离开发模式 前后端分离前:前端页面看到的效果都是由后端控制,即后端渲染HTML页面…

【Linux】Orin NX + Ubuntu22.04配置国内源

1、获取源 清华源 arm 系统的源,可以在如下地址获取到 https://mirror.tuna.tsinghua.edu.cn/help/ubuntu-ports/ 选择HTTPS,否则可能报错: 明文签署文件不可用,结果为‘NOSPLIT’(您的网络需要认证吗?)查看Orin NX系统版本 选择jammy的源 2、更新源 1)备份原配…

【含文档+PPT+源码】基于微信小程序的社交摄影约拍平台的设计与实现

项目介绍 本课程演示的是一款基于微信小程序的社交摄影约拍平台的设计与实现&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系…

JDBC常用的接口

一、什么是JDBC JDBC是Java语言连接数据库的接口规范。 二、JDBC的体系 1、Java官方提供一个操作数据库的抽象接口 抽象接口有很多的接口和抽象类。 例如&#xff1a;Driver、Connection、Statement。 2、各个数据库厂商提供各自的Java实现类 需要各自实现具体的细节。 例如&am…

容器适配器-stack栈

C标准库不只是包含了顺序容器&#xff0c;还包含一些为满足特殊需求而设计的容器&#xff0c;它们提供简单的接口。 这些容器可被归类为容器适配器(container adapter)&#xff0c;它们是改造别的标准顺序容器&#xff0c;使之满足特殊需求的新容器。 适配器:也称配置器,把一…

[250403] HuggingFace 新增检查模型与电脑兼容性的功能 | Firefox 发布137.0 支持标签组

目录 Hugging Face 让寻找兼容的 AI 模型变得更容易Firefox 137 版本更新摘要 Hugging Face 让寻找兼容的 AI 模型变得更容易 Hugging Face 是一个流行的在线平台&#xff0c;用于访问开源人工智能 (AI) 工具和模型。该平台推出了一项有用的新功能&#xff0c;允许个人轻松检查…

.NET 创建MCP使用大模型对话二:调用远程MCP服务

在上一篇文章.NET 创建MCP使用大模型对话-CSDN博客中&#xff0c;我们简述了如何使用mcp client使用StdIo模式调用本地mcp server。本次实例将会展示如何使用mcp client模式调用远程mcp server。 一&#xff1a;创建mcp server 我们创建一个天气服务。 新建WebApi项目&#x…

Redis 中 Set(例如标签) 和 ZSet(例如排行榜) 的详细对比,涵盖定义、特性、命令、适用场景及总结表格

以下是 Redis 中 Set 和 ZSet 的详细对比&#xff0c;涵盖定义、特性、命令、适用场景及总结表格&#xff1a; 1. 核心定义 数据类型SetZSet&#xff08;Sorted Set&#xff09;定义无序的、唯一的字符串集合&#xff0c;元素不重复。有序的、唯一的字符串集合&#xff0c;每个…

解决Spring参数解析异常:Name for argument of type XXX not specified

前言 在开发 Spring Boot 应用时&#xff0c;我们常遇到类似 java.lang.IllegalArgumentException: Name for argument not specified 的报错。这类问题通常与方法参数名称的解析机制相关&#xff0c;尤其在使用 RequestParam、PathVariable 等注解时更为常见。 一、问题现象与…

刚刚,OpenAI开源PaperBench,重塑顶级AI Agent评测

今天凌晨1点&#xff0c;OpenAI开源了一个全新的AI Agent评测基准——PaperBench。 这个基准主要考核智能体的搜索、整合、执行等能力&#xff0c;需要对2024年国际机器学习大会上顶尖论文的复现&#xff0c;包括对论文内容的理解、代码编写以及实验执行等方面的能力。 根据O…

Golang封装Consul 服务发现库

以下是一个经过生产验证的 Consul 服务发现封装库,支持注册/注销、健康检查、智能发现等核心功能,可直接集成到项目中: package consulimport ("context""fmt""log""math/rand""net""os""sync"&quo…

自适应信号处理任务(过滤,预测,重建,分类)

自适应滤波 # signals creation: u, v, d N = 5000 n = 10 u = np.sin(np.arange(0, N/10., N/50000

PyTorch深度学习框架 的基础知识

目录 1.pyTorch检查是否安装成功 2.PyTorch的张量tensor 基础创建方式&#xff08;三种&#xff09; 2.2用列表创建tensor 2.2使用元组创建 tensor 2.3使用ndarray创建创建 tensor 2.4 快速创建tensor的常用方法 3.pyTorch中的张量tensor的常用属性 4. tensor中的基础数据…

MySQL学习集--DDL

DDL 数据库操作 查询所有数据库 SHOW DATABASES;查询当前数据库 SELECT DATABASE();创建 CREATE DATABASE[IF NOT EXISTS]数据库名[DEFAULT CHARSET 字符集][COLLATE 排序规则];删除 DROR DATABASE[IF EXISTS]数据库名;使用 USE 数据库名;表操作 创建表格 CREATE TABL…

Vue 3 中按照某个字段将数组分成多个数组

方法一&#xff1a;使用 reduce 方法 const originalArray [{ id: 1, category: A, name: Item 1 },{ id: 2, category: B, name: Item 2 },{ id: 3, category: A, name: Item 3 },{ id: 4, category: C, name: Item 4 },{ id: 5, category: B, name: Item 5 }, ];const grou…

LeetCode刷题 -- 48. 旋转图像

题目 算法题解&#xff1a;顺时针旋转矩阵&#xff08;90度&#xff09; 1. 算法描述 给定一个 n n 的二维矩阵&#xff0c;请将矩阵顺时针旋转 90 度。 例如&#xff1a; 输入&#xff1a; [[1,2,3],[4,5,6],[7,8,9] ]输出&#xff1a; [[7,4,1],[8,5,2],[9,6,3] ]2. 思…