SSSD删除用户

SSSD删除用户

这是我在论坛上的第一个问题,所以如果我错过了有关我的问题的重要信息,请不要生气。

我使用 Debian 8,并根据 SSSD 加入了 Active Directory 域(Windows server 2012)本教程

一切正常,我可以使用 AD 帐户登录。此外,我创建了一个 Active Directory 组来收集允许连接到该服务器的用户。

我允许该组使用以下命令:

realm permit -g [email protected]

到目前为止,一切正常,当我第一次使用 Active Directory 帐户连接 Linux 服务器时,/home/domain/user就会创建该文件。

但是,当我想要撤销一个用户连接到服务器的权限时(因此我从组中删除该帐户)。它的文件夹/home/domain/user仍然保留在服务器上,而且 root 帐户(或具有 sudo 权限的帐户)可以连接到不再具有权限的用户(带有警告消息Access Denied (ignored))。

最后,唯一不允许的方法su <deleted user>是删除 AD 帐户(但我不能每次撤销权限时都删除 AD 帐户)。

在我看来,这是一个可怕的安全问题。当我撤销AD帐户权限时,是否可以明确删除Linux服务器上的用户(及其文件夹)?

您能分享一下有关 AD 和 SSSD 之间身份验证的信息吗?

请参阅下面的配置文件:

内容/etc/nsswitch.conf

passwd:         compat sss
group:          compat sss
shadow:         compat sss
gshadow:        files

hosts:          files dns
networks:       files

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

netgroup:       nis sss
sudoers:        files sss

内容/etc/sssd/sssd.conf

[sssd]
domains = mydomain.com
config_file_version = 2
services = nss, pam

[domain/mydomain.com]
ad_domain = mydomain.com
krb5_realm = MYREALM.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%d/%u
access_provider = simple
simple_allow_groups = MyGroupAllowed

在使用 SSSD 之前,我尝试使用 Winbind,但遇到了同样的问题。

感谢您的回答。

答案1

在我看来,这是一个可怕的安全问题。

sudo那么,您认为用户可以连接到 Linux 服务器上的帐户这一事实是一个安全问题吗?用户使用该帐户执行的所有操作sudo都会相应记录,包括最初执行的用户sudo

您可以做的是让守护程序轮询 LDAP 并同步帐户。它甚至不必安装在每个 Linux 机器上,只要它可以连接到这些机器即可。

编辑:前进的另一种方法是确保删除 Kerberos 缓存;用于。kdestroy/etc/bash.bash_logout这样,用户可以做的唯一“伤害”是本地的,而且他无论如何都可以,因为 root 可以在本地做任何事情。

注意:这也与 Windows 非常相似,因为本地管理员可以轻松成为本地系统,并且本地系统可以执行本地系统上的所有操作,包括模拟当前登录的用户......并kdestroy在注销时使用模拟 Windows 行为。

这就是为什么你的问题让我感到惊讶。实际上,更糟糕的是,除非您在 Windows 上设置特定的审核规则,否则您不会看到本地系统模拟用户,也不会看到谁“当前控制此本地系统会话执行某些操作jdoe”。

相关内容