当前位置: 首页 > 编程日记 > 正文

puppet aix之自动化用户管理

一、    用户组的管理

(一)   Puppet组管理特性

  1. 1.   manages_aix_lam

用来管理AIX的LAM(Loadable Authentication Module)系统。

  1. 2.   manages_members

对于目录服务是组属性成员,而不是用户。

  1. 3.   system_groups

用来允许你创建比较小GID的系统组,一般小于500。

(二)   Puppet组管理参数

  1. allowdupe

是否允许重复的GIDS,默认是false。

  1. attributes

在一个key=>value对中指定AIX组的属性,需要manages_aix_lam特性。

  1. ensure

创建或者删除组,值为present、absent。

  1. gid

组ID,如果不指定的话会自动生成一个数字,但是不建议这么做。

  1. ia_load_module

使用I&A模块来管理用户,同样需要manages_aix_lam特性。

  1. members

用来指定组的成员。

  1. name

指定组的名字。

  1. provider

使用group资源的后端。这些后端包括:

  • aix --- AIX的组管理。
  • directoryservice --- 在OS X上使用目录服务进行组管理。
  • groupadd --- 使用groupadd管理组,大部分的平台默认识用这个来管理。
  • ldap --- 通过ldap进行组管理。
  • pw --- 在freebsd平台上通过pw进行组管理。
  • windows_adsi --- 在windows平台上使用本地用户管理。
  1. system

指定组是否是小GID的系统组。

二、    用户的管理

(一)   Puppet组管理特性

  1. 1.   allows_duplicates

支持含有相同UID的用户。

  1. 2.   manages_aix_lam

用来管理AIX的LAM(Loadable Authentication Module)系统。

  1. 3.   manages_expiry

管理一个用户使用的有效期。

  1. 4.   manages_homedir

创建或者删除用户的家目录。

  1. 5.   manages_password_age

设置密码时间需求和限制。

  1. 6.   manages_passwords

更改用户的密码,通过传入密码hash字串,后面实战部分会详细介绍。

  1. 7.   manages_solaris_rbac

管理角色和普通用户。

  1. 8.   system_users

用来允许你创建比较小GID的系统用户,一般小于500。

 

(二)   Puppet组管理参数

  1. allowdupe

是否允许重复的UID。

  1. attributes

为用户指定AIX属性,需要manages_aix_lam特性。

  1. auths

指定用户的认证方式。

  1. comment

用户的描述。

  1. ensure

指定用户所处的基本状态。其值可以为:present、absent、role。

  1. expiry

用户使用期限。

  1. gid

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

  1. groups

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

  1. home

设置用户的家目录。

  1. ia_load_module

使用I&A模块来管理用户,同样需要manages_aix_lam特性。

  1. managehome

当进行用户管理的时候,是否同时管理用户的家目录。

  1. name

指定用户名。

  1. password

指定用户的密码,后面的实战部分会详细讲解。

  1. password_max_age

一个密码在必须更改之前能使用的最多天数。

  1. password_min_age

一个密码在必须更改之前能使用的最少天数。

  1. profiles

指定用户拥有的配置文件。

  1. project

和用户相关的项目的名字,需要manages_solaris_rbac特性。

  1. provider

使用user资源的后端。这些后端包括:

  • aix --- AIX的用户管理。
  • directoryservice --- 在OS X上使用目录服务进行用户管理。
  • Hpuxuseradd --- HP-UX的用户管理。
  • ldap --- 通过ldap进行用户管理。
  • pw --- 在freebsd平台上通过pw进行用户管理。
  • user_role_add --- solaris的用户和角色管理。
  • useradd --- 通过useradd进行用户管理,加入你要进行密码管理的话,需要安装ruby的shadow密码库,一般是ruby-libshadow
  • windows_adsi --- 在windows平台上使用本地用户管理。
  1. roles

用户的角色,针对solaris系统适用。

  1. shell

指定用户登录的shell。

  1. system

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

  1. uid

指定用户的UID。

三、    用户管理实战

(一)     Puppet用户组管理实战

  1. 用户组的添加

代码如下:

node 'node1.zhang.com' {

#为该节点添加一个名字为test的组,并设置组ID为1000,如果不指定name的值,所创建的用户就为zhang。

group { "zhang":

ensure => "present",

gid => 1000,

name => "test";

}

#为该节点添加一个zhangx的组,并且设置ID和zhang一样

group { "zhangx":

ensure => "present",

gid => 1000,

allowdupe => true;

}

#为该节点删除一个zhangxx的群。

group { "zhangxx":

ensure => "absent",

}

}

  1. 用户组的删除

代码如下:

node 'node1.zhang.com' {

#为该节点删除一个zhangxx的群。

group { "zhangxx":

ensure => "absent",

}

}

(二)     Puppet用户管理实战

  1. 用户的添加

在node1上创建一个不允许登录的并且密码为空的用户,代码如下:

user {"zhang":

ensure => "present",

shell => "/sbin/nologin";

}

创建一个carl用户,并设置用户描述为carl zhang,shell为不能登录,如果没有指定name的话就会建立和资源名一样的用户名,如果指定了name就以name指定的用户名为主。代码如下:

user {"zhang":

ensure => "present",

comment => "carl zhang",

name => "carl",

shell => "/sbin/nologin";

}

创建一个gid为2000的用户组,一会需要使用,代码如下:

group { "zhangy":

ensure => "present",

gid => 2000,

}

创建一个用户名为zhangsan的用户,并且用户ID和组ID都为2000,家目录为/home/zhangy,登录的shell为/bin/bash,密码为123456的用户。这里的密码可以使用两种方式生成,

  • 复制/etc/shadow文件的密码部分
  • 使用密码工具grub-md5-crypt生成,如果没有这个命令需要安

装grub的包,yum -y install grub

因为默认的创建用户的时候不会创建用户的家目录,因此这里添加了一个file资源,并指定了目录的属组和属主。

user { "zhangsan":

ensure => "present",

uid => 2000,

gid => 2000,

home => "/home/zhangy",

shell => "/bin/bash",

managehome => true,

password => '$1$U50teWsT$yc9951nTizfm3k0cc/TCg/';

}

file {"/home/zhangy":

group => 2000,

owner => 2000,

mode => 700,

ensure => directory;

}

}

  1. 用户的删除

删除已经存在的用户,代码如下:

user { "zhang":

ensure => "absent",

}

相关文章:

C# 文件操作

C# 文件操作文件操作: 检查 创建 读取 写入 修改 删除目录操作: 检查 创建 读取 写入 修改 删除文件操作 若要执行此操作...请参阅本主题中的示例...创建文本文件向文件写入文本写入文本文件向文件写入文本读取文本文件从文件读取文本向文件中追加文本File.AppendText FileInfo…

一种内存池管理技术

本文介绍一种内存池管理技术。 在m公司工作了4年多,一直负责内存池模块问题的处理,比如内存越界,data abort 系统异常的处理,本文加以总结,以便后续参考。 读本文之前,先有个约定,本文中提到的p…

企业支付宝账号开发接口实现

转载自:http://my.oschina.net/xshuai/blog/313809 关于即时到账的开发。审核通过。简单测试如下。 希望看的可以收藏或者赞一下哦。 1:拥有自己的支付宝企业账号。去产品商店选择适合自己的方案。并签约合同。 2:选择合适的商家收款产品并去签约。填写相应的信息 3…

Fastadmin管理Mysql_FastAdmin-CMS模版制作(6)-正式部署

一、工具信息介绍(1)服务器系统:CentOS7.2 64位系统;(2)服务器面板:宝塔,官网地址:https://www.bt.cn/;(3)PHP7.2;(4)mysql5.6;(5)Nginx;二、运行环境安装(1)进入宝塔官网…

使用微软提供的Office Online实现Office文档的在线查看,编辑等功能

使用微软提供的Office Online平台只需要一个网址即可在线查看Xls,doc,PPT等文档http://view.officeapps.live.com/op/view.aspx?src要查看的文档地址在线编辑需要登录live.com并从onedrive中打开或新建文档也可以来自在线模板(下面的Excel来自Excel Online模板,编辑…

HDU(1847)Good Luck in CET-4 Everybody!

利用PN分析求解此题。递推下去会发现3和3的倍数都是P点。 #include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #include <set> using namespace std; int main() {int n;while(~scanf("%d",&n)){i…

uboot引导kernel - 1 - Flash的分区

uboot启动Linux内核过程分为4大步骤&#xff1a; 问题1&#xff1a;Flash的分区相关问题 在 上述步骤1/2/4 中都提到了从启动介质(iNand/SD)中读取uboot/kernel到SRAM/DDR中&#xff0c;那么具体从启动介质的什么位置分别读取呢&#xff1f;  上述步骤1中&#xff0c;iROM的…

fedora mysql默认密码忘记_Linux fedora 24 忘记密码图形化界面修改root密码的方法

方法及其简单&#xff0c;只需要两步即可&#xff1a;1、第一步&#xff1a;打开终端&#xff0c;输入sudo su命令。–此处的密码为普通用户的密码&#xff0c;也就是开机时输入的密码。2、第二步&#xff1a;直接sudo passwd root就重置了roor密码了。此时输入新的密码即可&am…

Java Web项目结构

Java Web项目结构&#xff08;一般&#xff09; 1、Java src 2、JRE System Library 3、Java EE 6 Libraries 4、Web App Libraries 5、WebRoot 版权声明&#xff1a;本文博客原创文章&#xff0c;博客&#xff0c;未经同意&#xff0c;不得转载。转载于:https://www.cnblogs.c…

WTForms 小计1 forms

2019独角兽企业重金招聘Python工程师标准>>> 定义 from wtforms import Form, StringField, validators class MyForm(Form):first_name StringField(uFirst Name, validators[validators.input_required()])last_name StringField(uLast Name, validators[vali…

day32-1 事件Event

事件Event-线程 每一个线程都是独立运行且状态不可预测。你把一个任务丢到子线程中&#xff0c;这个任务将异步执行&#xff0c;如何获取到这个任务的执行状态&#xff1f;使用threading库中的Event对象。对象包含一个可由线程设置的信号标志&#xff0c;线程直到等到该标志为真…

uboot引导kernel - 2- uboot/kernel需要放在DDR什么位置的问题

uboot启动Linux内核过程分为4大步骤&#xff1a; 问题2&#xff1a; uboot阶段DDR的分区的问题 上述步骤2和步骤4中&#xff0c;有将uboot/kernel拷贝纸DDR的步骤&#xff0c;具体要拷贝到DDR的什么位置呢&#xff1f; 分清楚这两个概念&#xff1a; 链接地址&#xff1a;链接…

java ftp pasv_Ftp主动模式和被动模式以及java连接ftp模式设置

FTP的主动模式与被动模式FTP服务器使用20和21两个网络端口与FTP客户端进行通信。FTP服务器的21端口用于传输FTP的控制命令&#xff0c;20端口用于传输文件数据。FTP主动模式&#xff1a;FTP客户端向服务器的FTP控制端口(默认是21)发送连接请求&#xff0c;服务器接受连接&#…

Python2.7 安装numpy报错解决方法

Windows 10下用pip安装numpy包报错&#xff1a; Microsoft Visual C 9.0 is required Unable to find vcvarsall.bat Get it from http://aka.ms/vcpython27 通过报错提示信息&#xff0c;打开http://aka.ms/vcpython27会跳转到Microsoft Visual C Compiler for Python 2.7的下…

异常The Struts dispatcher cannot be found. This is

2019独角兽企业重金招聘Python工程师标准>>> 原因&#xff1a;struts2的过滤器映射路径写错 解决方案&#xff1a;在web.xml中配置struts2的过滤器如下&#xff1a; <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*&…

UNDO表空间损坏,爆满,ORA-600[4194]/[4193]错误解决

模拟手工删除UNDO表空间 在ORADATA 中把UNDOTBS01.DBF 删除模拟启库SQL> STARUP;*第 1 行出现错误:ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 2: C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF利用系统本身的默认手动管理 MAN…

uboot引导kernel - 3 -uboot给内核传参详解

uboot中执行theKernel函数后&#xff0c;kernel正式启动。如下函数&#xff0c;我们发现有3个参数。 1. 参数 0&#xff1b; 2. 参数machid; 如下code 中获取machid, gd是个全局变量. 2.1 bi_arch_number是board_info中的一个元素&#xff0c;含义是&#xff1a;开发板的机器…

hdu 1166 敌兵布阵(树状数组)

题意&#xff1a;区间和 思路&#xff1a;树状数组 #include<iostream> #include<stdio.h> #include<string.h> using namespace std;int n,c[50005];int lowbit(int i){return i&-i; }void update(int i,int val){//更新函数while(i<n){//注意这个n的…

java jdbc 表存在_使用JDBC查询是否存在某表或视图,按月动态生成表

查询数据库是否有某表的存在&#xff0c;主要用的就是Connection对象对元数据的操作&#xff0c;代码很简单&#xff0c;贴出来大家参考。/*** 查询数据库是否有某表* param cnn* param tableName* return* throws Exception*/SuppressWarnings("unchecked")public b…

linux串口驱动分析

linux串口驱动分析硬件资源及描写叙述 s3c2440A 通用异步接收器和发送器&#xff08;UART&#xff09;提供了三个独立的异步串行 I/O&#xff08;SIO&#xff09;port&#xff0c;每一个port都能够在中断模式或 DMA 模式下操作。UART 使用系统时钟能够支持最高 115.2Kbps 的波特…

计算TD-LTE DL 峰值速率的工具和相关参数

前一段时间测试DT 基站&#xff0c;需要配置TDD LTE cell 的UDC、TM模式来验证不同组合下的下行峰值速率&#xff0c;趁此机会我用excel写了一个计算下行峰值速率的工具。工具上传至我的github: https://github.com/greenricky/tdlte_dl_rate 计算峰值速率的常用办法是参考36.2…

java配置中心开源项目_配置中心搭建(spring-cloud-config-server)

1.github创建配置库2.配置服务端①创建项目②导入jarorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testorg.springframework.cloudspring-cloud-starter-netflix-eureka-clientorg.springframework.cloudspring-cloud-config-…

detection in video and image

video中的detection&#xff0c;背景更加复杂&#xff0c;目标更加不聚焦&#xff0c;同时由于图片分辨率低于图像&#xff0c;因此更加难做。 image中的Detection,背景相对简单些&#xff0c;目标更加聚焦&#xff0c;同时图片分辨率高&#xff0c;因此更加容易些。 转载于:ht…

烂泥:U盘安装Centos6.5

本文首发于烂泥行天下。使用U盘安装Centos6.5&#xff0c;需要以下几个步骤&#xff1a;1、 制作U盘linux系统2、 设置服务器BIOS3、 安装Centos&#xff0c;注意引导分区的安装首先要把U盘做成linux启动盘。网上有关这方面的软件比较多&#xff0c;在此我使用的是WinSetupFrom…

http status 汇总

http status 汇总 常见HTTP状态码 200 OK301 Moved Permanently302 Found304 Not Modified307 Temporary Redirect400 Bad Request401 Unauthorized403 Forbidden404 Not Found410 Gone500 Internal Server Error501 Not Implemented100 Continue 初始的请求已经接受&#xf…

hdu 4278 2012天津赛区网络赛 数学 *

8进制转为10进制 1 #include<cstdio>2 #include<iostream>3 #include<algorithm>4 #include<cstring>5 #include<cmath>6 #include<queue>7 #include<map>8 using namespace std;9 #define MOD 1000000007 10 const int INF0x3f3f3f…

slub object 内存布局

我在 https://blog.csdn.net/wowricky/article/details/83218126 介绍了一种内存池&#xff0c;它的实现类似于linux 中打开slub_debug (1. make menuconfig: Kenel hacking -> Memory Debugging, 2. comand line中传入slub_debugPZU) 时slub 对象池。 首先我们先看一下slub…

java wait abc_java----wait/notify

解释wait/notify必须配合synchronized使用democlass NotifyStop2 {private final Object lock new Object();public void add(String s) throws InterruptedException {Thread.sleep(1000);synchronized (lock) {System.out.println("add notify qian");//唤醒其他线…

hdu-1166敌兵布阵

这个题目就是考察线段树的基本用法&#xff0c;我自己打了代码&#xff0c;其实就是照模板来的&#xff0c;大概思想已经弄懂了。用c不能过&#xff0c;说我超时&#xff0c;就改成c的读入读出&#xff0c;这坑爹的过了。我最爱的c&#xff0c;你肿么了。。。 这是ac的代码&…

Android数据存储(三)——SQLite

如果需要一个更加健壮的数据存储机制&#xff0c;则需要使用一个关系型数据库&#xff0c;在Android上&#xff0c;则为SQLlite。 SQLite的特点&#xff1a;轻量级、嵌入式的、关系型数据库。可移植性好&#xff0c;易使用&#xff0c;小&#xff0c;高效且可靠&#xff0c;与使…