成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Linux中借助Puppet和Augeas管理配置?

譯文
運(yùn)維 系統(tǒng)運(yùn)維 Linux
雖然Puppet是一款非常獨(dú)特而實(shí)用的工具,但有些情況下你可能會(huì)使用有點(diǎn)不一樣的方法。比如這種情況:修改已經(jīng)在你的幾臺(tái)服務(wù)器上,同時(shí)在每一臺(tái)服務(wù)器上又很獨(dú)特的配置文件。

雖然Puppet是一款非常獨(dú)特而實(shí)用的工具,但有些情況下你可能會(huì)使用有點(diǎn)不一樣的方法。比如這種情況:修改已經(jīng)在你的幾臺(tái)服務(wù)器上,同時(shí)在每一臺(tái)服務(wù)器上又很獨(dú)特的配置文件。Puppet實(shí)驗(yàn)室的工作人員同樣認(rèn)識(shí)到了這種情況,已開發(fā)出一款名為Augeas的出色工具,它就是專門為這種用途而設(shè)計(jì)的。

[[120584]] 

準(zhǔn)確地說,在缺少針對(duì)特定對(duì)象的資源類型(比如處理/etc/hosts條目的主機(jī)資源)的情況下,Augeas就可以彌補(bǔ)Puppet功能方面的不足。在這篇實(shí)用文章中,你將學(xué)會(huì)如何使用Augeas,簡(jiǎn)化配置文件的管理。

Augeas簡(jiǎn)介

Augeas基本上是一種配置編輯工具。它能夠分析采用原生格式的配置文件,并將它們轉(zhuǎn)變成一棵樹。只要處理這棵樹,并將它保存回成原生配置文件,就可以變更配置。

我們?cè)诒窘坛讨幸獙?shí)現(xiàn)什么樣的目的?

我們將安裝和配置Augeas工具,以便與我們之前構(gòu)建的Puppet服務(wù)器配合使用。我們將借助這個(gè)工具創(chuàng)建和測(cè)試幾個(gè)幾種不同的配置,并學(xué)習(xí)如何合理使用它來管理我們的系統(tǒng)配置。

前提條件

我們需要一個(gè)正常運(yùn)行的Puppet服務(wù)器和客戶機(jī)環(huán)境。要是你還沒有這個(gè)環(huán)境,請(qǐng)參閱我之前的那篇教程:http://xmodulo.com/manage-configurations-linux-puppet-augeas.html。

可以在我們的CentOS/RHEL標(biāo)準(zhǔn)軟件庫(kù)中找到Augeas軟件包。遺憾的是,Puppet使用puppetlabs軟件庫(kù)(或EPEL)里面才有的Augeas ruby包裝器。要是你的系統(tǒng)里面還沒有這個(gè)軟件庫(kù),使用下面這個(gè)命令來添加它:

在CentOS/RHEL 6.5上:

  1. # rpm -­ivh https://yum.puppetlabs.com/el/6.5/products/x86_64/puppetlabs­release­6­10.noarch.rpm 

在CentOS/RHEL 7上:

  1. # rpm -­ivh https://yum.puppetlabs.com/el/7/products/x86_64/puppetlabs­release­7­10.noarch.rpm 

在成功添加了這個(gè)軟件庫(kù)后,在你的系統(tǒng)中安裝Ruby­Augeas:

  1. # yum install ruby­augeas 

或者你也可以使用Puppet方式來安裝該軟件包。修改/etc/puppet/manifests/site.pp里面的custom_utils類,以便在軟件包數(shù)組里面含有“ruby­augeas”:

  1. class custom_utils {  
  2.  
  3. package { ["nmap","telnet","vim­enhanced","traceroute","ruby­augeas"]:  
  4.  
  5. ensure => latest,  
  6. allow_virtual => false,  
  7. }  
  8. }  
  9.  

不用Puppet的Augeas

正如文章開頭所講的那樣,Augeas最初并不來自Puppet實(shí)驗(yàn)室,這意味著我們甚至不需要Puppet本身,仍可以使用它。這種方法適用于驗(yàn)證你的修改和想法,然后將它們應(yīng)用到你的Puppet環(huán)境中。為了讓這種情況成為可能,你需要在系統(tǒng)中安裝一個(gè)額外的軟件包。為此,請(qǐng)執(zhí)行下面這個(gè)命令:

  1. # yum install augeas 

Puppet Augeas示例

為了便于演示,下面是幾個(gè)示例性質(zhì)的Augeas用例。

管理/etc/sudoers文件

1. 將sudo權(quán)限添加到wheel群組

這個(gè)例子將顯示如何在你的GNU/Linux系統(tǒng)中為群組%wheel添加簡(jiǎn)單的sudo權(quán)限。

  1. # Install sudo package   
  2. package { 'sudo':   
  3.     ensure => installed, # ensure sudo package installed   
  4. }   
  5.     
  6. # Allow users belonging to wheel group to use sudo   
  7. augeas { 'sudo_wheel':   
  8.     context => '/files/etc/sudoers'# The target file is /etc/sudoers   
  9.     changes => [   
  10.         # allow wheel users to use sudo   
  11.         'set spec[user = "%wheel"]/user %wheel',   
  12.         'set spec[user = "%wheel"]/host_group/host ALL',   
  13.         'set spec[user = "%wheel"]/host_group/command ALL',   
  14.         'set spec[user = "%wheel"]/host_group/command/runas_user ALL',   
  15.     ]   
  16. }  

現(xiàn)在不妨解釋代碼的作用: spec指定了/etc/sudoers中的用戶部分,[user]定義了來自數(shù)組的特定用戶,斜杠(/)后面的所有定義是該用戶的子部分。所以在典型的配置中,這將被解讀為:

 

  1. user host_group/host host_group/command host_group/command/runas_user 

這就相當(dāng)于/etc/sudoers的這一行:

 

  1. %wheel ALL = (ALL) ALL  

2. 添加命令別名

下面這部分將顯示如何定義你可以在sudoers文件里面使用的命令別名。

  1. # Create new alias SERVICES which contains some basic privileged commands   
  2. augeas { 'sudo_cmdalias':   
  3.     context => '/files/etc/sudoers'# The target file is /etc/sudoers   
  4.     changes => [   
  5.       "set Cmnd_Alias[alias/name = 'SERVICES']/alias/name SERVICES",   
  6.       "set Cmnd_Alias[alias/name = 'SERVICES']/alias/command[1] /sbin/service",   
  7.       "set Cmnd_Alias[alias/name = 'SERVICES']/alias/command[2] /sbin/chkconfig",   
  8.       "set Cmnd_Alias[alias/name = 'SERVICES']/alias/command[3] /bin/hostname",   
  9.       "set Cmnd_Alias[alias/name = 'SERVICES']/alias/command[4] /sbin/shutdown",   
  10.     ]   
  11. }  

sudo命令別名的語法相當(dāng)簡(jiǎn)單:Cmnd_Alias定義了命令別名的部分,[alias/name]將所有綁定至特定的別名名稱,/alias/name SERVICES定義了實(shí)際的別名名稱,而alias/command是應(yīng)該屬于該別名一部分的所有命令組成的數(shù)組。該命令的輸出結(jié)果將是如下:

  1. Cmnd_Alias SERVICES = /sbin/service , /sbin/chkconfig , /bin/hostname , /sbin/shutdown 

想了解關(guān)于/etc/sudoers的更多信息,請(qǐng)?jiān)L問官方說明文檔:http://augeas.net/docs/references/lenses/files/sudoers-aug.html。

為群組添加用戶

想使用Augeas為群組添加用戶,你可能需要在gid字段后面或者在上一個(gè)用戶后面添加新的用戶。為了該示例,我們將使用群組SVN。可以使用下面這個(gè)命令來做到這一點(diǎn):

在Puppet中:

  1. augeas { 'augeas_mod_group:   
  2.     context => '/files/etc/group'# The target file is /etc/group   
  3.     changes => [  
  4.         "ins user after svn/*[self::gid or self::user][last()]",   
  5.         "set svn/user[last()] john",   
  6.     ]  

使用augtool:

  1. augtool> ins user after /files/etc/group/svn/*[self::gid or self::user][last()] augtool> set /files/etc/group/svn/user[last()] john 

結(jié)束語

現(xiàn)在,你應(yīng)該清楚地了解如何在你的Puppet項(xiàng)目中使用Augeas了。請(qǐng)隨意試用,當(dāng)然可以參閱官方的Augeas說明文檔。它會(huì)幫助你了解如何在自己的項(xiàng)目中合理使用Augeas,它會(huì)顯示你用它實(shí)際上可以省下多少時(shí)間。

要是還有什么問題,歡迎留言。

實(shí)用鏈接

http://www.watzmann.net/categories/augeas.html:里面有許多側(cè)重介紹Augeas用法的教程。

http://projects.puppetlabs.com/projects/1/wiki/puppet_augeas:附有許多實(shí)用例子的Puppet維基。
 

英文:http://xmodulo.com/manage-configurations-linux-puppet-augeas.html

責(zé)任編輯:林師授 來源: 51CTO
相關(guān)推薦

2014-05-07 09:56:48

Docker管理Linux容器

2014-12-03 08:53:59

eCryptFS加密文件

2015-12-07 15:11:18

Ubuntupuppet安裝

2019-09-16 13:48:03

Linux管理日志

2017-01-11 16:41:16

Linux設(shè)備文件文件系統(tǒng)

2020-10-09 11:15:14

LinuxLVM邏輯卷管理

2019-03-18 13:00:15

LinuxFish ShellBash

2018-03-09 09:45:52

LinuxSSH登錄導(dǎo)語

2019-04-19 11:00:05

Linuxsudo命令

2023-03-14 16:44:20

Linuxhtop

2018-03-29 15:21:03

LinuxDebian網(wǎng)橋

2021-02-18 17:00:52

Linux歸檔文件

2013-11-18 11:41:37

2015-08-05 15:10:24

UbuntuLVM

2018-12-11 11:00:50

Linux字體命令

2018-10-08 09:35:59

2024-10-12 17:23:30

2020-01-02 15:40:23

Windows 10配置離線地圖

2021-04-30 13:19:20

Linux刪除分區(qū)

2022-11-01 15:38:22

LinuxShell
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美国产一区二区三区 | 久久久精品一区 | 久久国产日本 | 亚洲成人免费在线观看 | 午夜小视频在线观看 | 麻豆精品国产免费 | 色888www视频在线观看 | 一a一片一级一片啪啪 | 国产精品久久久久久久7电影 | 天天看天天干 | 91精品国产欧美一区二区 | 成人av片在线观看 | 99精品国产一区二区青青牛奶 | 999久久久| 天天综合国产 | 日韩视频在线一区 | 久久综合伊人 | 日本特黄a级高清免费大片 国产精品久久性 | 亚洲不卡av在线 | 国产日韩欧美在线观看 | 中文字幕一区二区三区日韩精品 | 九九热精| 亚洲国产成人在线视频 | 婷婷狠狠| 日韩欧美在线不卡 | 国产福利在线播放 | 91精品久久久久久综合五月天 | 中文字幕av在线播放 | 欧美日韩一区在线观看 | 国产精品一区二区在线 | 日韩精品av一区二区三区 | 中文字幕乱码视频32 | 亚洲免费在线观看 | 日韩二区| 成人在线观看免费 | 亚洲在线视频 | 99re在线视频 | av中文字幕在线观看 | 国产精品无码专区在线观看 | 黄色网址av | 毛片站|