由于 sssd 无法将用户添加到组?

由于 sssd 无法将用户添加到组?

我正在对 Fedora 29 x86_64 进行完全修补。我正在尝试将我的用户添加到dialout组中,以便我可以打开调制解调器:

$ ls -Al /dev/ttyUSB0
crw-rw----. 1 root dialout 188, 0 Feb 22 19:27 /dev/ttyUSB0

$ sudo usermod -a -G dialout jwalton
(Fri Feb 22 19:32:11:373072 2019) [sss_cache] [confdb_get_domains] (0x0010): No
domains configured, fatal error!
Could not open available domains
usermod: sss_cache exited with status 2
usermod: Failed to flush the sssd cache.

根据 Fedora 董事会的说法在组中插入用户时出错,可以删除SSSD。这就是混乱产生的地方。

Fedora 消息没有说明安装 SSSD 的原因或为何未将其配置为允许修改组。此外,删除 SSSD 对我来说看起来很重。

并根据sssd(8)手册页,“SSSD 提供了一组守护进程来管理对远程目录的访问和身份验证机制。”该描述使 SSSD 的角色更加令人困惑,因为sudo它可以工作,而且我没有对远程目录执行任何操作。

我想知道是否有一种方法可以在不卸载软件或配置软件的情况下修改用户组。我想我想知道如何回到过去,一切都按预期“正常工作”。


$ sudo yum remove sssd
Dependencies resolved.
================================================================================
 Package                Arch       Version                   Repository    Size
================================================================================
Removing:
 sssd                   x86_64     2.0.0-5.fc29              @updates      34 k
Removing unused dependencies:
 adcli                  x86_64     0.8.2-2.fc29              @fedora      265 k
 c-ares                 x86_64     1.13.0-5.fc29             @fedora      221 k
 cyrus-sasl-gssapi      x86_64     2.1.27-0.3rc7.fc29        @fedora       41 k
 libdhash               x86_64     0.5.0-41.fc29             @fedora       60 k
 libipa_hbac            x86_64     2.0.0-5.fc29              @updates      61 k
 libsss_autofs          x86_64     2.0.0-5.fc29              @updates      65 k
 libsss_certmap         x86_64     2.0.0-5.fc29              @updates     119 k
 libsss_idmap           x86_64     2.0.0-5.fc29              @updates      77 k
 libsss_nss_idmap       x86_64     2.0.0-5.fc29              @updates      89 k
 libsss_sudo            x86_64     2.0.0-5.fc29              @updates      58 k
 python3-sssdconfig     noarch     2.0.0-5.fc29              @updates     185 k
 sssd-ad                x86_64     2.0.0-5.fc29              @updates     377 k
 sssd-client            x86_64     2.0.0-5.fc29              @updates     249 k
 sssd-common            x86_64     2.0.0-5.fc29              @updates     4.9 M
 sssd-common-pac        x86_64     2.0.0-5.fc29              @updates     247 k
 sssd-ipa               x86_64     2.0.0-5.fc29              @updates     708 k
 sssd-krb5              x86_64     2.0.0-5.fc29              @updates      83 k
 sssd-krb5-common       x86_64     2.0.0-5.fc29              @updates     292 k
 sssd-ldap              x86_64     2.0.0-5.fc29              @updates     141 k
 sssd-nfs-idmap         x86_64     2.0.0-5.fc29              @updates      41 k
 sssd-proxy             x86_64     2.0.0-5.fc29              @updates     138 k

Transaction Summary
================================================================================
Remove  22 Packages

Freed space: 8.4 M
Is this ok [y/N]: N

答案1

这是完美运行的解决方案。

已报告问题

[root@rhel8-server1 ~]# useradd kumar3
No cache object matched the specified search
useradd: sss_cache exited with status 2
useradd: Failed to flush the sssd cache.
No cache object matched the specified search
useradd: sss_cache exited with status 2
useradd: Failed to flush the sssd cache.

解决方案

[root@rhel8-server1 ~]# systemctl stop sssd
[root@rhel8-server1 ~]# rm -rf /var/lib/sss/db/*
[root@rhel8-server1 ~]# systemctl restart sssd
[root@rhel8-server1 ~]# useradd kumar4
[root@rhel8-server1 ~]#

答案2

/usr/lib64/sssd/conf您可以尝试使用以下命令复制预配置文件:

$ sudo cp /usr/lib64/sssd/conf/sssd.conf /etc/sssd

作为红帽企业 Linux 部署指南读它,

默认情况下,该sssd进程假定配置文件是 /etc/sssd/sssd.conf.

如果找不到此文件或文件存在某种格式错误,则会破坏usermod的组审核功能。

相关内容