Linux下使用Samba做域控

 AI画妹子的工作先暂告一段落。毕竟戗行也是要有门槛的。

企业中使用Windows Server使用活动目录集中管理PC、服务器是很成熟的方案。突然想到,如果有一天出于某种原因不再使用微软方案了,AD该如何替代?问了一下chatGPT,它说:

在Linux下替代微软活动目录的方案有多种,其中比较受欢迎和常用的包括:

  1. FreeIPA:FreeIPA 是一个自由和开源的安全身份框架,提供集中管理身份、策略、密钥和主机等功能。可以使用 FreeIPA 来中央管理 Linux 和 Unix 系统的用户帐户、认证和授权。

  2. Samba 4:Samba 4 是一个开源实现 Active Directory 的软件,它可以和 Windows 客户端无缝集成。Samba 4 能够处理域账户、组策略等基本的 AD 功能,并支持 LDAP、Kerberos 等协议。

  3. OpenLDAP:OpenLDAP 是一个开源的 LDAP(轻量级目录访问协议)服务器,可以作为 Active Directory 的替代方案,主要提供中心化存储和管理用户、组和计算机帐户的功能。

以上三个方案在国内都有一定的应用,其中 FreeIPA 可能会更受欢迎一些。您可以根据自己的需求和具体情况选择合适的方案。

 先试试看samba吧。

先设定实验环境和目标:

1、本机hostname改为dc01;
2、本机固定IP:192.168.100.73;
3、要设置的域名:ki1381.local
4、本机FQDN:dc01.ki1381.local

第一步,设置hostname:

sudo hostnamectl set-hostname dc01

第二步,设置固定IP(根据不同发行版编辑相应配置文件,具体步骤略)

第三步:修改/etc/hosts,加一句:192.168.100.73    dc01.ki1381.local    dc01

第四步:暂时停用当前resolv:

sudo systemctl disable --now systemd-resolved
sudo unlink /etc/resolv.conf

编辑 /etc/resolv.conf,内容如下:

​​​​​​​# your Samba server IP Address
nameserver 192.168.100.73
# fallback resolver
nameserver 8.8.8.8
# your Samba domain
search ki1381.local

赋权:

sudo chattr +i /etc/resolv.conf

然后重启。

第五步:接下来就是配置的重头戏了。先安装samba-ad-dc:

sudo apt install -y acl attr samba samba-dsdb-modules samba-vfs-modules smbclient winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user dnsutils chrony net-tools

安装过程中会被要求提供域的信息,参考如下设置:
realm:ki1381.local
kerberos:dc01.ki1381.local
Administrative:dc01.ki1381.local    

第六步:启用服务、备份重要配置文件: 

# 启用服务
sudo systemctl disable --now smbd nmbd winbind
sudo systemctl unmask samba-ad-dc
sudo systemctl enable samba-ad-dc

# 备份文件
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak 
sudo mv /etc/krb5.conf /etc/krb5.conf.bak

第七步:配置域:

sudo samba-tool domain provision --use-rfc2307 --interactive

同样需要提供一些信息,参考如下:
realm:ki1381.local
domain:ki1381
server role:dc
dns forward ip:8.8.8.8

第八步:启用新配置及启动服务:

sudo cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
sudo systemctl start samba-ad-dc
sudo systemctl status samba-ad-dc

第九步:测试:

smbclient //localhost/netlogon -U Administrator -c 'ls'

host -t SRV _ldap._tcp.ki1381.local
host -t SRV _kerberos._udp.ki1381.local
host -t A dc01.ki1381.local

smbclient应能返回netlogon共享,host应该全部返回正确的ip。

第十步,配置NTP:

sudo chown root:_chrony /var/lib/samba/ntp_signd/
sudo chmod 750 /var/lib/samba/ntp_signd/

编辑 /etc/chrony/chrony.conf,添加:
# bind the chrony service to IP address of the Samba AD
bindcmdaddress 192.168.100.73
# allow clients on the network to connect to the Chrony NTP server
allow 192.168.100.0/24
# specify the ntpsigndsocket directory for the Samba AD
ntpsigndsocket /var/lib/samba/ntp_signd

重启服务:

sudo systemctl restart chronyd 
sudo systemctl status chronyd

至此应该就可以了。找台Windows的PC试着加一下域,成功。域名填ki1381.local,用户名密码就是之前填写的。如果遇到登录不上,试试用户名采用诸如 用户名@ki1381.local 这样的格式。在服务器上执行nslookup PC的FQND,应能返回正确结果。

==== 使用举例 ====

#添加用户
sudo samba-tool user create 用户名 密码

#列出所有用户
sudo samba-tool user list

当然只是做到这个程度距离实用性还是很远的。接下来的计划:
1、至少再加入一个DC节点为AD做冗余;
2、Linux主机加入域;
3、组策略、登录脚本、用户控制等等。

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

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

相关文章

简易MFC的成绩管理系统

意义 掌握MFC控件的基本使用,结合了面向对象和Window消息机制的知识。 选择做简单的成绩管理系统,该项目切合大学生实际情况。易于更好理解。 项目实现了成绩的增加、修改、删除、存储(文件读写操作)的功能。 创建项目 打开软件…

浅谈企业能源监测管理系统的设计与应用

安科瑞 华楠 摘要: 针对企业目前能源监测现状, 结合企业信息化建设情况和发展需要, 介绍了能源监测管理信息系统, 提出了企业能源监测管理系统建设建议。 关键词:管理系统; 能源监测; 企业信息化 0 引言 节能降耗是缓解中国资源约束的根本出路, 也是提高企业自主创新能力的…

Vault从入门到精通系列之二:启动Vault服务器

Vault从入门到精通系列之二:启动Vault服务器 一、启动开发服务器二、设置环境变量三、验证服务器正在运行四、vault命令汇总 Vault 作为客户端-服务器应用程序运行。Vault 服务器是唯一与数据存储和后端交互的 Vault 架构。通过 Vault CLI 完成的所有操作都通过 TLS…

【并发知识点】CAS的实现原理及应用

系列文章目录 AQS的实现原理及应用 CAS的实现原理及应用 文章目录 系列文章目录前言1、CAS的概念2、CAS的实现原理3、单JVM内锁CAS实现3.1、效果 4、模拟赛龙舟比赛 前言 本章节介绍CAS概念、实现原理,并通过java代码应用,最终模拟赛龙舟比赛。 1、CA…

【spring cloud学习】2、Eureka服务注册与发现

前言 一套微服务架构的系统由很多单一职责的服务单元组成,而每个服务单元又有众多运行实例。由于各服务单元颗粒度较小、数量众多,相互之间呈现网状依赖关系,因此需要服务注册中心来统一管理微服务实例,维护各服务实例的健康状态…

【HTML】常用标签

文章目录 1.标题字标签h1-h62.段落标签p3.换行标签br4.格式化标签5.图片标签6.超链接标签a7.表格标签单元格合并行合并列合并 8.无序列表9.有序列表10.自定义列表11.表单标签11.1 form标签11.2 表单控件11.2.1 input标签11.2.2 label标签11.2.3 select标签11.2.4 textarea标签 …

外网SSH远程连接linux服务器「cpolar内网穿透」

文章目录 视频教程1. Linux CentOS安装cpolar2. 创建TCP隧道3. 随机地址公网远程连接4. 固定TCP地址5. 使用固定公网TCP地址SSH远程 转载自内网穿透工具的文章:无公网IP,SSH远程连接Linux CentOS服务器【内网穿透】 本次教程我们来实现如何在外公网环境下…

两阶段目标检测指南:R-CNN、FPN、Mask R-CNN

动动发财的小手,点个赞吧! Source[1] 多阶段(Two-stage)物体检测 计算机视觉中最基本和最广泛研究的挑战之一是目标检测。该任务旨在在给定图像中绘制多个对象边界框,这在包括自动驾驶在内的许多领域非常重要。通常&am…

2022年长三角高校数学建模竞赛B题齿轮箱故障诊断解题全过程文档及程序

2022年长三角高校数学建模竞赛 B题 齿轮箱故障诊断 原题再现: 齿轮箱是用于增加输出扭矩或改变电机速度的机械装置,被广泛应用于如汽车、输送机、风机等机械设备中。它由两个或多个齿轮组成,其中一个齿轮由电机驱动。电机的轴连接到齿轮箱的…

SpringMvc入门

SpringMvc用来代替展示层Servlet,均属于Web层开发技术 Servlet是如何工作的 1、导入Servlet依赖坐标 2、创建一个Servlet接口实现类,重写其中的所有方法 3、在Servlet实现类上加上WebServlet注解,用来配置Servlet访问路径 4、启动Tomca…

总结906

学习目标: 月目标:6月(线性代数强化9讲,背诵15篇短文,考研核心词过三遍) 周目标:线性代数强化3讲,英语背3篇文章并回诵,检测 每日规划 今日已做: 1.回环背诵…

详解Hystrix

目录 1.微服务中的容错 1.1.服务雪崩 1.2.解决办法 2.hystrix 2.1.概述 2.2.项目结构及依赖 2.3.代码示例 2.3.1.注册中心 2.3.2.服务调用者 2.3.3.服务提供者 2.4.服务降级 2.4.1.单点响应 2.4.2.默认响应 2.4.3.前置响应 2.5.服务熔断 2.5.1.概述 2.5.2.使用…

centos 安装 nginx

1.下载nginx安装包 wget -c https://nginx.org/download/nginx-1.24.0.tar.gz 下载到了当前目录下 2.解压安装包 解压后的结果 3.安装依赖 yum -y install gcc gcc-c make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel 4. ./configure --prefix/usr/lo…

【Linux】深入理解文件系统

系列文章 收录于【Linux】文件系统 专栏 关于文件描述符与文件重定向的相关内容可以移步 文件描述符与重定向操作。 可以到 浅谈文件原理与操作 了解文件操作的系统接口。 想深入理解文件缓冲区还可以看看文件缓冲区。 目录 系列文章 磁盘 结构介绍 定位数据 抽象管理…

高速电路设计系列分享-电源噪声分析

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示:这里可以添加技术概要 例如: 当今许多应用都要求高速采样模数转换器(ADC)具有12位或以上的分辨率,以便用户能够进行更精确的系统测量。然而,更高分辨率…

【机器学习】机器故障的二元分类模型-Kaggle竞赛

竞赛介绍 数据集描述 本次竞赛的数据集(训练和测试)是从根据机器故障预测训练的深度学习模型生成的。特征分布与原始分布接近,但不完全相同。随意使用原始数据集作为本次竞赛的一部分,既可以探索差异,也可以了解在训…

使用CloudOS快速实现K8S容器化部署

关于容器技术 容器技术(以docker和Kubernetes为代表)呱呱坠地到如今,在国内经历了如下3个阶段: 婴儿期:2014-2016年的技术探索期; 少儿期:2017-2018年的行业试水期; 少年期&…

【Django | 爬虫 】收集某吧评论集成舆情监控(附源码)

🤵‍♂️ 个人主页: 计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 文章目录 一、爬取帖子、二级评论二、构建数据表三、并入项目1. spider代码2. view视图代码3. 优化后台界面3. urls路由 四、定…

自然语言处理: 第三章NPLM(Neural Probabilistic Language Mode)

理论基础 NPLM的全称是"Neural Probabilistic Language Model",即神经概率语言模型。这是一种基于神经网络的语言模型,用于生成自然语言文本。最早是由Bengio 在2003年的A Neural Probabilistic Language Model一文中提出来的, NP…

【永久服务器】EUserv

1. 请先自行准备网络(我用的伦敦还可以)、以及visa卡,淘宝可以代付,我总共花了97人民币(10.94欧代付费) 现在只能申请一台,多了会被删除,也就是两欧元,然后选择visa卡 选…