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 / 问题

问题[sssd](unix)

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
slm
Asked: 2019-08-27 18:52:20 +0800 CST

如何使用我的 sudo 权限确认其他用户的 sudo 权限?

  • 0

我目前管理一个 IDM ( FreeIPA ) 集群并拥有完整的 sudo 权限,即我可以通过sudo -Es. 我想验证我在特定服务器上添加到 FreeIPA 的 sudo 规则,以确认主机通过 SSSD 正确获取了该规则。

我怎样才能做到这一点?

注意: sudo 规则如下:

$ ipa sudorule-show prod-abc-dashboard-dba
  Rule name: prod-abc-dashboard-dba
  Enabled: TRUE
  Command category: all
  User Groups: eng-data-svc
sudo sssd
  • 1 个回答
  • 1929 Views
Martin Hope
Fishy
Asked: 2018-03-13 03:53:48 +0800 CST

通过 AD 防止 vsFTP 身份验证

  • 0

我安装了一个非常小的虚拟机,用于测试目的,运行 CentOS 1708,配置了 vsftp。我用了

https://www.rootusers.com/how-to-join-centos-linux-to-an-active-directory-domain/

为操作系统部分设置广告身份验证,但不希望广告用户能够通过 FTP 客户端登录。

主要是我需要通过 ssh 在内部进行广告身份验证,而不是通过 Internet,以及纯粹通过本地用户进行 FTP 登录。

我注意到,如果用户没有通过 ssh 登录此虚拟机,他/她将无法使用广告凭据通过 ftp 端口 21 登录,因为它无法创建主目录。

我想这很好,但我正在寻找一种方法来完全防止通过 AD 进行广告身份验证,只允许通过 ssh 或终端

我不希望通过 ftp 进行广告身份验证,因为这会使我在互联网上的广告用户面临被“黑客”或锁定的风险

关于我如何做到这一点的任何建议?

vsftpd sssd
  • 2 个回答
  • 975 Views
Martin Hope
bgStack15
Asked: 2018-02-24 15:00:14 +0800 CST

getent passwd -s sss LOCALUSER 显示本地用户

  • 5

tl;博士

我想轻松快速地判断用户是本地用户还是域用户(不在乎哪个域)。

环境

  • freeipa-client-4.6.1-3.fc27.x86_64
  • sssd-1.16.0-4.fc27.x86_64

全文

我正在编写一个 userinfo.sh 脚本,该脚本将显示用户是否是本地用户、sssd、可以 ssh 以及 sssd 是否允许。

目前我正在使用getent passwd -s sss $USERNAME命令检查用户是否来自域。但是我遇到了检查 sssd 数据库返回本地用户的问题!

# getent passwd -s sss 'bgstack15-local'
bgstack15-local:x:1000:1000:bgstack15-local:/home/bgstack15-local:/bin/bash

检查 sss 的数据库(缓存)内容显示 sssd 显然缓存了有关本地用户的各种信息。

# sudo su root -c 'strings /var/lib/sss/db/* | grep bgstack15-local' | sort | uniq
name=bgstack15-local@implicit_files,cn=groups,cn=ih
name=bgstack15-local@implicit_files,cn=groups,cn=implicit_files,cn=sysdb
name=bgstack15-local@implicit_files,cn=users,cn=implicit_files,cn=sysdb
[...output truncated]

我尝试整体清除 sssd 缓存,并且仅针对用户。两者都没有改变。

# sss_cache -U
# sss_cache -u bgstack15-local

该用户确实显示为本地用户,我保证它只是本地用户!

getent passwd -s files 'bgstack15-local'
bgstack15-local:x:1000:1000:bgstack15-local:/home/bgstack15-local:/bin/bash

getent(1)和getpwent(3)的手册页不能帮助我理解可能发生的情况。sssd(8)告诉我 sssd 可以缓存本地用户,这实际上与我想要的背道而驰!sssd.conf(5)的 nss 部分没有帮助,但也许我没有花足够的时间阅读它。我有点卡住了。

我的 sssd.conf

[domain/ipa.example.com]
id_provider = ipa
ipa_server = _srv_, dns1.ipa.example.com
ipa_domain = ipa.example.com
ipa_hostname = fc27c-01a.ipa.example.com
auth_provider = ipa
chpass_provider = ipa
access_provider = ipa
cache_credentials = True
ldap_tls_cacert = /etc/ipa/ca.crt
krb5_store_password_if_offline = True
[sssd]
services = nss, pam, ssh, sudo
domains = ipa.example.com
[nss]
homedir_substring = /home
[pam]
[sudo]
[autofs]
[ssh]
[pac]
[ifp]
[secrets]
[session_recording]

最后一招

我可以在检查${USERNAME}@${DOMAIN}时尝试进行-s sss检查,但这意味着我必须遍历 sssd.conf 中的所有域,这会减慢进程。

users sssd
  • 1 个回答
  • 8459 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