AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 532637
Accepted
asciiphil
asciiphil
Asked: 2013-08-22 06:06:55 +0800 CST2013-08-22 06:06:55 +0800 CST 2013-08-22 06:06:55 +0800 CST

如何更改 Linux NIS 主机上的密码?

  • 772

这似乎应该很简单,但如果是这样,我一定会遗漏一些东西。我有一个 Linux NIS 主机,我希望能够从中更改用户的密码(在忘记密码和类似情况的情况下),但我不能。

一些细节:我正在运行 Scientific Linux 6.4,带有 ypserv-2.19-26、ypbind-1.20.4-30 和 yp-tools-2.9-12。NIS 被配置为使用/etc/yp/passwd它的 passwd 映射(即不是系统 passwd 文件)。系统是它自己的客户端并ypwhich返回“localhost”。

因为非特权用户不应该登录到 NIS 主机,我们在 中设置了以下内容/etc/nsswitch.conf:

passwd:     files compat

这在结束时/etc/passwd:

+::::::/bin/false

此外,/etc/pam.d/passwd还包含标准 RHEL 指令:

password   substack system-auth

/etc/pam.d/system-auth是指向 的符号链接/etc/pam.d/system-auth-ac,其中包含:

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so md5 shadow nis nullok try_first_pass use_authtok
password    required      pam_deny.so

(附带说明一下,我们使用 md5 而不是 sha512,因为我们有一些不支持 sha512 的 Solaris 客户端。)

如果我passwd以 root 身份运行,它会提示我输入新密码,但无法更改它:

$ sudo passwd phil
Changing password for user phil.
New password: 
Retype new password: 
NIS password could not be changed.
passwd: Authentication token manipulation error

日志文件 ( /var/log/secure) 没有帮助:

passwd: pam_unix(passwd:chauthtok): password not changed for phil on ypmaster.domain.tld

相反,如果我运行yppasswd,我可以更改密码:

$ sudo yppasswd phil
Changing NIS account information for phil on ypmaster.domain.tld.
Please enter root password:
Changing NIS password for phil on ypmaster.domain.tld.
Please enter new password:
Please retype new password:

The NIS password has been changed on ypmaster.domain.tld.

但这需要任何需要重置密码的系统管理员知道(或从我们锁定的密码保险箱中查找)系统的 root 密码,这是我想避免的情况。

那么我需要如何配置master来允许我们更改用户密码而不必每次都输入系统的root密码呢?

linux
  • 1 1 个回答
  • 21413 Views

1 个回答

  • Voted
  1. Best Answer
    voretaq7
    2013-08-22T13:03:49+08:002013-08-22T13:03:49+08:00

    正如您所发现的,您不能passwd在 NIS 客户端上以 root 用户身份更改 NIS 服务器上的用户密码。这真的是常识安全。

    同样,您发现 yppasswd 需要 root 密码(在 NIS 服务器上)才能让您更改用户密码。这是基于您应该是 NIS 管理员(NIS 服务器上的根)来更改其他人的密码这一事实的额外安全性。
    不幸的是,这种安全性不是您想要的,所以 yppasswd 在这里遇到了麻烦。

    我认为这实际上是一个相对较新的东西,或者是一个特定于操作系统的变体——早在我与 NIS 打交道的 Sun Admin 时代,yppasswd如果你是 NIS 服务器上的 root,我只是信任你......


    由于您的要求(让授权管理员更改 NIS 密码),我建议您编写一个直接编辑 NIS 映射并重建/推送它们的 shell 脚本(或您喜欢的语言)。
    您可以通过一些创造性的工作来做到这一点sed,然后授予您的管理员使用sudo.

    最终,尽管您可能想要考虑远离 NIS(LDAP 是替代 NIS 的新热点,几乎是一种直接替代,而且更容易管理)。

    • 4

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve