<def-group>
  <definition class="compliance" id="sudo_vdsm_nopasswd" version="1">
    {{{ oval_metadata("Checks sudo usage for the vdsm user without a password", rule_title=rule_title) }}}
    <criteria operator="AND">
      <criterion comment="NOPASSWD only exists for vdsm user in /etc/sudoers" test_ref="test_vdsm_nopasswd_etc_sudoers" />
      <criterion comment="NOPASSWD only exists for vdsm user in /etc/sudoers.d" test_ref="test_vdsm_nopasswd_etc_sudoers_d" />
    </criteria>
  </definition>

  <ind:textfilecontent54_test check="all" check_existence="none_exist" comment="NOPASSWD only exists for vdsm user in /etc/sudoers" id="test_vdsm_nopasswd_etc_sudoers" version="1">
    <ind:object object_ref="object_vdsm_nopasswd_etc_sudoers" />
  </ind:textfilecontent54_test>
  <ind:textfilecontent54_object id="object_vdsm_nopasswd_etc_sudoers" version="1">
    <ind:filepath>/etc/sudoers</ind:filepath>
    <ind:pattern operation="pattern match">^(?!(#|vdsm.*)).*[\s]+NOPASSWD[\s]*\:.*$</ind:pattern>
    <ind:instance datatype="int">1</ind:instance>
  </ind:textfilecontent54_object>

  <ind:textfilecontent54_test check="all" check_existence="none_exist" comment="NOPASSWD only exists for vdsm user in /etc/sudoers.d" id="test_vdsm_nopasswd_etc_sudoers_d" version="1">
    <ind:object object_ref="object_vdsm_nopasswd_etc_sudoers_d" />
  </ind:textfilecontent54_test>
  <ind:textfilecontent54_object id="object_vdsm_nopasswd_etc_sudoers_d" version="1">
    <ind:path>/etc/sudoers.d</ind:path>
    <ind:filename operation="pattern match">^.*$</ind:filename>
    <ind:pattern operation="pattern match">^(?!(#|vdsm.*)).*[\s]+NOPASSWD[\s]*\:.*$</ind:pattern>
    <ind:instance datatype="int">1</ind:instance>
  </ind:textfilecontent54_object>

</def-group>
