解决 Ansible user_module 中 UID 过大导致 “rc: -25” 的问题

90次阅读
没有评论

问题描述

在使用 Ansible 的 user_module 时,尝试使用来自 Active Directory (AD) 域控制器 (DC) 的 UID 创建用户时,遇到了 rc: -25 的错误。即使在命令行上手动尝试创建用户也会失败,报错信息为 “File size limit exceeded (core dumped)”。用户希望能够解决这个问题,并成功创建一个与 AD 中相同 ID 的用户。

解决方案

请注意以下操作可能涉及版本差异,建议在操作前备份相关文件。

在解决这个问题之前,我们首先需要理解造成这个错误的原因。根据提供的问答数据,问题出现在 UID 过大时,导致文件大小限制超出限制,从而触发了错误。

使用 pam_limits 模块调整文件大小限制

解决方案是使用 Ansible 的 pam_limits 模块,来调整文件大小限制。具体步骤如下:

  1. 在 Ansible 的 playbook 中添加一个任务,使用 pam_limits 模块来设置合适的文件大小限制,确保文件大小限制大于 UID * 292 字节。这个值的来源是根据经验得出的。
- name: Add or modify soft fsize limits for root domain (for /var/log/lastlog)
  pam_limits:
    domain: root
    limit_type: soft
    limit_item: fsize
    value: '360493823880' # UID * 292
  when: ansible_domain == "example.com" # 适用于特定条件
  tags: install,user,system

在上面的示例中,我们设置了一个适当的文件大小限制,确保其大于 UID * 292 字节。请根据实际情况修改 when 字段来适应你的特定条件。

参考资料

以下是一些参考资料,供你进一步了解问题背后的原因和解决方案:

注意:以上解决方案基于提供的问答数据和问题描述。如果实际情况有所不同,可能需要根据具体情况进行调整。

正文完