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

use*_*499 6 ldap useradd

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

groupadd my_group
useradd -r -s /sbin/nologin -g my_group my_user
Run Code Online (Sandbox Code Playgroud)

但是在其中一台启用了 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命令。

Tod*_*ton 1

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

$ sudo apt-get install libuser
Run Code Online (Sandbox Code Playgroud)

  • libuser 并不意味着“本地用户”。它有一个 LDAP 后端。 (2认同)