####################################################### body executor control { splaytime => "1"; mailto => "cfengine@example.com"; smtpserver => "localhost"; mailmaxlines => "30"; # Once per hour, on the hour schedule => { "Min00" }; } ####################################################### bundle agent services_disable { vars: # list all of xinetd services (case sensitive) "xinetd_services" slist => { "imap", "imaps", "ipop2", "ipop3", "krb5-telnet", "klogin", "kshell", "ktalk", "ntalk", "pop3s", }; methods: # perform the actual disable all xinetd services according to the list above "any" usebundle => disable_xinetd("$(xinetd_services)"); processes: "$(xinetd_services)" signals => { "kill" }; } ############################################################################### bundle agent disable_xinetd(name) { vars: "status" string => execresult("/sbin/chkconfig --list $(name)", "useshell"); classes: "on" expression => regcmp(".*on.*","$(status)"); commands: on:: "/sbin/chkconfig $(name) off", comment => "disable $(name) service"; reports: on:: "disable $(name) service."; }