puppet添加带密码的用户

前一篇文章,我们介绍了有关puppet3.7的安装与配置,这篇文章我们再来介绍下如何利用puppet添加带密码的用户。

要通过puppet添加带密码的用户,我们需要分以下几个步骤:

1、查看user资源帮助

2、user选项说明

3、添加系统用户

4、生成用户密码

5、添加带密码的用户

一、查看user资源帮助

要通过puppet为系统添加用户,我们需要首先查看puppet如何添加用户,这个我们可以查看puppet的user资源帮助信息。如下:

puppet describe user

puppet describe user命令可以查询user资源各个选项的帮助信息。

除此之外,我们还要通过puppet resource user命令,查看user资源在puppet中的使用方法,以及puppet中给出的user的资源使用模版。如下:

puppet resource user

二、user选项说明

user资源的选项比较多,我们在此主要介绍几个常用的选项。

ensure指定用户所处的状态,其值可以为:present、absent、role。其中present表示添加用户,absent表示删除用户。

uid指定用户的UID。

gid设置用户的组ID,可以是数字也可以是组名。

groups设置用户的组名,只能是组名,不能是gid。

name指定用户名。

comment用户的描述。

expiry用户使用期限。

home设置用户的家目录,user资源默认不创建用户家目录。

password指定用户的密码。

shell指定用户登录的shell。

system指定用户是否为系统用户,一般是小于500的UID用户。

三、添加系统用户

通过第一章节,我们知道了如何使用user资源,那么我们现在就添加一个用户。

3.1 给centos添加用户

在《烂泥:puppet3.7安装与配置》这篇文章中,我们提到puppet目前搭建在centos系统之上,所以我们先来给centos系统添加一个用户。

在puppet master端编辑puppet的站点文件site.pp,如下:

vi /etc/puppet/manifests/site.pp

node default{

user { ‘ilanni’:

ensure => ‘present’,

}}

这条命令的作用是,创建用户ilanni。其中ensure后边的字段为present表示创建ilanni这个用户,如果ensure后边的字段为absent表示删除ilanni这个用户。

puppet master端配置完毕后,现在我们切换puppet agent端,执行同步命令。如下:

cat /etc/system-release

puppet agent –test –server s.ilanni.com

通过上图,我们可以很容易的看到agent端已经从master端同步到相关的命令。

现在我们来查看,系统中是否已经创建ilanni这个用户。如下:

cat /etc/passwd |grep ilanni

cat /etc/group |grep ilanni

ll /home/

通过上图,我们可以看出系统中已经创建ilanni这个用户。

注意:通过上图,我们可以很明显的看出来。目前ilanni用户是没有家目录的。尽管passwd文件显示有其家目录,所以ilanni用户是不能登录到系统中的。

以上操作都是centos系统,因为puppet具有跨平台的性能,所以我们下面就在ubuntu上执行puppet同步。

3.2 给ubuntu添加用户

要给ubuntu添加用户,我们需要先给ubuntu安装puppet客户端。

有关在ubuntu上安装puppet客户端,我们可以查看puppet官网提供的帮助信息。如下:

https://docs.puppetlabs.com/guides/install_puppet/install_debian_ubuntu.html

wget https://apt.puppetlabs.com/puppetlabs-release-precise.deb

sudo dpkg -i puppetlabs-release-precise.deb

sudo apt-get update

apt-get -y install puppet

puppet客户端安装完毕后,我们来配置puppet和授权证书。有关puppet客户端的配置以及证书授权,可以参考《烂泥:puppet3.7安装与配置》这篇文章。

具体操作,看如下截图:

cat /etc/hosts

puppet agent –server s.ilanni.com

puppet cert –list

puppet cert sign c1.ilanni.com

puppet配置完毕后,我们现在在ubuntu上执行同步命令。如下:

puppet agent –test –server s.ilanni.com

查看是否创建ilanni用户,如下:

通过上图,我们可以很明显的看出puppet已经在ubuntu系统创建用户。

3.3 给windows添加用户

puppet也是支持windows系统,但是目前puppet只支持puppet客户端。

有关puppet的windows系统相关帮助信息,我们也可以在puppet官网查看帮助,如下:

https://docs.puppetlabs.com/guides/install_puppet/install_windows.html

有关puppet客户端在windows系统的下载及安装,我们在此就不一一进行截图。

puppet客户端安装完毕后,puppet的操作及配置与centos系统是一样的。如下:

通过上图,我们可以很容易的看出windows系统中也创建ilanni这个用户。这充分体现了puppet 的跨平台性。

注意:puppet for windows目前只支持file、user、group、scheduled_task(Windows专属资源类型)、package、service、exec、host,这个几个资源类型。

四、生成用户密码

Linux系统的密码都不是明文的,而是经过加密的。

要生成Linux系统密码,我们有两种方法:一种是先新建一个用户然后对对该用户设置密码,最后取其对应的shadow文件第一个冒号与第二个冒号之间的内容。第二种是通过grub-md5-crypt进行生成。

下面我们一一介绍下,本次我们测试的密码为ilanni123。

通过查看shadow文件的方法:

useradd test

passwd test

cat /etc/shadow |grep test

上图中红色细线标记出来的部分,就是我们所需要的加密后的密码。

通过grub-md5-crypt生成密码的方法:

yum -y install grub

grub-md5-crypt

上图中红色细线标记出来的部分,就是我们所需要的加密后的密码。

对比下以上两种方法,你会发现尽管密码是一样的,但是经过加密后的却不一样。

对于以上两种方法,我比较倾向于第一种方法,查看shadow文件。因为这种方法不需要在安装其他软件。

注意:windows系统添加用户密码时,使用的是明文,不需要加密。

五、添加带密码的用户

密码创建完毕后,我们现在来正式创建带密码的用户。

其实很简单的,我们只需要把相关的选项写上去就行了。内容如下:

cat site.pp

user { ‘ilanni’:

ensure => ‘present’,

home => ‘/home/ilanni’,

shell => ‘/bin/bash’,

password => ‘$6$5YNwr11X$cfNwsJNrGBVg/yEE.sL1E.Ch5KoZrVrhmz4bOP8QnhWRBS/hCYNxP52EGdS38aSJhB8GBN60PSbcaNbcjofUt0’,

}

file {‘/home/ilanni’:

owner => ilanni,

group => ilanni,

mode => 700,

ensure => directory;

}

注意:该命令中出现了file资源,主要目的是对/home/ilanni目录进行授权以及修改其所属用户及用户组。

这样操作,是因为ilanni用户的家目录就是/home/ilanni,如果不对其进行授权以及修改其所属用户及用户组的话,ilanni是无法登录到系统的。

现在切换到puppet agent端,执行同步命令。如下:

puppet agent –test –server s.ilanni.com

通过上图,我们可以很明显的看出agent端已经同步到相关命令。

现在我们使用刚刚创建的用户登录系统,如下:

whoami

通过上图,我们可以很明显的看到ilanni用户已经可以正常登录到系统中了。

以上是在centos系统上进行操作的,下面我们在ubuntu系统上操作下。如下:

通过上图,我们可以很明显的看到新创建的用户已经可以登录到系统中了。

以上是在centos和ubuntu系统中进行操作的,可以看到创建的用户已经可以正常登录到系统了。

windows系统与centos、ubuntu添加带密码的用户不同,那就是windows系统添加的用户密码是明文的。即puppet master端user资源的password选项使用明文。

如下:

cat /etc/puppet/manifests/site.pp

node default{

user { ‘ilanni’:

ensure => ‘present’,

password => ‘ilanni123’,

} }

现在切换到windows端执行同步操作,如下:

通过上图我们可以看到,windows系统中puppet已经创建了ilanni用户,并且也可以正常登录系统了。

到此有关通过puppet创建带密码的用户就结束了。

时间: 2024-08-31 08:35:57

puppet添加带密码的用户的相关文章

用ASP.ENT创建带事件的用户控件

下面说下怎么创建带事件的用户控件:   标准的WEB空间有事件,来进行交互,同样用户控件也有.   要创建一个带事件的用户控件很简单,只需要三步:   1.定义个公开的(public) 的事件委托,如ClickEventHandler   2.在用户控件类中定义引发事件的方法,如OnClick方法   3.在引发事件的方法中判断事件是否为空,如果不为空,就可以写事件出来代码了.   下面我们来一步一步实现,   1.创建一个用户控件文件--LinkClick.ascx.   2.从工具箱中拖入L

ASP.NET 创建带事件的用户控件

ASP.NET 用户控件的创建与使用----在这篇中讲了用户控件的创建与使用. 下面说下怎么创建带事件的用户控件: 标准的WEB空间有事件,来进行交互,同样用户控件也有. 要创建一个带事件的用户控件很简单,只需要三步: 1.定义个公开的(public) 的事件委托,如ClickEventHandler 2.在用户控件类中定义引发事件的方法,如OnClick方法 3.在引发事件的方法中判断事件是否为空,如果不为空,就可以写事件出来代码了. 下面我们来一步一步实现, 1.创建一个用户控件文件--Li

sqlserver连接带密码的access

  sql server 导入带密码的access数据 如何实现将Access的数据的导入到SQL Server呢,相信网络上有很多教程来帮助大家了.但是,大家发现如果access文档使用了密码加密的话,就会发现网上所介绍的方法失灵了.下面将举例来说明. 以下有数据库abc.mdb,表结构如下:student(id int,name char(10)),密码为test.先要将其导入到sql server当中,假如abc.mdb没有加密,则可以采用下面几种方法: sql server 导入.更新a

iOS传感器开发——为APP添加手机密码、指纹进行安全验证

iOS传感器开发--为APP添加手机密码.指纹进行安全验证 一.引言         iPhone5s之后,iPhone硬件上已支持进行指纹识别的功能,相应的,一些新的api也可以应用于APP中,进行用户安全的验证.目前,开发者可以使用的安全验证方式有两种,一种是通过手机密码进行验证,一种是通过识别指纹进行验证. 二.为APP添加安全验证 要使用安全验证的相关api,我们需要引入如下头文件: ? 1 #import <LocalAuthentication/LocalAuthentication

access-sql2008怎么导出数据到带密码的Access数据库

问题描述 sql2008怎么导出数据到带密码的Access数据库 用导入导出工具导出数据到带密码的Access数据库时,测试连接时,测试连接失败,提示'因为初始化提供程序时发生错误,无法启动应用程序.工作组信息文件丢失,或是已被其它用户以独占方式打开.' 解决方案 sql2008从数据库中导出某张表的数据数据从access数据库导入到sql数据库中注意!! 解决方案二: Access是不是被锁定了,不能被访问,你先看看直接访问能不能连接上数据库 解决方案三: 方法1:破解并取出access密码方

mongodb权限设置之添加管理员、普通用户的方法_MongoDB

我知道的关系型数据库都是有权限控制的,什么用户能访问什么库,什么表,什么用户可以插入,更新,而有的用户只有读取权限. 例如:mysql安装配置好后,有一个自带的mysql数据库,里面有一张user表,用来存放用户,以及用户权限,而mongodb这个最像关系型的数据库,有没有这样的表呢. 一.掌握权限,理解下面4条基本上就差不多 1.mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证.2.切换到admin数据库,添加的账号才是管理员账号.3.用户只能在用户所在数据库登录,包

一步一步SharePoint 2007之十八:解决允许使用简单密码注册用户的问题

摘要 前面的文章中,我们注意到,注册用户时,必须使用强密码,即长度不少于7位,至少包含一位非数字 字符,很多朋友觉得这样非常不方便,不知道能不能改成简单密码就行了呢? 本篇文章将介绍如何解决允许使用简单密码注册用户的问题. 正文 在Microsoft公司的AspNetSqlMembershipProvider中,密码规则的控制主要由 minRequiredPasswordLength和minRequiredNonalphanumericCharacters两个参数控制.其中, minRequir

wps表格中怎样添加权限密码

  wps表格中添加权限密码的方法: 打开WPS表格文档,当文档制作完成后,要把文档进行加密(打开权限).如:制作完成或新的excel文档,点击左上角处的WPS表格旁边的倒三角符号"▽"然后移动到文件,会向右拉出"文件"的一些功能,找到"文件加密"并点击打开 在文件加密选项中,可以分别进行打开权限设置和编辑权限设置,如果我们只是想设置打开权限则只输入打开权限的密码,也可以单独设置编辑权限和打开权限和编辑权限都打开 我们还可以选择密码的加密类型,根

金山wps如何添加表格密码?

  金山wps是很多用户替代Microsoft Office使用的一款软件,在该软件中包含有MS软件中的所有功能,无论是编辑制作word.excel.PPT,用户通过金山wps来轻松完成,不过一些用户在制作excel表格后,如果对excel表格设置密码呢?故此小编这里为大家带来了详细的操作方法,需要的用户赶快看看吧!     操作方法 1.首先插入一张对象表格,点击上方插入,在选项栏里找到对象. 2.在插入对象窗里找到excel或者wps表格. 3.然后系统自动打开工作簿,你在工作簿中设置好表格