From Fedora Project Wiki

Description

This test case tests semodule basic functionalities (module installation/removal, listing).

Setup

Ensure that policycoreutils package is installed.

How to test

  1. Create file called audittmp.cil containing simple auditallow rule:
    #echo "(auditallow unconfined_t user_tmp_t (file (create)))" > audittmp.cil
  2. Install new module:
    #semodule -i audittmp.cil
  3. Check that the module is properly installed:
    #semodule -l | grep audittmp
    audittmp
    
  4. Create new file in /tmp:
    #touch /tmp/new_file
  5. Check that the file creation was logged:
    #ausearch -m avc -ts recent | grep new_file
    type=AVC msg=audit(1470058493.388:6693): avc:  granted  { create } for  pid=7410 comm="touch" name="new_file" scontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=file
  6. Remove new module:
    #semodule -r audittmp
  7. Check that the module is no longer listed as installed:
    #semodule -l | grep audittmp
    -
  8. Clean up:
    #rm -rf new_file audittmp.cil

Expected Results

  1. All commands are executed successfully
  2. AVC message simillar to the one shown above was logged