1)创建必要的目录:
- [root@master ~]# cd /etc/puppet/
- [root@master puppet]# mkdir -p modules/ssh/{manifests,templates,files}
- [root@master puppet]# mkdir manifests/nodes
- [root@master puppet]# mkdir modules/ssh/files/ssh
- [root@master puppet]# chown -R puppet modules/ #修改权限
2)查看/etc/puppet/modules/ssh目录下的结构
- [root@master puppet]# ll modules/ssh/
- 总用量 0
- drwxr-xr-x. 3 puppet root 17 8月 6 21:32 files
- drwxr-xr-x. 2 puppet root 6 8月 6 21:31 manifests
- drwxr-xr-x. 2 puppet root 6 8月 6 21:31 templates
3)创建模块配置文件install.pp
- [root@master puppet]# vim /etc/puppet/modules/ssh/manifests/install.pp
- 输入以下信息(首先确定客户端已安装ssh服务):class ssh::install{
- package{"openssh":
- ensure=>present,
- }
- }
4)创建模块配置文件config.pp
- [root@master puppet]# vim /etc/puppet/modules/ssh/manifests/config.pp
-
- class ssh::config{
- file {"/etc/ssh/sshd_config": #配置客户端需要同步的文件
- ensure=>present, #确认客户端中有此文件
- owner=>"root", #文件属主
- group=>"root", #文件属组
- mode=>"0600", #文件权限属性
- source=>"puppet://$puppetserver/modules/ssh/ssh/sshd_config",
- #从服务端同步文件
- require=>Class["ssh::install"], #调用install.pp确认ssh已经安装
- notify=>Class["ssh::service"], #如果config.pp发生变化,通知service.pp
- }
- }
5)创建模块配置文件service.pp
- [root@master puppet]# vim /etc/puppet/modules/ssh/manifests/service.pp
- class ssh::service{
- service { "sshd":
- ensure=>running, #确认ssh运行
- hasstatus=>true, #puppet该服务支持status命令,类似于service sshd status
- hasrestart=>true, #puppet该服务支持restart,类似于service sshd restart
- enable=>true, #服务器是否开机启动
- require=>Class["ssh::config"] #确认config.pp调用
- }
- }
6)创建模块主配置文件init.pp
- [root@master puppet]# vim /etc/puppet/modules/ssh/manifests/init.pp
-
- class ssh {
- include ssh::install,ssh::config,ssh::service #将配置文件加载到ssh类中去
- }
7)此时/etc/puppet/modeles/ssh/mainfests目录下有四个文件
- [root@master puppet]# ll /etc/puppet/modules/ssh/manifests/
- 总用量 16
- -rw-r--r--. 1 root root 248 8月 6 21:40 config.pp
- -rw-r--r--. 1 root root 60 8月 6 21:46 init.pp
- -rw-r--r--. 1 root root 64 8月 6 21:38 install.pp
- -rw-r--r--. 1 root root 165 8月 6 21:42 service.pp
8)建立服务端ssh统一维护文件 (编辑:威海站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|