Windows AD域使用Linux Samba

news2025/2/23 11:23:46

Windows AD域使用Linux Samba

1. 初始化配置

1.1 初始化配置

配置服务器名

hostnamectl set-hostname samba.sh.pana.cn

hosts文件配置,确保正常解析到本机和域控

[root@centos7 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 samba.sh.pana.cn
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 samba.sh.pana.cn
192.168.31.104 samba.sh.pana.cn
192.168.31.101 ad.sh.pana.cn

确保域控为dns

[root@centos7 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search sh.pana.cn
nameserver 192.168.31.101
[root@centos7 ~]# grep DNS /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=192.168.31.101

禁用selinux

[root@samba ~]# sed -ir 's#=enforcing#=disabled#g' /etc/selinux/config
[root@samba ~]# grubby --update-kernel ALL --args selinux=0

配置防火墙(或者直接关闭防火墙)

[root@samba ~]# firewall-cmd --permanent --add-service=samba
success
[root@samba ~]# firewall-cmd --reload
success
[root@samba ~]# systemctl stop firewalld && systemctl disable --now firewalld
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".

1.2 Yum仓库

可以使用光盘镜像仓库或者云yum仓库

[root@centos7 ~]# mount /dev/sr0 /media/
mount: /dev/sr0 is write-protected, mounting read-only
[root@centos7 ~]# cat /etc/yum.repos.d/centos7.repo
[centos7]
name=centos7
baseurl=file:///media/
gpgcheck=0
[root@centos7 ~]# yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
centos7                                                                                                                       | 3.6 kB  00:00:00
(1/4): centos7/group_gz                                                                                                       | 153 kB  00:00:00
(2/4): centos7/primary_db                                                                                                     | 6.1 MB  00:00:00
(3/4): centos7/filelists_db                                                                                                   | 7.2 MB  00:00:00
(4/4): centos7/other_db                                                                                                       | 2.6 MB  00:00:00
Metadata Cache Created

2. 安装Samba

[root@samba BaseOS]# yum install -y samba samba-client*  samba-winbind* samba-swat* \
 samba-common-tools realmd adcli sssd oddjob oddjob-mkhomedir \
  samba-common-tools krb5-workstation authselect-compat vim

请添加图片描述

3. 将Samba服务器加入域

发现网络中的域

[root@samba ~]# realm list
[root@samba ~]# realm discover ad.sh.pana.cn
sh.papa.cn
  type: kerberos
  realm-name: SH.PAPA.CN
  domain-name: sh.papa.cn
  configured: no
  server-software: active-directory
  client-software: sssd
  required-package: oddjob
  required-package: oddjob-mkhomedir
  required-package: sssd
  required-package: adcli
  required-package: samba-common-tools

扫描域是否可达

[root@centos7 ~]# realm join --user=Administrator ad.sh.pana.cn
Password for Administrator:
## 确认加域成功
[root@centos7 ~]# realm list
sh.papa.cn
  type: kerberos
  realm-name: SH.PAPA.CN
  domain-name: sh.papa.cn
  configured: kerberos-member
  server-software: active-directory
  client-software: sssd
  required-package: oddjob
  required-package: oddjob-mkhomedir
  required-package: sssd
  required-package: adcli
  required-package: samba-common-tools
  login-formats: %U@sh.papa.cn
  login-policy: allow-realm-logins

将Samba服务器加入pana域

[root@samba ~]# net ads join -U administrator
Enter administrator's password:
Using short domain name -- SH
Joined 'SAMBA' to dns domain 'sh.papa.cn'
DNS update failed: NT_STATUS_UNSUCCESSFUL
[root@samba ~]# systemctl restart winbind
[root@samba ~]# wbinfo -t
checking the trust secret for domain SH via RPC calls succeeded
[root@samba ~]# wbinfo -u
administrator
guest
krbtgt
samba

此时在ad服务器上可以看到samba服务器已经加入

请添加图片描述

4. Samba配置

[root@samba BaseOS]# mkdir -p /samba/data
[root@samba BaseOS]# chmod -R a+rw /samba/data

4.1 配置文件smb.conf

/etc/samba/smb.conf

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
[global]
        workgroup = SH
        realm = sh.papa.cn
        security = ADS
        password server = 192.168.31.101
        idmap uid = 10000 - 20000
        idmap gid = 10000 - 20000
        template shell = /bin/bash
        winbind separator = /
        winbind use default domain = yes
        winbind enum users = yes
        winbind enum groups = yes
        encrypt passwords = yes

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775
[share]
     comment = Home Directories
     path=/samba/data
     browseable = yes
     writable = yes
     valid users = samba

4.2 配置文件nsswitch.conf

/etc/nsswitch.conf

[root@centos7 ~]# sed -ir 's#^passwd:.*#passwd:     files winbind#g' /etc/nsswitch.conf
[root@centos7 ~]# sed -ir 's#^group:.*#group:      files winbind#g' /etc/nsswitch.conf
[root@centos7 ~]# sed -ir '/^shadow/d' /etc/nsswitch.conf

4.3 修改配置文件krb5.conf

/etc/krb5.conf

# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/

includedir /var/lib/sss/pubconf/krb5.include.d/
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_realm = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
# default_realm = EXAMPLE.COM
 default_ccache_name = KEYRING:persistent:%{uid}

 default_realm = SH.PAPA.CN
[realms]
## 修改以下4行
 SH.PAPA.CN = {
  kdc = 192.168.31.101:88
  defautl_domain = SH.PAPA.CN
 }

[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM
 sh.papa.cn = SH.PAPA.CN
 .sh.papa.cn = SH.PAPA.CN

4.4 重启samba服务

[root@samba ~]# systemctl enable --now smb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@samba ~]# systemctl restart smb

5. Windows域服务器访问Samba

5.1 确保网络正常

C:\Users\Administrator>ping samba.sh.pana.cn

正在 Ping samba.sh.pana.cn [192.168.31.104] 具有 32 字节的数据:
来自 192.168.31.104 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.31.104 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.31.104 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.31.104 的回复: 字节=32 时间<1ms TTL=64

192.168.31.104 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 0ms,最长 = 0ms,平均 = 0ms

C:\Users\Administrator>

5.2 访问Samba

请添加图片描述

输入域用户名密码

用户名取决于/etc/samba/smb.conf中share中的valid user

请添加图片描述

此时就能在samba上正常创建和删除文件了

请添加图片描述

此时在samba服务器下也能看到此文件

[root@samba ~]# ls /samba/data/
111.bmp

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

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

相关文章

微信小程序商城怎么弄

微信小程序商城怎么弄&#xff1f;这是一个常见的问题&#xff0c;对于那些想要在微信上创建一个自己的商城的人来说。下面为您介绍一些基本的步骤和注意事项&#xff0c;帮助您轻松地创建一个微信小程序商城。 首先&#xff0c;要创建一个微信小程序商城&#xff0c;您需要注册…

java面向对象(七)

文章目录 一、单例设计模式是什么&#xff1f;1.概念2.如何实现1.饿汉式2.懒汉式 3.区分饿汉式和懒汉式 二、main()方法的使用1.使用说明 三、类的成员之四&#xff1a;代码块&#xff08;或初始化块&#xff09;1.概念2.静态代码块3.非静态代码块 四、final关键字五、多态性的…

element树形组件使用之数据授权

<template><div><el-card class"tree-card"><p class"title">数据授权</p><div class"box"><div class"tree"><div class"member">选择授权人员</div><div class…

电压放大电路的作用有哪些(电压放大器)

电压放大电路是电子电路中常见且重要的组件&#xff0c;其主要作用是将输入信号的电压放大到所需的输出电压级别&#xff0c;并保持输入信号的形状和准确度。电压放大电路广泛应用于各种电子设备和系统中&#xff0c;具有以下几个重要的作用&#xff1a; 信号放大&#xff1a;电…

算法通关村第14关【白银】| 堆的经典问题

1.数组中的第k个最大元素 思路&#xff1a; 最直观的就是选择法&#xff0c;遍历一k次找到第k大的数之前使用快速排序的思想每次找出一个位置&#xff0c;会超时这里使用堆&#xff08;优先队列&#xff09;&#xff0c;找最大用小堆&#xff0c;找最小用大堆。 例如找第k大的…

Mysql——压缩包方式安装教程

一.Mysql压缩包下载方式 zip版&#xff08;5.7及8.0&#xff09;的下载需到官方网站下载&#xff0c;不同版本对应能安装在不同的操作系统下&#xff0c;本次介绍的是mysql-8.0.30-winx64在win10下的安装方式。 下载网址&#xff1a;MySQL :: Download MySQL Community Server …

java版网页代码生成器系统myeclipse定制开发mysql数据库网页模式java编程jdbc生成无框架java web网页

一、源码特点 java版网页代码生成器系统是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0&#xff0c;使…

D. Boris and His Amazing Haircut

Problem - D - Codeforces 问题描述&#xff1a;剪发&#xff0c;将数组a减为数组b&#xff0c;有m个剪刀&#xff0c;每个剪刀只可以用一次且可以在任意区间内剪发&#xff0c;将长度大于mi的减为mi。现在有m数组&#xff0c;数组元素是第i个剪刀可以剪到mi&#xff0c;问能否…

app发布动态解决图片适配问题(等比展示)

#前言 最近在用uni-app写一个移动端的小项目&#xff0c;基本上就是登陆注册、发表动态等&#xff0c;但是发表动态一个最大的问题就是图片的展示问题&#xff0c;因为每个人上传的图片大小是不一样的。 1.如果按照一定的尺寸固定图片宽高&#xff0c;那如果图片规格不符合要求…

第一章:最新版零基础学习 PYTHON 教程(第六节 - Python 中的命名空间和作用域)

什么是命名空间&#xff1a; 命名空间是一个为 Python 中的每个对象都有唯一名称的系统。对象可能是变量或方法。Python 本身以 Python 字典的形式维护一个命名空间。让我们看一个例子&#xff0c;计算机中的目录文件系统结构。不用说&#xff0c;可以有多个目录&#xff0c;每…

关于Allegro17.4 3d模型大小不匹配问题解决

文章目录 问题概述问题原因解决办法 问题概述 Allegro 17.4版本采用 3D Canvas 工具进行3D模型的映射&#xff0c;映射后&#xff0c;无需保存任何映射文件&#xff0c;只要指定好step文件路径&#xff0c;即可将模型映射信息保存在pcb封装文件中&#xff0c;方便快捷。映射流…

idea集成tomcat(Smart Tomcate插件安装)

当我们在 tomcat 上部署好一个 webapp 后&#xff0c;如果我们要修改代码&#xff0c;就需要重新进行打包和部署&#xff0c;但往往在工作中是需要频繁修改代码&#xff0c;然后再查看成果的&#xff0c;就需要反复的进行打包和部署的过程&#xff0c;这是很麻烦的 通过 Smart …

WebGIS开发教程:Openlayers常见功能实现

Openlayers的核心 Openlayers如何实现交互式绘制 创建矢量图层和矢量数据源 - 创建画布 创建画笔 激活画笔 如何加载天地图,设置中心点和显示级别 const TianDiMap_cva new ol.layer.Tile({ title:"天地图矢量注记图层", source:new ol.source.XYZ({ url:htt…

企业诊断屋:二手车交易平台 APP 如何用 AB 测试赋能业务

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 2023年汽车行业新车市场低靡&#xff0c;由新车降价引发的车辆价格波动很快传导到二手车市场&#xff0c;二手车的交易也受到了冲击&#xff0c;收车验车更加谨慎&a…

IT行业未来三年最靠谱的职业方向选择,一定要看完!

近些年“互联网”模式不断发展&#xff0c;以信息化带动传统产业的升级中&#xff0c;社会对IT互联网人才的需求量也在不断增加。随着AI、大数据、人工智能、云计算的兴起&#xff0c;也为对新兴事物充满兴趣热爱和探索的年轻人带来了更多的就业机会&#xff0c;在很大程度上激…

【python】系列之item.taobao 获取商品详情API接口调用

item.taobao 获取商品详情API接口调用 API从技术角度来说就是应用程序编程接口。通过API我们可以直接获取一些我们需要的数据结果&#xff0c;而不需要自己编写相应的程序&#xff0c;有点类似模块化调用函数&#xff0c;大大加快了我们编程的速度。当然这个数据传输是需要网络…

【Graph Net学习】DeepWalk/Node2Vec实现Graph Embedding

一、简介 本文主要通过代码实战介绍基础的两种图嵌入方式DeepWalk、Node2Vec。 DeepWalk&#xff08;KDD 2014&#xff09;&#xff1a;首个影响至今的图的Embedding算法&#xff0c;DeepWalk算法是一种用于学习节点表示的方法&#xff0c;常用于网络图中的节点的嵌入表示。 模…

桌面版Teams,打开后一直卡在“正在加载Microsoft Teams”界面

清除Teams缓存的解决办法&#xff1a; 1.完全退出Teams桌面客户端。您可以通过右击桌面右下角的Teams图标并选择“退出”&#xff1b;或在任务管理器中完全结束Teams进程。 2.请至文件浏览器&#xff0c;并输入%appdata%\Microsoft\teams&#xff1b;或前往System (C:) > Us…

解锁前端Vue3宝藏级资料 第五章 Vue 组件应用 2 ( Emit )

本章带领大家理解组件、props、emits、slots、providers/injects&#xff0c;Vue 插件 等Vue组件使用的基础知识。 第一章 Vue3项目创建 1 Vue CLI 创建vue项目 第一章 Vue3项目创建 2 使用 Webpack 5 搭建 vue项目 第一章 Vue3项目创建 3 Vite 创建 vue项目 第二章 Vue3 基础语…

Denoising diffusion implicit models 阅读笔记

Denoising diffusion probabilistic models (DDPMs)从马尔科夫链中采样生成样本&#xff0c;需要迭代多次&#xff0c;速度较慢。Denoising diffusion implicit models (DDIMs)的提出是为了加速采样过程&#xff0c;减少迭代的次数&#xff0c;并且要求DDIM可以复用DDPM训练的网…