Try something like this:

body common control
{
 bundlesequence => { "test" };
 inputs => { "/var/cfengine/inputs/cfengine_stdlib.cf" };
}

bundle agent test
{
 files:
  "/tmp/sshd_config"
     edit_line => uncomment_lines_containing("PermitRootLogin.*","#"),
     classes => if_repaired("restart_sshd");

commands:
   restart_sshd::
       "/etc/init.d/sshd restart";
}


On Nov 15, 2010, at 3:42 AM, Seifert, Christian wrote:

> Hello,
> i've successfully implemented your solution with the sshd_config file. But 
> the secound problem is cfengine has to restart the sshd service.
> It is possible to restart the service, only i've edited the sshd_config file?
> I mean a command with "if" or something else.
>  
> Thanks in advance
>  
> 
> -- 
> Christian Seifert
> 
> Basistechnologie und Betrieb
> 
> GESIS Gesellschaft für Informationssysteme mbH
> Eisenhüttenstraße 99
> 38239 Salzgitter 
> Telefon +49 5341 21-8464 
> E-Mail   christian.seif...@gesis.de 
> Internet www.gesis.de
> 
> 
> -- 
> GESIS Gesellschaft für Informationssysteme mbH | Sitz der Gesellschaft: 
> Salzgitter | Registergericht: Amtsgericht Braunschweig | Registernummer: HRB 
> 6194 | Geschäftsführer: Dipl.-Kfm. Ewald Kratz
> 
> 
>  
> 
> Von: Nakarin Phooripoom [mailto:mynameisje...@gmail.com] 
> Gesendet: Freitag, 12. November 2010 12:20
> An: Seifert, Christian
> Cc: help-cfengine@cfengine.org
> Betreff: Re: sshd_conf managing with cfengine
> 
> It works fine for me. Here what I did.
> 
> body common control
> {
>  bundlesequence => { "test" };
>  inputs => { "/var/cfengine/inputs/cfengine_stdlib.cf" };
> }
> 
> bundle agent test
> {
>  files:
>   "/tmp/sshd_config"
>      edit_line => uncomment_lines_containing("PermitRootLogin.*","#");
> }
> 
> r...@testmachine:/tmp# grep Permit sshd_config
> #PermitRootLogin yes
> PermitEmptyPasswords no
> 
> r...@testmachine:/tmp# cf-agent -f ./xxx.cf -IK
> Edited file /tmp/sshd_config
> 
> r...@testmachine:/tmp# grep Permit sshd_config
> PermitRootLogin yes
> PermitEmptyPasswords no
> 
> Cheers,
> --Nakarin
> 
> 
> On Nov 12, 2010, at 10:38 AM, Seifert, Christian wrote:
> 
>> 
>> Hello everybody, 
>> I want to managing some configuration files of my system. 
>> For example the file sshd_conf. I want to edit the line "PermitRootLoging 
>> yes". In this line there has to be no comment - no # sign.
>> 
>> I think i should use the bundle "edit_line 
>> uncomment_lines_matching(regex,comment)", but it doesn't work for me. 
>> My created file for this job is this:
>> 
>> bundle sshd_conf {
>> 
>> files: 
>>         "/tmp/sshd_conf"
>> 
>> edit_line => AppendOrReplaceLineMatching("PermitRootLogin yes");
>> 
>> }
>> 
>> bundle edit_line uncomment_lines_matching(regex,comment)
>> 
>>  # Uncomment lines of a file where the regex matches 
>>  # the text after the comment string
>> 
>> { 
>> replace_patterns:
>> 
>>  "$(comment)($(regex))$" replace_with => uncomment; 
>> }
>> 
>> 
>> 
>> It would be very nice if some of you has a promise like that.
>> 
>> 
>> Thanks in advance
>> 
>> -- 
>> Christian Seifert
>> 
>> _______________________________________________
>> Help-cfengine mailing list
>> Help-cfengine@cfengine.org
>> https://cfengine.org/mailman/listinfo/help-cfengine
> 
> _______________________________________________
> Help-cfengine mailing list
> Help-cfengine@cfengine.org
> https://cfengine.org/mailman/listinfo/help-cfengine

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to