如何在启用 LDAP 的 Linux 系统中创建本地用户

如何在启用 LDAP 的 Linux 系统中创建本地用户

在应用程序安装期间,我曾经使用“groupadd”和“useradd”命令创建一个新组和一个新用户

groupadd my_group
useradd -r -s /sbin/nologin -g my_group my_user

但是在一台启用了 LDAP 的 Linux 计算机中(LDAP 服务器未在此计算机上运行,​​但它是为 LDAP 客户端配置的),我发现“groupadd anduseradd”命令将组和用户添加到 LDAP 中而不是本地用户/组。

我不想将用户/组添加到 LDAP,因为我实际上需要一个本地用户,该用户将拥有我的应用程序配置文件,并且其中一个进程将使用新用户运行。我不认为 LDAP 用户可以用于chown更改文件所有权的命令。

在谷歌上,我发现有一个luseradd/lgroupadd命令可以在本地添加用户。但默认情况下,该工具仅存在于 RHEL 中。因此,在 Ubuntu 和 SUSE 等其他发行版上,它默认不存在,需要显式安装。所以我不能依赖这个luseradd/lgroupdadd实用程序。

我不想手动将用户和组添加到文件中,/etc/group因为/etc/passwd这是一种黑客行为,它涉及为我的新组和用户生成唯一的组 ID 和用户 ID。

  1. 是否有其他替代方法来添加可在所有 Linux 发行版中使用的本地用户?

  2. 检查我的计算机是否启用 LDAP 的最佳方法是什么?我想使用此检查来决定是否必须使用useradd/groupadd命令。

答案1

vipw如果您想排除分别使用和手动编辑 passwd 和组文件vigr,那么很可能没有一种方法适用于“所有 Linux 发行版”。但你提到了 Ubuntu 和 SUSE,它们确实有办法做到这一点。 Ubuntu 和 SUSE 的存储库中都有“libuser”。您可以安装 libuser,然后使用 luseradd 和 lgroupadd,也可以在应用程序中包含 libuser。

$ sudo apt-get install libuser

相关内容