puppet的user模块

需求如下:

现有服务器a,b,c 三台;用户dev1,dev2,dev3属于dev组中,用户sa1,sa2,sa3属于wheel组;

用户dev1能登陆到服务器a,而dev2,dev3无法登陆,而wheel组成员均可登陆;

相同的服务器b只允许用户dev2和wheel成员登陆,服务器c只允许dev3和wheel成员登陆;

架构如下:

文件相关内容如下:

1,init.pp
class user {
        include user::adduser
        import "deluser.pp"
}     

2,adduser.pp
class user::adduser {
      @user {"dev1":    #dev2,dev3类似
        ensure  => present,
        shell   => "/bin/bash",
        tag     => ['dev'],
        groups  => dev,
        require => Group['dev'],
        managehome  => true,
        password => '$saweradf123',
      }     

      @user {"sa1":    #sa2,sa3类似
        ensure  => present,
        shell   => "/bin/bash",
        tag     => [''sa],
        groups  => dev,
        require => Group['wheel'],
        managehome  => true,
        password => 'werae$aer12',
      }     

      group {"dev":
        ensure  => present,
      }
}     

3,deluser.pp
define user::deluser (
        $username
        )
        {
          user {"$username":
            ensure  => absent,
        }
          file {"/home/$username":
            ensure  => absent,
          }
}

注意下,puppet也支持ssh密钥认证,可以去官网看下,这里还是用密码

使用方法如下:

node 'server1' {
        include user
        realize user['dev1']     ## 单独创建dev1    

        user::deluser{"userdel sa1":   ##删除sa1
          username  => sa1,
        }    

        User <| groups == wheel |>  ##创建所有wheel成员
}    

前提记得 还是要在modules.pp里面import "user"

github地址:https://github.com/vTNT/puppet-user  不定期更新 - -

出处:http://tntdba.blog.51cto.com/1199791/1181968

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索dev
, 服务器
, 登陆
, username
, user
wheel
puppet user、puppet模块、ansible user模块、ansible user模块详解、django user模块,以便于您获取更多的相关知识。

时间: 2024-10-31 14:04:00

puppet的user模块的相关文章

puppet的sudo模块

需求:每台服务器上都创建dev组,专门给开发人员,给特定的开发人员建账号,并加入dev组: 运维人员也将创建各自的用户,并加入wheel组,通过sudo来对组里成员做权限设置. 架构如下: manfests里面的文件内容如下: 1,init.pp class sudo { case $::osfamily { 'RedHat': { include "sudo::conf" import 'sudoers.pp' } default: { fail("$::osfamily

puppet 配置 2 模块

概念 模块是 puppet 中最基本的功能单位 模块常常存放在 /etc/puppet/modules 下 每个模块都是独立的, 模块命名不可以重复, 否则会导致重命名错误 模块主要供客户端进行调用 模块常见有下载及自定义两种 获取 可以从网络中获得模板 https://forge.puppet.com/ http://www.example42.com 命令行管理 Linux 下使用命令行获得模块方法 查询模块 (默认会从 https://forge.puppet.com/ 获取 ) [roo

puppet的cron模块

架构如下 ============================ manifests ============================ 1,at /etc/puppet/mainfests ------------------ site.pp +++++++++ import "modules.pp" import "nodes/*.pp" ------------------------------- 2,at /etc/puppet/manifests

puppet的lnmp模块

架构如下: ============================ manifests =========================== 1,at /etc/puppet/mainfests ------------------ site.pp +++++++++ import "modules.pp" import "nodes/*.pp" ------------------------------- 2,at /etc/puppet/manifests

puppet的snmpd模块

架构如下:   ============================== manifests ============================= 1,at /etc/puppet/modules ----------------------- init.pp +++++++++++++ class cacti (  $monitor_ip = "xxx.xxx.xxx.xxx",  $snmp_passwd = "xxxx" ){        case

puppet的salt模块

salt简单来说就是等于强化版的func+弱化版的puppet 在这里我暂时将其用来替代func的作用(ps:虽然有点浪费) 架构如下: ================================== manifests ================================== 1,at /etc/puppet/modules/salt ------------------------- init.pp +++++++++++++++ class salt (  $server

通过配置ssh深刻理解puppet的语法及工作机制

需求分析 1).要求openssh-server处于被安装状态 2).要求在配置文件/etc/ssh/sshd_config正确的情况下,sshd服务处于运行状态 2).要求/etc/ssh/sshd_config文件属性不被串改(权限.属主.属组等) 3).要求/etc/ssh/sshd_config文件被修改或者删除后会被自动修复 4).要求通过puppetserver端修改/etc/ssh/sshd_config之后,sshd服务能够自动重启. 定义全局配置信息 定义全局配置文件site.

puppet 管理配置索引

puppet 配置 1. 服务器, 客户端配置说明 puppet 配置 2 模块 puppet 配置 3. 资源 puppet 配置 3.1 管理 sysct.conf puppet 配置 3.2 管理 hosts puppet 配置 - 3.3 rpm 管理 puppet 配置 3.4 文件管理与自定义模块 puppet 配置 3.5 参数 puppet 配置 4 条件语法 puppet 配置 5 常见例子 其他 puppet 利用 facter, 实现不同主机调用不同变量方法 puppet

Puppet发布Blueshift项目中专门针对Docker的特性

于Ubuntu Xenial Puppet代理程序包,另一个基于简化版的Alpine. Blueshift演示了异构软件管理问题的解决方案,使用Puppet作为新软件栈的统一管理方式.Blueshift包含Puppet社区中关于如何集成Consul.CoreOS和Mesos等技术的信息.Blueshift还包含Puppet的内部工程. Puppet还提供了如何在Docker中使用Puppet的例子.目前,这些例子展示了如何在VMware Photon OS.Red Hat CentOS Atom