在 RHEL7 上以非 root 用户身份执行时 rpm 命令挂起

在 RHEL7 上以非 root 用户身份执行时 rpm 命令挂起

我遇到了一个奇怪的问题,当以任何非 root 用户身份执行 rpm 命令时,它会挂起 40 秒(总是恰好 40 秒)。无论使用什么命令行参数,即使没有任何参数的“rpm”也会挂起(rpm --help 是唯一的例外)。

strace 显示它挂在 select() 调用上,其中两个文件描述符指向 /etc/passwd 和 /etc/pam.d/other,这对我来说没有任何意义。

当以 root 身份执行时它会立即完成。

系统是 RHEL 7,我在不同的客户环境中的两台完全不同的机器上观察到了这个问题。

我正在寻找解决方案或一些继续调查的提示。

答案1

似乎是 DNS 解析问题。很难说出确切的原因,而且没有与 DNS 查询及其错误/结果相关的一般日志。

  • 检查 /etc/nsswitch.conf
  • 检查 /etc/resolv.conf
  • 检查一些host查询来为您指明正确的方向:

    主机本地主机

    主机本地主机.本地域

    主机名

    主机 $(主机名)

    主机名 -s

    主机 $(主机名 -s)

    主机名 -f

    主机 $(主机名 -f)

答案2

事实证明,该问题是由 /etc/hosts 上的权限不正确引起的。将其更改为 644 即可解决问题。

相关内容