Linux下使用Samba做域控

news2024/10/6 20:27:22

 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/dhcpcd.conf,具体步骤略)

第三步:修改/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,用户名密码就是之前填写的。在服务器上执行nslookup PC的计算机名,应能返回正确结果。

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

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

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

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

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

相关文章

[Qt 教程之Widgets模块] —— QComboBox 组合框

Qt系列教程总目录 文章目录 一、创建QComboBox二、数据结构三、成员函数1. 添加选项2. 插入选项3. 删除选项4. 选项属性5. 当前选择的item6. 用户是否可编辑组合框7. 设置显示item的个数8. 组合框的item个数9. 添加重复的item10. 是否绘制边框11. 查找item12. 插入策略13. 大小…

NodeJS LocalDomainName⑩④

文章目录 ✨文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持😘前言 L o c a l D o m a i n N a m e LocalDomainName LocalDomainName 本地域名 O p e r a t i o n P r o c e d u r e OperationProcedure OperationProced…

【MySQL】一文带你了解过滤数据

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指…

LAMP架构搭建

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、Apache服务1.apache概述2.apache的特点3.apache的软件版本4.编译安装优点5.安装步骤 二、LAMP简介与概述1.LAMP平台概述2.构建LAMP平台顺序3.各组件的主要作用 …

KafKa 3.x(一、入门)

前置:熟悉javase,熟悉linux,熟悉idea,熟悉hadoop 1. KafKa 1.1 KafKa定义 前端埋点记录用户(浏览,点赞,收藏,评论)到日志服务器,然后通过Flume&#xff08…

k8s Service服务详解

1. Service 的概念: k8s中Service定义了这样一种抽象:一个pod的逻辑分组,一种可以访问他们的策略—通常称为微服务。这一组pod能够被Service访问到,通常是通过Label Selector Service能够提供负载均衡的能力,但是在使…

第二章 逻辑代数基础--数电(期末复习笔记)

第二章 逻辑代数基础 2.1 概述 逻辑:事物间的因果关系。 逻辑运算:逻辑状态按照指定的某种因果关系进行推理的过程。 逻辑变量:用字母表示,取值只有0和1。此时,0和1不再表示数量的大小,只代表两种不同的状…

人工智能期末复习(简答)

第1章 人工智能概述 1.什么是人工智能? 人工智能(Artificial Intelligence, AI),又称机器智能(MI,Machine Intelligence), 主要研究用人工的方法和技术开发智能机器或智能系统,以模…

交换机配置DHCP服务(华为交换机)

#三层交换机互联互通 配置 #进入系统视图 <Huawei>system-view #关闭系统提示信息 [Huawei]undo info-center enable #启动DHCP功能 [Huawei]dhcp enable #创建vlan 10 并配置 vlanif 地址 [Huawei]vlan 10 [Huawei-vlan10]int vlanif 10 [Huawei-Vlanif10]ip addr…

软考A计划-网络工程师-专业英语

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

初识轻量级分布式任务调度平台 xxl-job

文章目录 前言xxl-job的目录结构项目依赖 (父 pom.xml)xxl-job-admin 启动xxl-job-executor-sample (项目使用示例)xxl-job-executor-sample-frameless : 不使用框架的接入方式案例xxl-job-executor-sample-springboot : springboot接入方案案例 xxl-job执行器器启动流程分析调…

python高效使用方法03_pandas中的rolling.mean滚动求均值效率究竟如何?

先上图来说明pandas.rolling(n).mean()滚动求均值的方法效率其实并不是最高的&#xff0c;我自己尝试使用cython把滚动求均值的方法重新编译了一下&#xff0c;发现效率总体上是pandas的三倍以上。 总结&#xff1a;pandas比较合适用于普通的研究分析工作&#xff0c;如果用到追…

AcWing802:详解

原题引出 题解分析 首先毫无置疑的是本体需要用到离散化的知识&#xff0c;将输入的索引下标放到一个vector当中存起来&#xff0c;在该vector当中&#xff0c;利用其本身的索引我们对称构造两个数组a和s&#xff08;用于求前缀和&#xff09;。那么最关键的一个问题就是如何通…

NodeJS Socket编程⑩③

文章目录 ✨文章有误请指正&#xff0c;如果觉得对你有用&#xff0c;请点三连一波&#xff0c;蟹蟹支持&#x1f618;前言Socket编程1、WebSocket VS HTTP请求2、浏览器支持3、WebSocket Practice4、WebSocket 授权验证5、SocketIO模块 &#x1f5e1; Express~WebSokcetIOServ…

Java中不支持多重继承原因

在 Java 中回答这种棘手问题的关键是准备好相关主题, 以应对后续的各种可能的问题。 这是非常经典的问题&#xff0c;与为什么 String 在 Java 中是不可变的很类似; 这两个问题之间的相似之处在于它们主要是由 Java 创作者的设计决策使然。 为什么Java不支持类多重继承, 可以考…

UML基本图例

UML基本图例 软件流程和UML基本图例软件流程&#xff1a;下面是九种常用的UML图&#xff1a;1.用例图&#xff08;UseCase Diagrams&#xff09;2.类图&#xff08;Class Diagram&#xff09;3.对象图&#xff08;Object Diagrams&#xff09;4.状态图&#xff08;Statechart D…

6道常见hadoop面试题

Q1.什么是Hadoop&#xff1f;   Hadoop是一个开源软件框架&#xff0c;用于存储大量数据&#xff0c;并发处理/查询在具有多个商用硬件&#xff08;即低成本硬件&#xff09;节点的集群上的那些数据。总之&#xff0c;Hadoop包括以下内容&#xff1a;   HDFS&#xff08;Ha…

Chiplet技术概览

一、概览 chiplet技术顺应了芯片生产与集成技术发展的趋势&#xff0c;也开拓了半导体技术发展的新的发展方向&#xff0c;将创造出一种新的芯片设计和商业模式 1.1 芯片生产与集成技术发展的趋势 &#xff08;1&#xff09;低半径高带宽的物理连线(bandwidth / memory wall…

打开win10“启动”文件夹的2种方式

方式1&#xff1a;通过CMD命令 1.输入代码 按WinR键打开运行窗口&#xff0c;输入“shell:Common Startup”代码。 2.点击确定 点击下面的确定按钮&#xff0c;运行代码。 3.打开文件夹 弹出文件夹即为系统启动文件夹。 方式2&#xff1a;输入路径 1.打开文件管理器 打…

【城市开发者职业成长交流 - 重庆】加强交流,共创成长:重庆程序员的线下交流会总结

周五睡觉前&#xff0c;我把窗帘拉的严严实实&#xff0c;所有的闹钟全部取消&#xff0c;甚至另外一只电话直接关机掉&#xff0c;为的是第二天可以好好的躺到自然醒&#xff0c;我其实也不知道具体的几点&#xff0c;就感觉连上被踩&#xff01;无奈的睁开眼睛&#xff0c;看…