puppet运维自动化之用户管理

系统管理员离不开账户管理,账户管理,密码管理,开发机器,测试机器,线上机器,都需要创建用户,并给与相关用户的权限。你如果要创建100个,1000个账户和密码,你会不会疯掉,如何在1分钟完成百上千个账户?那就是我们今天的主题,puppet运维自动化之用户管理。

【导读】

系统管理员离不开账户管理,账户管理,密码管理,开发机器,测试机器,线上机器,都需要创建用户,并给与相关用户的权限。你如果要创建100个,1000个账户和密码,你会不会疯掉,如何在1分钟完成百上千个账户?那就是我们今天的主题,puppet运维自动化之用户管理。

【基础回顾】

puppet如何管理用户(user)资源呢?

利用符合POSIXAPI标准的puppet自带的私有工具来进行用户和组管理,puppet不会直接修改/etc/passwd文件

puppet用户管理特性

allows_duplicates:支持同样的用户拥有同样的uid
manages_homedir:管理用户的home目录,删除和新建
manages_passwords:管理用户密码
manages_solaris_rbac:管理角色和普通用户
puppet用户资源管理参数

allowdupe:是否允许相同的uid用户存在,可以设置的值为true或者false.
auth_membership:whetherspecifiedauthsshouldbetreatedastheonlyauthsofwhichtheuserisamemberorwhethertheyshouldbemerelybetreatedastheminimummembershiplist.可设置的值是inclusive,minmum.
auths:指定用户的认证方式。多个认证方式可用数组列出来。
comment:用户的描述。
ensure:指定用户是否存在,可以设置的值为present,absent,role.
gid:用户的组ID。
groups:指定该用户属于那些组的成员.
home:用户的主目录
key_membership:whetherspecifiedkeyvlauesshouldbetreatedastheonlyattributesoftheuser
keys:用于solaris,指定key
managehome:指定用户是否管理home主目录.

provider

指定用provider,用什么命令来执行用户操作,可用的provider有:

directoryserviceOSX上面的用户管理命令,不详述,有需求请参考原文档
hpuxuseraddhp-ux系统的用户管理命令
ldapldap方式管理用户
pwfreebsd上面的用户管理
user_role_addsolaris上面的用户管理
useraddlinux上面的用户管理
password:指定用户的结过MD5加密码后的密码。最好以‘’引起来,记着,用单引号,因为经过MD5加密后可能会出$符号。
role_membership:whetherspecifiedrolesshouldbetreatedastheonlyrolesofwhichtheuserisamember.
role:用户的角色,多个角色可以用数组来表示。
shell:用户登录后的shell.
uid:用户的uid
【测试示例】

1.我要创建一个名为test的用户.

代码示例

user{"test":
uid=>2000,
gid=>2000,
home=>"/home/test",
shell=>"/bin/bash";
}
注意:puppet在创建用户的时候,并不会创建用户的home目录

2.比如test用户离职了,需要删除test用户

代码示例:

user{"test":
ensure=>"absent",
}
3.创建test用户并管理用户目录

代码示例:

user{"test":
ensure=>"present",
managehome=>true,
}
4.创建test用户,且让test用户是属于sa组。

代码示例:

user{"test":
ensure=>"present",
managehome=>true,
groups=>sa,
}
注意,用户所属的SA组要先创建。

关于如何创建组,在接下来的会为大家讲,这里给举个例子

代码示例:

group{"sa":
ensure=>"present",
gid=>3000,
}
总结:用户和密码跟系统管理员关系密切,管理用户的切不可马虎。方便快捷,实用的管理才是王道。
时间: 2024-10-11 07:00:07

puppet运维自动化之用户管理的相关文章

Linux运维六:用户管理及用户权限设置

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问:另一方面也可以帮助用户组织文件,并为用户提供安全性保护.每个用户账号都拥有一个惟一的用户名和各自的口令.用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录. 实现用户账号的管理,要完成的工作主要有如下几个方面: · 用户账号的添加.删除与修改. ·

linux运维自动化之puppet简单应用(一)

一.pupper概述 puppet,这是目前运维主流的运维自动化工具,大多数运维管理人员都听说过,或者在使用以及在正在考虑使用中.puppet可以配合cobbler,puppet也可以配合func实现运维自动化,简单化,化繁杂为简单. 1.什么是puppet puppet是一种Linux.Unix平台的集中配置管理系统,使用ruby语言,可管理配置文件.用户.cron任务.软件包.系统服务等.puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依

linux运维自动化之puppet简单应用(二)

上篇博客介绍了在单机环境下的puppet应用,这次我们基于C/S模式来介绍下puppet! 一.实验环境 服务器角色 IP地址 安装软件 主机名 服务器端 172.16.8.1 puppet-server www.gulong.com 客户机端 172.16.8.2 puppet node1.gulong.com 客户机端 172.16.8.3 puppet node2.gulong.com 三台主机时间同步: #ntpdate 172.16.0.1 三台主机可以相互解析: # vim /etc

运维自动化之 - ansible 批量主机管理

2000 - 2016 年,维护的小型机.linux刚开始的2台增加到上千台,手工检查.日常版本升级需要管理太多设备,必须通过运维自动化实现 特别是版本升级,需要到同类机器部署代码.起停设备,必须在一台主控机上完成代码分发.远程服务起停.服务验证验证 2016年开始使用 pssh ,后改用 ansible ,ansible 配置如下 一.配置ssh免密码登录 #cd /root/.ssh 免交互生成密钥 #echo -e "\n" |ssh-keygen -t rsa -N "

运维自动化工具Cobbler之——安装实践

运维自动化工具--Cobbler实践 第1章 About Cobbler 1.1 Cobbler Introduction Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装.重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等. Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用.Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web

运维自动化之使用Cobbler自动化部署Linux操作系统

1.Cobbler是什么? Cobbler是一个Linux安装服务器,能够快速设置好网络安装环境.它实现了许多与Linux相关的任务的自动化和组合,因此你在部署新的(操作)系统或更改已经存在的操作系统时不需要在繁多的命令和应用程序之间来回切换.Cobbler能帮助(用户.管理者)置备和管理DNS.DHCP.软件包更新.电源管理.配置管理以及更多. "Cobbler is a Linux installation server that allows for rapid setup of netw

18页PPT带你深度解读运维自动化【转】

来自地址:[http://www.opsers.org/tech/18-pages-ppt-show-you-depth-interpretation-operations-automation.html] 说实话,一个运维团队的运维能力如何,其实看一个自动化管理系统便知! ********文章较长,索引目录如下******* 一.概述 二.运维自动化的三重境界 三.运维自动化的多维解读 ******第一.基于应用变更场景的维度划分 ******第二.基于系统层次的维度划分 ******第三.基

运维自动化之puppet3分钟入门

运维自动化之puppet3分钟入门 几个月前曾因为项目需求而学了点puppet的一些知识,最近因为要给别人讲一下,也就借此博文来做一下回忆,当然了,这个puppet用起来还是很不错的,尤其对我这种懒人来说,如果你需要给多台机器安装同一款软件或是同几款软件,那么学习这个能让你事半功倍,接下来开始学习puppet.那么问题来了: 什么是puppet 本着外事问谷歌,内事问百度的原则,我在百度百科里找到了对其的定义:puppet是一种Linux.Unix.windows平台的集中配置管理系统,使用自有

<zz>Ansible 运维自动化 ( 配置管理工具 )

from http://www.cnblogs.com/wangxiaoqiangs/p/5685239.html 简介: 当下有许多的运维自动化工具( 配置管理 ),例如:Ansible.SaltStack.Puppet.Fabric 等. Ansible 一种集成 IT 系统的配置管理.应用部署.执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立. Ansible 基于 Python 语言实现,由 Pa