在当前的IT技术趋势下,云技术容器技术的广泛推行催生了平台包容性的发展。独守一隅只会越做越小,做生态,做兼容,在合作中以运营和研发来定分别成了各大厂家的基本策略。比如微软最终弱化系统差异拥抱Linux, 甚至急于证明Linux在微软的虚拟化以及Azure 平台上面运行的优势和规模,来吸引一部分*nix用户强化微软的技术覆盖.  厂家为什么要这么做呢 ?这是一个很有意思的话题,云化之后最有价值的产出就是数据, 数据作为下一阶段的差异化原料是大数据,人工智能的必要养料,因此但凡有些策略的公司都亟待扩大自己的数据抓取面为下一轮竞争奠定基础 -- 摩拜OFO的共享单车就是这个例子, 还在说流量/入口的同志们应该醒过来了。世界已经悄然改变;

那么既然系统的差异化如此需要弱化,异构平台的并存整合就开始提上日程。 Windows 平台和 *nix 平台在公司不同比例并存是很多公司常态:比如研发大规模使用linux/unix, 办公大规模使用Windows/OA应用。所以解决异构平台的整合自然而然是很多公司需要去考虑和解决的问题。该系列文章旨在从行业,技术,管理和成本的角度来给这个目的提供一些思路和参考。

先说SSSD是什么:

==========

SSSD (System Security Services Daemon) 系统安全服务守护进程。是红帽推出的一个中间进程,用来连接用户和验证数据库。它与NSS/PAM 模块相结合解决了传统ldap认证/kerberos认证的一些短板,比如离线认证,通过缓存提升性能等。与之前的Winbind方案相比:

1. 它更加符合 Direct integrate - Indirect integrate的技术升级路线,可以无缝过渡;

2. 提供了集中的管理策略,这是Winbind 不具备也是很多管理员一直想要的;

3. 提供了多账户源的支持,不仅仅支持AD;

与商业方案相比,SSSD在很多场景上有很大成本优势。功能上比商业方案少一些; 比如Quest, BeyondTrust, Centrify 就提供了功能强大的商业解决方案. SSSD作为一个免费的解决方案基本可以覆盖 异构平台整合的大部分需求了. 因此还是很有考虑和研究的价值。而且免费方案的完善通常都需要一个过程。我们期待SSSD担负起异构平台整合的润滑剂这样一个历史使命,简化IT架构和管理。

通过一张图来了解下 SSSD的定位:

客户端与SSSD交互,SSSD代理客户端与AD/其他验证数据库交互。

先把简单的安装配置过程撒完,有问题的欢迎大家留言。本文以Ubuntu 14为例:

1. 安装所需组件:

sudo apt install krb5-user samba sssd ntp

2. 配置Kerberos Client: 编辑 /etc/krb5.conf :

[libdefaults]

default_realm = MYUBUNTU.EXAMPLE.COM
ticket_lifetime = 24h #
renew_lifetime = 7d

3. 配置Samba: 编辑 /etc/samba/smb.conf

[global]

workgroup = MYUBUNTU
client signing = yes
client use spnego = yes
kerberos method = secrets and keytab
realm = MYUBUNTU.EXAMPLE.COM
security = ads

4. 配置SSSD, 编辑/etc/sssd/sssd.conf (该文件可能不存在,就是新建)

[sssd]
services = nss, pam
config_file_version = 2
domains = MYUBUNTU.EXAMPLE.COM

[domain/MYUBUNTU.EXAMPLE.COM]
id_provider = ad
access_provider = ad

# Use this if users are being logged in at /.
# This example specifies /home/DOMAIN-FQDN/user as $HOME.  Use with pam_mkhomedir.so
override_homedir = /home/%d/%u

# Uncomment if the client machine hostname doesn't match the computer object on the DC.
# ad_hostname = mymachine.myubuntu.example.com

# Uncomment if DNS SRV resolution is not working
# ad_server = dc.mydomain.example.com

# Uncomment if the AD domain is named differently than the Samba domain
# ad_domain = MYUBUNTU.EXAMPLE.COM

# Enumeration is discouraged for performance reasons.
# enumerate = true

注:文件新建后需要改一下owner以及权限:

sudo chown root:root /etc/sssd/sssd.conf

sudo chmod 600 /etc/sssd/sssd.conf

5. 确认nsswitch.conf配置, 编辑/etc/nsswitch.conf

passwd:        compat sss
group:         compat sss
...
netgroup:      nis sss
sudoers:       files sss

6. 启动服务,加域:

service ntp restart

service smbd restart

service nmbd restart

service sssd restart

运行该命令查看是否可以连接到AD获取Kerberos ticket:  sudo kinit administrator

成功的话可以运行klist命令看到结果; 并且加域基本可以成功 (名称解析,时间同步没有问题)

加域可以使用realm 命令,也可以使用net ads 命令来做:

net ads join -k

realm -v join -U user EXAMPLE.COM

加域成功会有提示;

7. 验证:

可以用 Id 命令来查看是否可获取AD账户信息:

id domainuseralias    会返回用户名,UID/GID等信息;

getent passwd username   会返回NIS/本地格式的账户信息

su - domainuser             切换到域账户context,该命令成功用户登录基本也可; 可以直接登录域账户了;

SSH 命令

方案虽好,也不要迷信。 该方案目前发现的一些问题:

1. 在有改动的情况下不稳定。表现为和AD失去连接,AD账户信息无法获取或者其他症状。一般需要重启服务或者重新配置可以解决,比如很多人遇到了 id no such user 问题;

2. RFC2307 属性的识别支持: 虽然官方说明支持RFC2307 属性,但在实际配置实验过程中,一些RFC2307属性如UID/GID 并不能被很好的识别,ID Mapping 的功能无法实现, 对于从NIS迁移出来的用户来说,会带来一些不便;

3. 对于Solaris/Aix不支持。这会限制一部分用户选用 SSSD. 作为定位要与 Winbind以及商业方案比肩的方案,兼容性是很重要的。目前仍有很多应用跑在 Solaris/AIX上,这一部分的缺失是一个硬伤;

综上: SSSD作为一个性价比极高的异构平台集成方案,解决了Redhat/Ubuntu/Centos等主流linux平台与Windows 以及其他验证域集成的问题,它所提供的功能可以覆盖绝大部分系统应用场景。是一个值得管理员研究与参考的方案;

异构 ? 系统差异应该成为过去式, 专注在应用和数据 - 异构平台整合策略之1 - SSSD相关推荐

  1. 快来看!一键式、企业级的大数据综合分析平台上线啦

    长期以来,大数据使用和分析领域存在算法设计难.代码开发难.分布式构架搭建难.软硬件设备不足等诸多难点和痛点,对于一个大数据计算和分析任务,需要用户学习相关的底层计算引擎的知识,才能进行代码开发的工作, ...

  2. 异构系统中的UUV、异构系统模型统一化及单应矩阵在异构系统中的应用

    异构系统中的UUV.异构系统模型统一化及单应矩阵在异构系统中的应用 UUV发展趋势及关键技术 异构编队系统编队 异构系统模型统一化 单应矩阵在异构系统中的应用 UUV发展趋势及关键技术 上一篇多智能体 ...

  3. 智源青年科学家梁云:异构系统中张量计算的自动调度和优化框架

    与6位图灵奖得主和100多位专家 共同探讨人工智能的下一个十年 长按图片,内行盛会,首次免费注册 北京智源大会倒计时:9天  计算机体系结构领域国际顶级会议每次往往仅录用几十篇论文,录用率在20%左右 ...

  4. 异构系统数据备份解决方案

    一.   用户需求<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ...

  5. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——1.6 异构建模的方法...

    本节书摘来自华章出版社<信息物理融合系统(CPS)设计.建模与仿真--基于 Ptolemy II 平台>一书中的第1章,第1.6节,作者:[美]爱德华·阿什福德·李(Edward Ashf ...

  6. 异构系统架构标准——HSA

    前几天看到一则新闻AMD发新Carrizo处理器http://digi.tech.qq.com/a/20150603/009450.htm .这是第一个完整支持HSA1.0标准的产品.因为当时HSA是 ...

  7. 吴韧:“异构神机”强于Google AlphaGo 专注类脑芯片、调参是错误

    在人工智能领域,从业者正在通过调参乃至新的芯片研发等方式追求更好的感知性能,但在知名异构计算专家.异构智能(NovuMind)创始人&CEO吴韧看来,一些努力注定是"走偏了" ...

  8. OS- -请求分页系统、请求分段系统和请求段页式系统(二)

    OS- -请求分页系统.请求分段系统和请求段页式系统(二) 文章目录 OS- -请求分页系统.请求分段系统和请求段页式系统(二) 一.基本分段存储管理方式 1.分段系统的组成: 2.段表 3.查找过程 ...

  9. OS- -请求分页系统、请求分段系统和请求段页式系统(一)

    OS- -请求分页系统.请求分段系统和请求段页式系统(一) 文章目录 OS- -请求分页系统.请求分段系统和请求段页式系统(一) 一.内存管理的概念 二.内存空间的扩充 覆盖与交换 三.内存空间的分配 ...

最新文章

  1. 腾讯面试官问我Java中boolean类型占用多少个字节?我说一个,面试官让我回家等通知...
  2. 新年之际,最新摄影必备的无人机免费送10个给大家!
  3. HtmlUnit自动填写表单并提交
  4. 天然气阶梯是按年还是按月_按年算账 多退少补 你的年度个税应该是怎么算?...
  5. java序列化与深度拷贝
  6. solr analyzer_查看您的Solr缓存大小:Eclipse Memory Analyzer
  7. sqlite3的基本操作
  8. html5基础--audio标签元素
  9. C#程序设计实践教程pdf
  10. 计算机控制系统电梯控制,计算机控制系统实验报告1.doc
  11. 游戏开发中的贝塞尔曲线,曲线和路径
  12. matlab 深度网络,深度信念网络matlab代码
  13. android opencv hu 不变矩,图像的矩(含hu不变矩)
  14. 這是一位女生寫的 - 男生如何追求女生
  15. Excel-查找与引用函数
  16. python 曲线平滑处理——方法总结(Savitzky-Golay 滤波器、make_interp_spline插值法和convolve滑动平均滤波)
  17. 鸿蒙第3批升级名单,鸿蒙系统首批升级名单详细介绍
  18. linux u盘显示只读文件,解决linux下U盘文件只读的问题
  19. php生成其他网页截图,PHP网页截图-网页快照实现
  20. 具有单变量输入的CNN-LSTM编解码器模型

热门文章

  1. Ioc之Bean基础
  2. 安卓10开机时间优化分析
  3. CF1324F Maximum White Subtree
  4. android ui 切图工具,APP切图标注教程:UI设计切图标注的小工具实用技巧
  5. python下载哪一个安装包_python中正确安装对应版本的包
  6. leetcode小坑 ‘int’ object has no attribute ‘val‘
  7. java测试工程师培训,看这一篇就够了
  8. java如何处理excel的读取
  9. 中国国内如何使用chatgpt?
  10. Hive创建表的几种方式