Member: Wei-Jie Hsiao、Hui-Hsiung Chung Advisor: Quicy Wu Date: Mar.23 1 Outline Getting an Overview of cfengine Learning the Basic Setup 2 Getting an Overview of cfengine Cfengine is software you can use to automate changes on UNIX (and UNIX- like) systems. It is a high- level language that describes system state, not a general- purpose programming language such as Perl or a shell. 3 Getting an Overview of cfengine(cont.) Cfengine can use Several ways to management the systems as follows: Setup the network interface Edit the system files Edit the permission to access files Delete the unused flies 4 The Components of cfengine: Cfagent Cfservd Cfexecd Cfkey cfrun 5 cfagnet The autonomous configuration agent (the heart of the framework). This command can be run manually (on demand),cfexecd on a regular basis, and/or by cfservd when triggered by a remote cfrun invocation. The necessary and sufficient condition for using cfengine is to run cfagent somehow. 6 Cfservd The file- transfer and remote- activation daemon. You must run this on any cfengine file servers and on any system where you would like to execute cfagent remotely. 7 Cfexecd Generates public/private key pairs and needs to be run only once on every host. 8 cfkey The execution and reporting daemon. You run this either as a daemon or as a regular cron job. In either case, it handles running _b]cajp and reporting its output. 9 cfrun You can run this command from a remote system that will contact the clients (through cfservd) and tell them to execute cfagent. 10 Learning the Basic Setup Download the Cfengine from here http://www.cfengine.org, or any other website and install it. Example: Step1: ○ $ tar zxf cfengine-2.x.x.tar.gz ○ $ cd ./cfengine-2.x.x ○ $ ./configure ○ $ make ○ $ sudo make install 12 Learning the Basic Setup(cont.) Then create the working directly as follows: Step2: ○ # mkdir /var/cfengine ○ # mkdir /var/cfengine/bin ○ # mkdir /var/cfengine/inputs 13 Learning the Basic Setup(cont.) Copy the binary code of cfengine to working directly Step3: ○ # cp /usr/local/sbin/cfagent /var/cfengine/bin ○ # cp /usr/local/sbin/cfexecd /var/cfengine/bin ○ # cp /usr/local/sbin/cfservd /var/cfengine/bin ○ # chown -R root:0 /var/cfengine ○ # chmod -R 755 /var/cfengine 14 Learning the Basic Setup(cont.) The first time we use the cfengine # /usr/local/sbin/cfkey # /var/cfengine/bin/cfagent cfengine::/bin/echo Dange: Danger, Will Robinson! Then we can check whether the cfengine is successfully working or not #/var/cfengine/inputs/cfagent.conf control: actionsequence = ( shellcommands ) shellcommands: “/bin/echo Danger, Will Robinson!” 15 Thanks for listening!! 16