puppet自动化运维用户管理传文件改密码shell脚本

上传人:第*** 文档编号:32695102 上传时间:2018-02-12 格式:DOCX 页数:15 大小:111.13KB
返回 下载 相关 举报
puppet自动化运维用户管理传文件改密码shell脚本_第1页
第1页 / 共15页
puppet自动化运维用户管理传文件改密码shell脚本_第2页
第2页 / 共15页
puppet自动化运维用户管理传文件改密码shell脚本_第3页
第3页 / 共15页
puppet自动化运维用户管理传文件改密码shell脚本_第4页
第4页 / 共15页
puppet自动化运维用户管理传文件改密码shell脚本_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《puppet自动化运维用户管理传文件改密码shell脚本》由会员分享,可在线阅读,更多相关《puppet自动化运维用户管理传文件改密码shell脚本(15页珍藏版)》请在金锄头文库上搜索。

1、系统环境:软件包:环境安装:Puppet 是用 ruby 语言写的,所以要安装 ruby 环境,服务器端与客户端都要安装,我这的环境没有装 ruby,所以用 yum 安装一下。要精细化安装的话,需要安装 4 个包。roottestsns # yum y install ruby*精细化安装 Ruby 环境1.puppet 是基于 ruby 开发。所以要安装 ruby 语言环境。找到相应版本对应的 ruby 的 rpm 包(下以 redhat 5.4 为例)rpm ivh ruby-libs-1.8.5-5.el5_2.3.i386.rpmrpm ivh ruby-1.8.5-5.el5_2.3

2、.i386.rpm2.Rdoc 的安装。如果需要查看帮助文档,需要安装此包。有一点特殊说明,此包在 AS4 上未找到相关的rpm。所以建议服务端使用 5.0 以上的版本。rpm ivh ruby-irb-1.8.5-5.el5_2.3.i386.rpmrpm ivh ruby-rdoc-1.8.5-5.el5_2.3.i386.rpmServer 端安装:1、时间同步ntpdate time.nist.gov2、安装 Facter 用来获取客户端系统信息(如 hostname,ip,OS-Version,fqdn 等)roottestsns opt# tar zxvf facter-1.6.5

3、.tar.gzroottestsns opt# cd facter-1.6.5roottestsns facter-1.6.5# ruby install.rbroottestsns facter-1.6.5# cd .roottestsns opt# tar zxvf puppet-2.6.13.tar.gzroottestsns opt# cd puppet-2.6.13roottestsns puppet-2.6.13# ruby install.rbroottestsns puppet-2.6.13# cp conf/auth.conf /etc/puppet/roottestsns

4、puppet-2.6.13# cp conf/redhat/fileserver.conf /etc/puppet/roottestsns puppet-2.6.13# cp conf/redhat/puppet.conf /etc/puppet/roottestsns puppet-2.6.13# cp conf/redhat/server.init /etc/init.d/puppetmasterroottestsns puppet-2.6.13# chmod +x /etc/init.d/puppetmasterroottestsns puppet-2.6.13# chkconfig -

5、add puppetmasterroottestsns puppet-2.6.13# chkconfig puppetmaster onroottestsns puppet-2.6.13# mkdir -p /etc/puppet/manifests3、生成 pupput 用户roottestsns opt# puppetmasterd -mkusers4、启动roottestsns opt# /etc/init.d/puppetmaster startSlave 端安装:1、时间同步ntpdate time.nist.gov和服务器端安装方法一样,先安装 ruby 环境,再安装 facter

6、 和 puppet,只是在 puppet 拷贝配置文件时要注意。2、安装 Facter 用来获取客户端系统信息(如 hostname,ip,OS-Version,fqdn 等)-内容如下agentListen = trueServer = testsns-rootnfstest puppet-2.6.13# vi /etc/puppet/namespaceauth.conf-内容如下fileserverallow *puppetmasterallow *puppetrunnerallow *puppetbucketallow *puppetreportsallow *resourceallow

7、 *-3、生成用户和 rra 目录rootnfstest puppet# puppetmasterd -mkusers4、启动rootnfstest puppet# /etc/init.d/puppet start5、修改 hosts修改双方的/etc/hosts 文件,添加各自的 IP 地址对应的主机名,生产环境做内部 DNS 比较好,不用修改每台服务器的 hosts 文件。192.168.133.42 nfstest192.168.133.44 testsns6、开放端口关闭双方的防火墙及 selinux,或开放 8140(server 服务器端口),8139(client 服务器端口)。

8、相互作 ping hostname telnet hostname 8140 test hostname 8139 等,看网络及 hosts 是否正常认证:客户端发送请求Puppeted -test server testsns服务器查看Puppetca list服务器端签名Puppetca s a /对所有客户端全部签名Puppetca s nfstest /只签名某个客户端功能模块介绍及实例操作文件分发:通过 puppet 可以向被管理机上推送文件,方法是使用 file 类型的 source 属性1:修改/etc/puppet、fileserver.conf2:修改/etc/puppet/

9、manifests/ site.pp实例:要把 server 服务器上/opt 目录下的 mysql-5.1.49-linux-i686-icc-glibc23.tar.gz 传输至 client 服务器的/opt 目录下,文件名不变。第一步:Vi /etc/puppet/fileserver.conffilespath /opt/allow 192.168.133.0/24第二步:vi /etc/puppet/manifests/site.ppfile /opt/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz:source = puppet:/$pupp

10、etserver/files/mysql-5.1.49-linux-i686-icc-glibc23.tar.gz,第三步:在 client 客户端执行更新命令puppetd -test -server testsns此处“$puppetserver”是 puppet Server 端的名称,即 hostname,网上教程都是在 hosts里指定,生产环境下用内部的 DNS 上作解析,像我公司一个 www 平台就有 70 台 linux 服务器,一个个添加 hosts,不搞死人去。修改文件属性:实例:把/tmp/dd142/ puppet-2.6.13.tar.gz 文件的权限改为 puppe

11、t 用户,并设置权限为 666。第一步:编辑 Server 端的 site.ppvi /etc/puppet/manifests/site.pp-内容如下file /tmp/dd142/puppet-2.6.13.tar.gz:owner = puppet,group = puppet,mode = 666,-第二步:在 client 端执行命令puppetd -test -server testsns执行 SHELL 命令或 shell 脚本:实例:通过 puppet 分发执行 shell 脚本,在客户端的 opt 目录下新建一目录 shelldir。第一步:编辑 Server 端的 sit

12、e.ppvi /etc/puppet/manifests/site.ppexec exec-mkdir:cwd = /opt,command = sh /opt/lgh.sh,user = root,path = /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin,第二步:在 client 端编辑一 shell 脚本第三步:在 client 端执行命令puppetd -test -server testsns在/opt 目录下查看 shelldir 有没有建立。服务检查及修改:可以通过 puppet 对一些服务进行检查。pu

13、ppet 是通过 service 命令操作的。所以,只能针对在/etc/init.d/目录下的服务实例:把客户端的防火墙起来(原来是关闭的)vi /etc/puppet/manifests/site.pp /清空 site.pp,再新建service iptables:ensure = running,cron 计划任务:接上面的 shell 程序实例,在 17:30 执行/opt/lgh.sh。cron cron-shell: #title 部分,可用来作为注释。command = sh /opt/lgh.sh #要执行的命令user = root, #添加到 root 用户下的 cront

14、ab 中minute = 30, #即第一个星号hour = 17 #即第二个星号登录客户端查看效果扩展阅读:在开源世界里,有很多配置工具可供选择,这个领域一些关键的产品有:Puppet(http:/ 写成的配置管理工具,使用 C/S 架构,使用 declarative language 配置客户端。Cfengine(http:/www.cfengine.org):最先发布的开源配置工具之一,1993 年发布,同样是 C/S 架构,通常应用于教育机构。LCFG(http:/www.lcfg.org/):C/S 架构的配置管理工具,使用 XML 定义配置。Bcfg2Python 编写的 C/S

15、架构的配置管理工具,使用规格书和客户机响应配置目标主机。本文档致力于描述使用 Puppet 管理你的主机、应用程序、后台程序和各种服务。在此只讲 Puppet,因为它简单,强大,流行。什么是 puppet?puppet 是一种 Linux、Unix 平台的集中配置管理系统,使用自有的 puppet 描述语言,可管理配置文件、用户、cron 任务、软件包、系统服务等。puppet 把这些系统实体称之为资源,puppet 的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。puppet 采用 C/S 星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个 puppet 客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置服务器. 配置完成以后,puppet 客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息.为什么要开发 puppet系统管理员都喜欢自己写点小工具来让自己的工作完成的更快或者更好, 不管是在大企业管理大量的服务器还是只管理两三台机器. 但是很少人会把他们的工具发布出来. 也就是是说极少有工具能被重

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号