puppet自动化管理工具学习之用户,组

puppet 自动化管理工具学习之用户,组:

   要实现这种功能,大概有3种方法,1.直接在site.pp里直接写,这样代码不够简洁。2.可以应用到class调用。3.可以写函数达到效果。自己处于学习阶段,定期更新中。作为笔记。简单介绍下3种实现的方法:

一:vi site.pp

user { "pu_test":
         ensure   => "present",
         uid => 801,
         home => "/home/pu_test",
        managehome => true,
        shell => "/bin/bash",
}
group { "pu_test":
        gid => 801,
        ensure => "present",
        }

在客户端执行:puppetd --test --server puppet

[root@test_web1 ~]# puppetd --test --server puppet
info: Caching catalog for test_web1.fminutes.com
info: Applying configuration version '1320113587'
notice: //User[pu_test]/ensure: created
notice: Finished catalog run in 0.41 seconds

出现以上结果,就是正确的,看下是否有新用户产生。

二:应用到类的话,先在modules/下创建模块,然后在入口文件里导入该模块。

mkdir {files,manifests,templates}

vi manifests/users.pp

class users::pu_users {
    @user { "test3":
        ensure   => "present",
       comment  => "",
        home     => "/home/test3",
        managehome => true,
        shell    => "/bin/bash",
    }
    @user { "test4":
        ensure   => "present",
        comment  => "",
        home     => "/home/test4",
        managehome => true,
        shell    => "/bin/bash",
    }

}
然后再写模块文件:init.pp

vi init.pp

import "users.pp"

在puppet/manifests下有site.pp,nodes.pp,没有的话就创建。

vi site.pp

import "nodes.pp"

vi nodes.pp

node 'test_web1.fminutes.com' {
        include users::pu_users
        include users::groups
          realize (User["test3"])
#        User <| title == test3 |>

##此命令跟上一条的命令一样,将虚拟的转变为现实。如没有此命令,不会成功。

##二个任选一个即可。
}

三:调用函数

site.pp,nodes.pp,init.pp跟上面的一样,更改uses.pp里即可。

vi users.pp

#class users::pu_users {
define add_user ( $email,$uid ) {

       $username = $title

        user { $username:
        ensure   => "present",#
         uid      => $uid,
        comment  => $email,
        home     => "/home/$username",
        managehome => true,
        shell    => "/bin/bash",
}
}
add_user { "test5":
       email => "test5",
       uid   => "901",

}

}

8.  参考资料

puppet官方网站:http://www.puppetlabs.com/

puppet中文wiki:http://puppet.chinaec2.com/

puppet中文博客:http://www.comeonsa.com

http://www.mysqlops.com/category/puppet

本文出自 “SPringYu” 博客,转载请与作者联系!

你可能感兴趣的:(职场,puppet,休闲,学习之用户组)