当前位置: 首页 > 面试题库 >

在puppet中管理Linux的用户密码

阎伟志
2023-03-14
问题内容

我需要使用p创建一个具有密码的测试用户。

我读过,木偶无法以通用的跨平台方式管理用户密码,这很遗憾。我这样做是针对Red Hat Enterprise Linux Server 6.3版。

我做如下:

user { 'test_user': 
  ensure   => present,
  password => sha1('hello'),
}

puppet更新了用户密码,但是Linux表示我尝试登录时login / pwd不正确。

如果我在Linux中使用手动设置了密码sudo passwd test_user,然后查看/etc/shadow并在puppet中对该值进行了硬编码,那么它将起作用(我可以登录)。就像是:

user { 'test_user': 
  ensure   => present,
  password => '$1$zi13KdCr$zJvdWm5h552P8b34AjxO11',
}

我也尝试过$1$在前面添加sha1('hello'),但是它也不起作用(请注意,$1$代表sha1)。

如何修改第一个示例以使其起作用(使用人偶文件中的纯文本密码)?

PS:我知道我应该使用LDAP或sshkeys或其他方式,而不是硬编码人偶html" target="_blank">文件中的用户密码。但是,我这样做仅是为了运行木偶游民测试,因此可以对用户密码进行硬编码。


问题答案:

我在Puppet解析器函数中使用ruby的String#crypt方法获得了成功(要点)。

在AFAICS中,它使用的是crypt libc函数(请参见:)info crypt,并采用相同的参数$n$[rounds=<m>$]salt,其中n是哈希函数(对于SHA-512,为$
6),而m是密钥加强回合的次数(默认为5000)。



 类似资料:
  • 本文向大家介绍掌握Linux上的用户管理,包括了掌握Linux上的用户管理的使用技巧和注意事项,需要的朋友参考一下 您是Linux管理员吗?您是否在Linux命令行中创建/删除用户?如果是,那么本文适合您!阅读以下内容后,您将能够在Linux系统中操纵用户和组权限。 在下面的示例中,sai是用户名。 用户模组 usermod命令修改进场客户记录以反映可以在命令行上定位的更改。 要获取有关userm

  • 在本地主机的LXC容器中是否有用于管理节点的傀儡模块?例如:我有一个带有50个LXC容器的主机,我想直接从主机管理所有这些容器,而不是从另一个带有的LXC容器。

  • 2.3 账户密码管理 2.3.1 重置、修改支付密码 【场景介绍】 该操作需要在钱麦页面完成(用户需要提交相关信息进行身份校验之后重置\/修改支付密码),钱麦将结果同步\/异步反馈给商户,且在用户重置\/修改支付密码之后,返回商户端页面,商户继续处理用户的其他请求。 【重要说明】 基于支付合规性要求,个人网络支付密码属于敏感信息,无支付牌照许可的公司是不能够存储个人支付账户支付密码,支付+钱麦也是

  • 关于这部分内容,笔者在日常的linux系统管理工作中用到的并不多,但这并不代表该内容不重要。毕竟linux系统是一个多用户的系统,每个账号都干什么用,你必须了如指掌。因为这涉及到一个安全的问题。 【认识/etc/passwd和/etc/shadow】 这两个文件可以说是linux系统中最重要的文件之一。如果没有这两个文件或者这两个文件出问题,则你是无法正常登录linux系统的。 /etc/pass

  • 唯一安全的服务器是关闭的。尽管如此,对于服务器访问控制的一个好方法是, 使用经过私钥短语保护的 SSH 密钥的用户帐户, 而不是多个用户使用一个共享账号和一个众所周知的口令。 Puppet 使这种管理变得简单,感谢其内置的 ssh_authorized_key 类型。 将它与上一节讲述的虚拟用户相结合,你可以创建一个包括 user 和 ssh_authorized_key 的 define。 对于

  • 如何在后端管理(删除)AWS Cognito中的用户(使用节点)?