AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[ldap](unix)

Martin Hope
PersianGulf
Asked: 2025-02-24 21:37:36 +0800 CST

两个 OU 且无树

  • 5

我有两个OU:1. People2. newOU。我的dc是nodomain。我进行了以下搜索,一切正常:

root@debian:~/ldif# ldapsearch  -c  -Y EXTERNAL  -H ldapi:///  -b dc=nodomain -D  cn=admin,dc=nodomain -LLLQ 
dn: dc=nodomain
objectClass: top
objectClass: dcObject
objectClass: organization
o: nodomain
dc: nodomain

dn: uid=mohsen,ou=People,dc=nodomain
uid: mohsen
cn: Pahlevanzadeh
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 20121
loginShell: /usr/sbin/csh
uidNumber: 130
gidNumber: 137
homeDirectory: /home/mohsen
gecos: A good boy,,,

dn: ou=newOU,dc=nodomain
objectClass: organizationalUnit
ou: newOU
description: Organizational Unit for Sales Department

dn: uid=naghmeh,ou=newOU,dc=nodomain
uid: naghmeh
cn: maleki
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 20121
loginShell: /usr/sbin/csh
uidNumber: 130
gidNumber: 137
homeDirectory: /home/mohsen
gecos: A good boy,,,

我有两个 uid: 1.mohsen在 下People。 2.naghmeh在 下newOU
当我按上述方式搜索时,但添加"ou=newOU"如下内容:

ldapsearch  -c  -Y EXTERNAL  "ou=newOU" -H ldapi:///  -b dc=nodomain -D  cn=admin,dc=nodomain -LLLQ 

我得到以下结果:

dn: ou=newOU,dc=nodomain
objectClass: organizationalUnit
ou: newOU
description: Organizational Unit for Sales Department

遗憾的是,我没有收到uid其他信息。
我如何通过我的 访问其他信息OU?

ldap
  • 1 个回答
  • 20 Views
Martin Hope
PersianGulf
Asked: 2025-02-24 13:37:39 +0800 CST

ldapsearch 中的输出为空

  • 4

我有以下内容ldapsearch:

root@debian:~/ldif# ldapsearch -LLLQ  -Y EXTERNAL -H ldapi:/// -b dc=nodomain   -D  cn=admin,dc=nodomain,cn=Pahlevanzadeh,ou=People,uid=mohsen,loginShell=/usr/bin/csh
dn: dc=nodomain
objectClass: top
objectClass: dcObject
objectClass: organization
o: nodomain
dc: nodomain

dn: ou=People,dc=nodomain
objectClass: organizationalUnit
ou: People
description: Organizational Unit for Sales Department

dn: uid=mohsen,ou=People,dc=nodomain
uid: mohsen
cn: Pahlevanzadeh
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 20121
loginShell: /usr/sbin/csh
uidNumber: 130
gidNumber: 137
homeDirectory: /home/mohsen
gecos: A good boy,,,

但是当我使用以下内容时ldapsearch,我没有上述结果:

root@debian:~/ldif# ldapsearch  -Y EXTERNAL -H ldapi:/// -b dc=nodomain,cn=Pahlevanzadeh   -D  cn=admin,dc=nodomain,cn=Pahlevanzadeh
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
# extended LDIF
#
# LDAPv3
# base <dc=nodomain,cn=Pahlevanzadeh> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 32 No such object

# numResponses: 1

如何使用‘-b’创建查询以获得第一个结果?

ldap
  • 1 个回答
  • 18 Views
Martin Hope
Mariusz
Asked: 2023-12-22 08:03:49 +0800 CST

389ds 如何给用户分配权限?

  • 5

我尝试配置 389ds LDAP 服务器。我只需要 389ds LDAP 服务器用于测试,我不配置任何生产环境。我使用389ds/dirsrv docker 镜像。我使用 ldapmodify 命令添加了 user01 用户。问题是user1没有获得任何权限。user01 无法使用 ldapsearch commnad。

cn=目录管理员:

ldapsearch -x -H ldap://localhost:3389 -D "cn=Directory Manager" -w dupa -LLL -b "cn=user01,ou=People,dc=example,dc=org" -s base objectclass=*
dn: cn=user01,ou=People,dc=example,dc=org
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: shadowAccount
objectClass: posixAccount
objectClass: person
objectClass: top
cn: user01
gidNumber: 1000
homeDirectory: /home/user01
sn: Bar1
uid: user01
uidNumber: 1000
shadowLastChange: 19711
userPassword:: e1BCS0RGMi1TSEE1MTJ9MTAwMDAkR0NySUE4TXRkdGhtTlhMUHF2dmErMG1iQ3p
 Hd2FDWDUkZUVtZnRRd2o3MG8xeEl5bFNVRFJIaEJHTkdxcDVBVWIrTjdEOFF5RUFjZGpxNFpMa2Z3
 dm45MElrK1hFc3A3eGxVZDEvUGkvVEpKbThTYjh5eEN1alE9PQ==

cn=user01,ou=People,dc=example,dc=org:

ldapsearch -x -H ldap://localhost:3389 -D "cn=user01,ou=People,dc=example,dc=org" -w password1 -b "cn=user01,ou=People,dc=example,dc=org" -s base objectclass=*
# extended LDIF
#
# LDAPv3
# base <cn=user01,ou=People,dc=example,dc=org> with scope baseObject
# filter: objectclass=*
# requesting: ALL
#

# search result
search: 2
result: 0 Success

# numResponses: 1

我希望 user01 能够看到自己。如何修复它?

ldap
  • 1 个回答
  • 24 Views
Martin Hope
Franz Kafka
Asked: 2023-06-27 04:06:41 +0800 CST

使用 FreeIPA 完全锁定管理员帐户

  • 5

我有一个使用单个副本设置的 FreeIPA 服务器。管理员帐户已被锁定。这是来自 a 的日志kinit admin:

[root@idm-00 ~]# kinit admin
kinit: Client's credentials have been revoked while getting initial credentials

Jun 26 13:04:08 idm-00.<REDACTED> krb5kdc[288805](info): AS_REQ (6 etypes {aes256-cts-hmac-sha1-96(18), aes256-cts-hmac-sha384-192(20), camellia256-cts-cmac(26), aes128-cts-hmac-sha1-96(17), aes128-cts-hmac-sha256-128(19), camellia128-cts-cmac(25)}) <REDACTED>: LOCKED_OUT: admin@<REDACTED> for krbtgt/<REDACTED>@<REDACTED>, Client's credentials have been revoked

我的系统上没有其他管理员用户,但我确实拥有服务器本身的根访问权限。

有可能从中恢复吗?

ldap
  • 1 个回答
  • 55 Views
Martin Hope
frankfalse
Asked: 2022-10-05 22:52:25 +0800 CST

我只能安装什么 LDAP 服务器来测试 LDAP 身份验证?

  • 1

我需要练习LDAP,所以我认为安装 LDAP 服务器只是为了做一些测试是个好主意。

对于客户端,我使用的是 LInux Mint 发行版,并且我已经安装了在此链接中找到的所有软件包。在我的公司中可以使用 Active Directory 服务,但显然我的用户没有以下命令所需的管理员权限:

sudo realm join domain.tld -U domain_administrator --verbose

所以我想安装一个 LDAP 服务器来做测试。

有人知道适合我用途的 LDAP 服务器吗?

谢谢。


在这个链接上,我找到了在 Linux Mint 上安装 OpenLDAP Server 和 OpenLDAP Client 的教程。

与往常一样,可以通过以下方式安装 OpenLDAP 服务器apt:

sudo apt update
sudo apt -y install slapd ldap-utils 

之后,必须配置服务器,并且链接提供了一些详细信息。显然这篇文章只是一个介绍,但足以开始学习 LDAP 服务器。

ldap openldap
  • 1 个回答
  • 58 Views
Martin Hope
frankfalse
Asked: 2022-10-05 02:22:40 +0800 CST

Linux 工作站如何与 Windows Active Directory 交互?

  • 3

我正在研究LDAP,在我的公司里有一个 Active Directory 服务器。在我的工作站上安装了 Linux Mint。

我试图展示出现我的问题的背景:

  • 打开一个新窗口来浏览工作站的文件系统;
  • File在打开的窗口的菜单中(很抱歉,此时我无法添加打开的窗口的图像),有选项Connect to Server;
  • 通过此选项,我可以选择Type: Windows share并使用在 Windows 域中注册的帐户进行身份验证;
  • 之后,我可以浏览一些启用了我的帐户的网络目录。

解释了上下文我可以问这个问题:Connect to Server我使用过 LDAP 还是其他东西?是否可以通过命令行进行相同的身份验证?

谢谢

linux-mint ldap
  • 1 个回答
  • 46 Views
Martin Hope
dr_
Asked: 2022-04-28 06:23:07 +0800 CST

如何解决 LDAP 错误 53 (WILL_NOT_PERFORM)?

  • 4

我正在尝试让 CentOS 7 服务器加入 AD,但会导致错误:

AD LDAP ERROR:53(服务器不愿意执行):0000216D:SvcErr:DSID-031A1241,问题5003(WILL_NOT_PERFORM),数据0

命令运行:

[root@myserver ~]# realm join --user='[email protected]' --computer-ou=OU=ABC,OU=Servers,OU=ACME,OU=Units,DC=example,DC=org example.org
Password for [email protected]:
See: journalctl REALMD_OPERATION=r12682208.2790
realm: Couldn't join realm: Joining the domain example.org failed

[root@myserver ~]# journalctl REALMD_OPERATION=r12682208.2790 --no-pager
-- Logs begin at Mon 2022-04-25 14:28:51 CEST, end at Tue 2022-04-26 13:51:12 CEST. --
Apr 26 13:49:01 myserver.example.org realmd[2794]:  * Resolving: _ldap._tcp.example.org
Apr 26 13:49:01 myserver.example.org realmd[2794]:  * Performing LDAP DSE lookup on: 10.1.1.1
Apr 26 13:49:01 myserver.example.org realmd[2794]:  * Performing LDAP DSE lookup on: 10.2.2.2
Apr 26 13:49:01 myserver.example.org realmd[2794]:  * Successfully discovered: example.org
Apr 26 13:49:08 myserver.example.org realmd[2794]:  * Required files: /usr/sbin/oddjobd, /usr/libexec/oddjob/mkhomedir, /usr/sbin/sssd, /usr/bin/net
Apr 26 13:49:08 myserver.example.org realmd[2794]:  * LANG=C LOGNAME=root /usr/bin/net -s /var/cache/realmd/realmd-smb-conf.HGKCL1 -U [email protected] ads join example.org createcomputer=Units/ACME/Servers/ABC
Apr 26 13:49:09 myserver.example.org realmd[2794]: Enter [email protected]'s password:ads_print_error: AD LDAP ERROR: 53 (Server is unwilling to perform): 0000216D: SvcErr: DSID-031A1241, problem 5003 (WILL_NOT_PERFORM), data 0
Apr 26 13:49:09 myserver.example.org realmd[2794]:
Apr 26 13:49:09 myserver.example.org realmd[2794]:
Apr 26 13:49:09 myserver.example.org realmd[2794]: Failed to join domain: failed to precreate account in ou ou=ABC,ou=Servers,ou=ACME,ou=Units,dc=example,dc=org: Server is unwilling to perform
Apr 26 13:49:09 myserver.example.org realmd[2794]:  ! Joining the domain example.org failed

使用的帐户有权将服务器添加到域。(在 MS Windows AD 上测试。)

--verbose选项realm不显示任何额外的有用信息。

我怎样才能找到问题的根源?

centos ldap
  • 1 个回答
  • 1091 Views
Martin Hope
Fang
Asked: 2022-04-19 10:32:08 +0800 CST

sssd 不会在 LDAP 中查询 loginshell

  • 2

我已经配置了一个 LDAP 服务器并创建了一个用户。ldapsearch 提供以下结果:

# user, People, brave-vesperia.com
dn: uid=masc,ou=People,dc=brave-vesperia,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: masc
cn: user user
sn: user
givenName: ###
title: Dr.
telephoneNumber: #####
mobile: #####
postalAddress: #####
userPassword:: e1NTSEF9QzVQNUp5R2h4NkZzVzRuUzlCZWdlcFlwaVVFWEk0Mno=
labeledURI: #####
loginShell: /bin/bash
uidNumber: 9999
gidNumber: 9999
homeDirectory: /home/masc
description: Admin User

我已经在我的客户端上配置了 sssd,现在可以使用我的 ldap 帐户登录。但是,我得到的外壳是 /bin/sh。

这是我的sssd配置:

[sssd]
config_file_version = 2
services = nss, pam, sudo
domains = brave-vesperia.com

[domain/brave-vesperia.com]
cache_credentials = true
enumerate = true

id_provider = ldap
auth_provider = ldap

ldap_uri = ldap://ldap.brave-vesperia.com
ldap_search_base = dc=brave-vesperia,dc=com
ldap_id_use_start_tls = true
ldap_tls_reqcert = demand
ldap_tls_cacert = /etc/openldap/certs/ca.pem
chpass_provider = ldap
ldap_chpass_uri = ldap://ldap.brave-vesperia.com
entry_cache_timeout = 600
ldap_network_timeout = 2

ldap_schema = rfc2307bis
ldap_group_member = uniqueMember

这是输出getent masc passwd

masc:*:1001:1001::/home/masc:

/bin/sh不是/bin/bash. 我已经测试了 AlmaLinux 和 Ubuntu 客户端,因此不太可能与客户端相关。

搜索日志,我反复看到以下几行:

(2022-04-21  5:35:46): [be[brave-vesperia.com]] [sdap_get_map] (0x0400): Option ldap_user_shell has value loginShell

sssd_brave-vesperia.com.log:(2022-04-21  6:25:50): [be[brave-vesperia.com]] [sysdb_remove_attrs] (0x2000): Removing attribute [loginShell] from [[email protected]]
ldap sssd
  • 1 个回答
  • 77 Views
Martin Hope
Alexander
Asked: 2019-08-12 05:15:12 +0800 CST

在属性上限制 openldap ldapsearch

  • 2

我对我的目录有以下查询:

ldapsearch -x -H ldaps://example.com -D "cn=gitlab,ou=Service Accounts,dc=example,dc=com" -w foobar -b "ou=Persons,dc=example,dc=com"

使用以下 olcAccess 我得到以下结果:

dn: olcDatabase={1}mdb,cn=config
olcAccess: {0}to dn.subtree="ou=Persons,dc=example,dc=com" by dn="cn=gitlab,ou=Service Accounts,dc=example,dc=com" read
olcAccess: {1}to attrs=userPassword,shadowLastChange by self =xw by anonymous auth
olcAccess: {2}to * by self read by * none

(规则 1 应该是第一位的,它也可以这样工作,但可以肯定的是,我现在把它放下)

结果:

# Persons, example.com
dn: ou=Persons,dc=example,dc=com
objectClass: organizationalUnit
objectClass: top
ou: Persons

# Hans Wurst, Persons, example.com
dn: cn=Hans Wurst,ou=Persons,dc=example,dc=com
givenName: Hans
sn: Wurst
cn: Hans Wurst
uid: hwurst
userPassword:: <PASSWORDHASH>
uidNumber: 1001
gidNumber: 500
homeDirectory: /home/hwurst
loginShell: /bin/bash
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top

# Carla Kaese, Persons, example.com
dn: cn=Carla Kaese,ou=Persons,dc=example,dc=com
gidNumber: 500
givenName: Carla
homeDirectory: /home/ckaese
loginShell: /bin/bash
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
sn: Kaese
uid: ckaese
uidNumber: 1000
cn: Carla Kaese
userPassword:: <PASSWORDHASH>

现在我的目标是限制对某些属性的读取访问。因此,我将 acls 更改如下:

dn: olcDatabase={1}mdb,cn=config
olcAccess: {0}to dn.subtree="ou=Persons,dc=example,dc=com" attrs="entry,uid,cn" by dn="cn=gitlab,ou=Service Accounts,dc=example,dc=com" read
olcAccess: {1}to attrs=userPassword,shadowLastChange by self =xw by anonymous auth
olcAccess: {2}to * by self read by * none

我添加了attrs="entry,uid,cn"

但是,相同的搜索现在只返回:

# search result
search: 2
result: 0 Success

我究竟做错了什么?我错过了什么?它如何工作?

ldap openldap
  • 2 个回答
  • 640 Views
Martin Hope
Joeytje50
Asked: 2019-06-30 10:08:36 +0800 CST

用户在组中列出但不在 getent passwd 中

  • 2

在具有本地用户和 LDAP 用户的特定机器上,有一个用户列在下面getent group foo(假设该用户jdoe已列出),但是这样做时getent passwd jdoe我没有得到任何输出。尝试sudo su jdoe也不行。

使用命令members -t foo我发现用户仅被列为该组的次要成员,尽管我不确定这是否相关。

有谁知道我怎样才能知道这个看似不存在的用户是如何进入这个用户组的?澄清一下,列出的用户与系统用户没有任何关系,并且似乎没有在本地创建的用户下的任何地方列出。

有可能发生的事情:这是否可能是由以前拥有名为 的用户帐户的人造成的jdoe,此后该帐户已被重命名或删除?如果是这样,我怎么能找到这个?

这是我的/etc/nsswitch.conf:

passwd:         compat ldap systemd
group:          compat ldap systemd
shadow:         compat ldap

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

它几乎是包含 LDAP 的默认配置。

users ldap
  • 1 个回答
  • 1335 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve