首页 > 其他分享 >测试

测试

时间:2024-06-02 21:54:34浏览次数:22  
标签:sssd -- SSSD 认证 测试 ldap 身份

sssd 简介
System Security Services Daemon(简称SSSD)是一种用于Linux和Unix系统的系统服务,它提供了身份验证、身份管理和访问控制等安全功能,可以将多个身份源(如本地LDAP、Active Directory等)整合到一个单一的身份信息库中,简化系统管理员的身份管理任务。
● sssd 的主要功能包括:

  1. 身份认证:SSSD 可用于本地用户和密码的验证,也可以将外部身份源(如:LDAP、Kerberos、Active、Directory 等)整合并进行验证。
  2. 身份管理:SSSD 提供了用户和组的管理功能,可以从多个身份源中集中管理用户和组信息,同时支持动态组成员身份管理。
  3. 访问控制:SSSD 可以对用户或组进行访问控制,防止未授权用户访问敏感数据。
  4. 缓存管理:SSSD 会缓存身份验证和授权信息,以提高系统性能。
    PLUGGABLE-AUTHENTICATION-MODULES(PAM):SSSD支持PAM,可以使用PAM模块集成到许多应用程序中。
    SSSD的配置文件位于/etc/sssd/sssd.conf,管理员可在此文件中配置SSSD的参数。

● 大致实现的过程
SSSD 是一个守护进程,一般在启动时被 systemd 自动启动。在启动时,SSSD 会创建一个监听器,它会监听来自 PAM 和 NSS 的请求。
当用户进行身份认证时,PAM(Pluggable Authentication Module,可插入身份认证模块)将会向 SSSD 发送请求,并等待 SSSD 的处理结果。SSSD 接收到请求后,会查找本地缓存并尝试从远端身份认证资源(如 LDAP)中获取用户的身份认证信息,如用户名、密码等。
如果 SSSD 找到了符合条件的用户信息,它会将该信息写入到本地用户缓存中,并将认证结果返回给 PAM。PAM 最终会将认证结果返回给应用程序。
当应用程序需要访问用户身份信息时,会向 NSS (Name Service Switch) 发送请求。NSS 会将请求转发给 SSSD,并等待 SSSD 的响应。
SSSD 接受到 NSS 的请求后,会查找本地缓存并尝试从远端身份认证资源(如 LDAP)中获取用户的身份信息,比如用户ID、组ID 等。
如果 SSSD 找到了符合条件的用户信息,它会将该信息写入到本地缓存中,并将查询结果返回给 NSS。NSS 最终会将查询结果返回给应用程序。
需要注意的是,SSSD 的实现过程可能因不同的身份认证方案、工具链和系统环境而有所不同。以上是一个大致的过程,其实际实现细节可以在 SSSD 源码中查看。

sssd 安装与使用
支持 Centos7
安装 sssd
● yum 安装 sssd
yum -y install sssd authconfig
配置 sssd
● 修改配置文件:/etc/sssd/sssd.conf
[sssd]
config_file_version = 2
services = nss, pam, ssh, sudo
domains = cedongli
[pam]
offline_credentials_expiration = 1
offline_failed_login_attempts = 3
offline_failed_login_delay = 5
[nss]
filter_users = zabbix,centos,root,zceo,www,ldap,named,avahi,haldaemon,dbus,radiusd,news,nscd,weblogic,tomcat,oracle,ups,mc,dev,ops
[domain/cedongli]
account_cache_expiration = 1
cache_credentials = True
entry_cache_timeout = 300
id_provider = ldap
sudo_provider = ldap
ldap_sudo_search_base = ou=sudoers,dc=cedongli,dc=com # sudo权限
auth_provider = ldap
ldap_search_base = ou=People,dc=cedongli,dc=com # 用户
ldap_group_search_base = ou=Group,dc=cedongli,dc=com # 组
ldap_user_ssh_public_key = sshPublicKey
ldap_tls_reqcert = never
ldap_uri = ldap://10.20.208.233:389 # ldap服务地址
ldap_sudo_smart_refresh_interval = 30
ldap_sudo_full_refresh_interval = 416
● 修改配置文件权限
chmod 600 /etc/sssd/sssd.conf
启动 sssd
systemctl restart sssd && systemctl enable sssd
开启 sssd 认证
authconfig --enablesssd --enablesssdauth --enableshadow --enablemkhomedir --disablelocauthorize --disableldap --disableldapauth --disableldaptls --disableforcelegacy --update
修改 sshd 并重启
sed -ri "s##AuthorizedKeysCommand none#AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys#g" /etc/ssh/sshd_config
sed -ri "s##AuthorizedKeysCommandUser nobody#AuthorizedKeysCommandUser root#g" /etc/ssh/sshd_config
systemctl restart sshd
修改 nsswitch
echo "sudoers: files sss" >> /etc/nsswitch.conf
验证
● 验证是否可以使用 ldap 认证,使用 id lipengfei2查看用户是否已经存在,并且是否与 ldap 配置的信息一致
[root@openldap ~]# id lipengfei2
uid=5001(lipengfei2) gid=5001(lipengfei2) groups=5001(lipengfei2)

标签:sssd,--,SSSD,认证,测试,ldap,身份
From: https://www.cnblogs.com/opentry/p/18227689

相关文章

  • Jacoco 手动测试覆盖率检查
    团队中目前还没有自动化测试的覆盖,所以测试team想了解下手动测试的覆盖率。于是才有了本片文章的产生。网上有很多文章是利用 Android的instrument测试框架,然后通过命令来启动app来进行测试。而且报告生产的时间点是在启动的activity结束以后,在复杂场景下,是没有办法来......
  • MySQL注入之Fuzz测试&WAF Bypass小结
    目录BurpSuiteFuzz测试内联注释绕过union[]select联合查询绕过敏感函数绕过from[]information_schema查表报错注入示例常规绕过思路总结空格绕过引号绕过逗号绕过比较符号绕过逻辑符号绕过关键字绕过编码绕过等价函数绕过宽字节注入多参数请求拆分生僻函数输出内容过滤BurpSuite......
  • Linux下GMAC网络设备:硬件接口、GMAC/PHY、驱动、测试程序
    1嵌入式网络硬件接口如下是常见的嵌入式网络硬件接口框图:SOC集成MAC。MAC通过MII系列接口和PHY之间传输数据,通过MDIO接口初始化配置PHY芯片。PHY芯片和RJ45之间通过4组差分模拟信号传输数据,并驱动RJ45的LED信号灯。RJ45通过网线和外部连接。1.1嵌入式网络几种常见架构......
  • js 一些常见新语法实践测试
    //生成多少个yield就能被forof遍历多少次function*mytest(){for(leti=0;i<5;i++){yieldMath.random(10)*1000}}//forof会迭代生成器里面所有的yield,有多少个yield就会迭代多少次for(letiofmytest()){console.log(i,"i"......
  • Aqua 专为自动化测试打造的IDE
    JetBrains是一家全球知名的软件开发公司,他们公司推出的IDE几乎是编程语言的首选,IntelliJIDEA之于Java,PyCharm之于Python,以及GoLand之于go等。5月24号JetBrains官方宣布Aqua正式公开发布,这是一款专门针对自动化测试打造的IDE。对于一名自动化测试的工程师,对于这些语言和工具再......
  • 20211215-sdf测试2-openssl
    以下是按照Markdown格式整理的你所需要的代码和操作过程,使用中文描述:任务详情在openEuler(推荐)、Ubuntu或Windows(不推荐)中完成以下任务。参考网内容以及AI给出的详细过程,否则不得分。0.根据gmt0018标准,如何调用接口实现基于SM3求你的学号姓名的SM3值?#include"sd......
  • 自动化测试意义
    自动化测试意义,更现实的来说把我们的自动化测试应用到项目中去,在保证质量的前提下让项目的测试成本低于纯手工测试。自动化测试关注的一些指标:1、自动化测试用例的覆盖率=自动化测试用例数/所有用例总数,这个比例越高,测试反馈越快,成本节约越多。2、节省的时间成本=手工测试所花的......
  • 什么项目适合做自动化测试?
    什么项目适合做自动化测试?1.需求稳定,不会频繁变更2.研发和维护周期长,需要频繁执行回归测试3.需要在多种平台上重复运行相同测试的场景4.某些测试项目通过手工测试无法实现,或者手工成本太高5.被测软件的开发较为规范,能够保证系统的可测试性6.测试人员已经具备一定的编程能力......
  • 自动化测试的认识误区
    误区一:自动化测试是一种比人工测试更先进,更高级的测试手段。自动化测试既有自身的优点,也有其局限性。例如对于需求不明确,或者界面经常发生变动的产品就不适合使用自动化测试。自动化测试与手工测试的关系应该是相辅相成,互相弥补各自的局限性,相互促进。误区二:自动化测试能够发现......
  • 自动化测试的优势&劣势
    自动化测试的优势:1.可复用性一旦编写好自动化测试脚本或者测试工具,便可以重复使用,使得我们可以避免繁琐重复的手工测试。2.可靠性手工测试在一定条件下存在不确定性,偶尔会出现漏测或者误判的情况,但是自动化测试的预期输入和输出的确定性,可以弥补此类缺陷。3.速度快,时间......