问题标签 [sssd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
179 浏览

php - PHP作为apache用户运行,不是apache所属的任何LDAP组的成员

简而言之,PHP 作为用户 apache 执行的代码似乎对 apache 所属的组没有写访问权限,而 apache 可以在 shell 上写入。

所以我在生产服务器上有一个用户 apache。如果我运行,id apache我会将 apache 视为多个组的成员,包括groupa. 如果我grep apache /etc/groups可以看到这些组成员身份未在本地定义,并且来自 LDAP。

我有一个具有权限/u/dir的文件夹root:groupag+rws

如果我运行sudo su -s /bin/bash -c "mkdir /u/dir/subdir" apache它工作正常,apache 确实有权在其中创建文件/文件夹/u/dir

但是,如果我在 PHP 中创建并运行以下脚本,则会因权限被拒绝而失败:`

如果我id apache从 shell 运行,它会显示:uid=48(apache) gid=123(groupa) groups=123(groupa)

但是,如果我从 PHP 运行以下命令,我会得到不同的结果:-

<?php echo shell_exec("id");?>

uid=48(apache) gid=48(apache) groups=48(apache)

任何想法为什么 PHP(可能是 Apache/httpd 进程)没有他们应该拥有的所有组成员资格,以及我如何解决它?

在有人建议之前,我确实做了一个测试;如果我将 apache 添加到 /etc/groups 中的组并重新启动 apache,则上述调用会显示新组,但它不会通过 LDAP 拾取 apache 所属的组(并且此服务器是池之一,访问远程映射的 /u 所以我不想在每台服务器上手动复制每个组)

我还要补充一点,我怀疑我们的服务器正在id通过 LDAP 从 LDAP 获取信息sssd

看到:https ://unix.stackexchange.com/questions/409843/how-to-get-the-supplementary-groups-ids-of-a-process

如果我添加<?php echo shell_exec("cat /proc/$$/status"); ?>,我可以看到 httpd 进程没有拾取任何sssd组,只是本地组。

编辑清晰:

为了清楚起见,我应该添加我测试添加apache到本地组(300)testgroup,然后<?php echo shell_exec("id");?>再次运行:-

uid=48(apache) gid=48(apache) groups=48(apache),300(testgroup)

因此,虽然很明显核心进程权限很重要,但由于某种原因,当我启动httpd(as apache:apache)时,它会拾取apache作为成员的本地组并将它们添加到子组('Groups' in /proc/$$/status),它不是t 选择apache属于 via sssd 的组。这就是谜题。

0 投票
0 回答
2114 浏览

centos7 - Centos/ Sssd & Ldap TLS加密及不同问题

我有 389 目录 ldap 服务器。我的基础架构上有基于 debian 和 redhat 的服务器。

我对 Ubuntu 14-16 版和 Centos 6 服务器没有任何问题。但是我在 Centos 7.x 版本中遇到了 sssd 和 ldap 服务的问题。

我的所有更改都在下面逐步列出。我找不到丢失或错误的地方。我要疯了。

亲爱的社区,我需要你的帮助。我知道它太长了。

包裹信息;

sssd 和 ldap 配置,

ssh 和 nsswitch 配置,

pam.d system-auth 和 password-auth 配置

sssd 和审计服务日志

我正在尝试使用“ssh testuser @ ldap-test-client”命令进行 ssh 连接。ssh 请求进入服务器的审计日志。

我的 ldap 连接测试;

0 投票
3 回答
1413 浏览

ubuntu-16.04 - docker 容器上的 SSSD (Ubuntu)

我正在尝试将 ubuntu docker 容器与 FreeIPA 集成,并在安装 FreeIPA-client --install 时遇到错误

我尝试通过键入 sssd 并收到以下消息来手动启动 sssd

我感谢您的帮助

0 投票
1 回答
423 浏览

ldap - 登录不成功 SSSD PAM LDAP

我最近在主机上安装并设置了 sssd、pam 和 ldap,以连接到 LDAP 服务器。但是它失败了。这是 SSSD 日志中的一个片段:

(2019 年 2 月 20 日星期三 15:07:35)[sssd[be[default]]] [fo_resolve_service_send] (0x0100):尝试解析服务“LDAP”

(2019 年 2 月 20 日星期三 15:07:35)[sssd[be[default]]] [be_resolve_server_process] (0x0200):找到服务器 host01.myserver.com 的地址:[10.22.34.167] TTL 3600

(2019 年 2 月 20 日星期三 15:07:35)[sssd[be[default]]] [fo_set_port_status] (0x0100):将服务器“host01.myserver.com”的端口 10636 标记为“工作”

(2019 年 2 月 20 日星期三 15:07:35)[sssd[be[default]]] [set_server_common_status] (0x0100):将服务器“host01.myserver.com”标记为“工作”

(2019 年 2 月 20 日星期三 15:07:35)[sssd[be[default]]] [simple_bind_send] (0x0100):执行简单绑定为:cn=John Fields,ou=people,ou=Users,o=hun Ltd, dc=nuy,dc=comp,dc=com

(2019 年 2 月 20 日星期三 15:07:35)[sssd[be[default]]] [be_pam_handler_callback] (0x0100):后端返回:(0, 7, ) [成功]

(2019 年 2 月 20 日星期三 15:07:35)[sssd[be[default]]] [be_pam_handler_callback] (0x0100):发送结果 [7][default]

(2019 年 2 月 20 日星期三 15:07:35)[sssd[be[default]]] [be_pam_handler_callback] (0x0100):发送结果 [7][default]

(2019 年 2 月 20 日星期三 15:11:18)[sssd[be[default]]] [be_get_account_info] (0x0200):收到 [0x3][BE_REQ_INITGROUPS][1][name=re457] 的请求

(2019 年 2 月 20 日星期三 15:11:18)[sssd[be[default]]] [acctinfo_callback] (0x0100):请求已处理。返回0,0,成功

(2019 年 2 月 20 日星期三 15:11:18) [sssd[be[default]]] [be_pam_handler] (0x0100): 收到带有以下数据的请求

(2019 年 2 月 20 日星期三 15:11:18)[sssd[be[default]]] [pam_print_data] (0x0100):命令:SSS_PAM_AUTHENTICATE

(2019 年 2 月 20 日星期三 15:11:18)[sssd[be[default]]] [pam_print_data] (0x0100): domain: default

(2019 年 2 月 20 日星期三 15:11:18)[sssd[be[default]]] [pam_print_data] (0x0100):用户:re457

(2019 年 2 月 20 日星期三 15:11:18)[sssd[be[default]]] [pam_print_data] (0x0100):服务:sshd

(2019 年 2 月 20 日星期三 15:11:18)[sssd[be[default]]] [pam_print_data] (0x0100): tty: ssh

(2019 年 2 月 20 日星期三 15:11:18)[sssd[be[default]]] [pam_print_data] (0x0100):ruser:

(2019 年 2 月 20 日星期三 15:11:18)[sssd[be[default]]] [pam_print_data] (0x0100): rhost: 10.66.67.90

(2019 年 2 月 20 日星期三 15:11:18)[sssd[be[default]]] [pam_print_data] (0x0100):authtok 类型:1

和 auth.log:

20 17:03:50 mint-virtual-machine nscd: nss_ldap: 无法连接到任何 LDAP 服务器 (null) - 无法联系 LDAP 服务器

2 月 20 日 17:03:50 mint-virtual-machine nscd:nss_ldap:无法绑定到 LDAP 服务器 ldapi:///host01.myserver.com:10636:无法联系 LDAP 服务器

2 月 20 日 17:03:50 mint-virtual-machine nscd: nss_ldap: 无法搜索 LDAP 服务器 - 服务器不可用

2 月 20 日 17:03:50 mint-virtual-machine sshd [27120]:10 开始的用户 re457 无效.*

2 月 20 日 17:03:50 mint-virtual-machine sshd [27120]:input_userauth_request:无效用户 re457 [preauth]

2 月 20 日 17:03:53 mint-virtual-machine sshd[27120]: pam_unix(sshd:auth): check pass; 用户未知

2 月 20 日 17:03:53 mint-virtual-machine sshd[27120]: pam_unix(sshd:auth): 认证失败;登录名=uid=0 euid=0 tty=ssh ruser=rhost=10。. .*

2 月 20 日 17:03:53 mint-virtual-machine sshd[27120]: pam_sss(sshd:auth): 认证失败;登录名=uid=0 euid=0 tty=ssh ruser=rhost=10。. .* 用户=re457

2 月 20 日 17:03:53 mint-virtual-machine sshd[27120]:pam_sss(sshd:auth):收到用户 re457:7(身份验证失败)2 月 20 日 17:03:53 mint-virtual-machine sshd[27120] :pam_ldap:无法打开秘密文件/etc/ldap.secret(没有这样的文件或目录)

2 月 20 日 17:03:53 mint-virtual-machine sshd [27120]: pam_ldap: ldap_simple_bind 无法联系 LDAP 服务器

2 月 20 日 17:03:53 mint-virtual-machine sshd [27120]: pam_ldap: 重新连接到 LDAP 服务器...

2 月 20 日 17:03:53 mint-virtual-machine sshd [27120]: pam_ldap: ldap_simple_bind 无法联系 LDAP 服务器

2 月 20 日 17:03:55 mint-virtual-machine sshd [27120]:无效用户 re457 从 10 开始的密码失败。。.* 端口 60318 ssh2

2 月 20 日 17:05:00 mint-virtual-machine nscd: nss_ldap: 无法连接到任何 LDAP 服务器为 (null) - 无法联系 LDAP 服务器

0 投票
1 回答
2865 浏览

active-directory - 多个域/一个带有 SSSD 和 REALMD 的 Forest RHEL7 - 无法登录到另一个域

我在stackoverflow上搜索过,但没有找到解决方案。

我在一个林中有两个域(域 1 和域 2)。我可以使用 domain1 使用 ssh 登录,但无法使用 domain2 登录。我可以从 domain2 启动票证。

以下是一些配置:

在领域列表中,我看到了这两个领域。使用来自 domain2 的 kinit,我得到了票。领域加入与来自 d​​omain1 的用户一起在 domain2 上工作,当我加入时,他告诉我我已经加入。尽管我可以登录到第一个域,但 systemtctl status sssd 向我抛出了一个错误。在 klist -k 中,我只看到来自 Domain1 的 KEYTAB,并且无法使其在 keytab 中有 domain2。

还有来自 domain2 的一些 sssd 日志。

在 krb5.conf 中,我有所有的 REALM。

我错过了什么。为什么我不能使用 SSH 登录。

提前致谢。

0 投票
1 回答
349 浏览

linux - 在 ldap_access_filter 中同时指定 AND 和 OR 条件

如何在 ldap_access_filter 中添加带有 AND 和 OR 条件的过滤器?

我有多个组的 ldap 搜索过滤器,如下所示。我现在想再添加一个条件,其中用户需要成为主要组的一部分,然后是过滤器中任何提到的组的一部分。我已经尝试过https://www.freeipa.org/images/c/cc/FreeIPA33-sssd-access-control.pdf中的选项,但没有奏效。

0 投票
0 回答
130 浏览

apache-kafka - 使用 keytab 从不同的 AD 域向 Kafka 进行身份验证

尝试使用 keytab 在两个不同的 AD 域之间进行身份验证,以便从 Kafka 主题中读取。

因此系统 A 具有 AD 域 A、域 A 中的有效用户/密钥表等、有效的哨兵角色、Kafka 主题、消费者组等。

系统 B 位于 AD 域 B 中,密钥表来自系统 A。

无论如何要从Kafka主题中阅读?如果我将系统 A AD 域详细信息放入系统 B krb5.conf 文件中,我可以看到该主题。当我删除它时,它会失败。我们的实验是在不允许系统 B 联系我们的 kdc 的情况下执行此操作。

有没有办法做到这一点?我们尝试过使用 Java 和 scala。

0 投票
1 回答
3053 浏览

active-directory - CentOS 7 SSSD 无法创建 GSSAPI 加密的 LDAP 连接

我想为 CentOS 7 第一次配置 SSSD,我们有一个林但有多个域:

域之间已经存在信任关系。我收到以下错误:

下面是 Kerberos 配置文件:

我不确定这是否是 Kerberos 配置问题(到目前为止,我看到生成了 keytab 文件)还是需要在 SSSD 中进行调整

谢谢

0 投票
1 回答
615 浏览

active-directory - Create Certificates for PKINIT-based Kerberos login on Active Directory

I'm trying to set-up a PKINIT-based Kerberos login on a Active Directory. The login shall be performed using sssd on Linux. However, the kerberos server does not accept the client certificate. We receive an error with event ID 21: Certificate for user REALM/Domainuser is not valid on the server and sssd says: Client name mismatch.

The certificates were created with the following procedure on a different Linux machine:

  • openssl req -new -key keyfile.pem -out reqfile.pem -subj "/CN=Domainuser/O=AAA/C=DE/OU=BBB"
  • env REALM=REALM.local CLIENT=Domainuser openssl x509 \ -CAkey ../ca_privkey.pem -CA ../ca_cert.pem -req -in reqfile.pem \ -extensions client_cert -extfile extensions.client \ -days 365 -out certfile.pem

We installed the AD CA on the Windows Server that hosts the AD itself. We exported the certificte of this CA to the Linux machine and stored its private key and certificate in the ca_privkey.pem and ca_cert.pemfiles to use it with openssl.

The client_cert we used during signature creation was created using the template suggested by sssd. The only thing we added is the crlDistributionPoints option to include the CRL of the CA:

The realm used for the authentication is REALM.local (equal to the AD Domain). The environment variables REALM and CLIENT are set to REALM.LOCAL and pkuser during certificate creation and the user pkuser also exists in the AD (Password-based login is possible).

I have no clue why the authentication is not successful. Do you have any ideas what might be wrong in the configuration or give me a hint s.t. Windows prints a more detailed error message? Note, that certutil -verify -urlfetch certfile.pem is able to validate the whole certificate chain and does not print any errors when executed with the Administrator command on the AD server.

I assume that there are some configuration errors on the Windows Server. This is the first time I configured a Windows Server ;)

0 投票
1 回答
6966 浏览

ldap - sssd 错误:无法启动 TLS 加密。(未知错误代码)

我正在尝试使用 Google 安全 LDAP 配置 Linux 机器身份验证,添加以下我已完成的步骤

添加了具有以下权限的 LDAP 客户端:

  1. 访问权限:整个域
  2. 读取用户信息:整个域
  3. 读取组信息:ON

在我的 Ubuntu 盒子中安装了 SSSd(在 Azure 中运行)

sudo apt install -y sssd sssd-tools

我的 sssd.conf 文件

在这里我可以启动 SSSD 服务 bt 得到以下错误

仅供参考:我可以使用以下命令成功通过 google 安全 LDAP 进行身份验证

参考:https : //helpcenter.itopia.com/en/articles/2394004-configuring-google-cloud-identity-ldap-on-ubuntu-16-04-for-user-logins

请帮助我,

谢谢 :)