AppArmor from scratch 2: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 4: Zeile 4:
 
Ein einfaches Programm, welches eine Datei erzeugt, soll so eingeschränkt werden, dass es nur bestimmte Dateien modifizieren darf.
 
Ein einfaches Programm, welches eine Datei erzeugt, soll so eingeschränkt werden, dass es nur bestimmte Dateien modifizieren darf.
  
* cat /home/xinux/apparmor/schreiber.c
+
* cat /usr/local/binschreiber.c
  
 
<!----->
 
<!----->
Zeile 26: Zeile 26:
 
     return 0;
 
     return 0;
 
  }
 
  }
* cd /home/xinux/apparmor
+
* cd /usr/local/bin
 
* gcc schreiber.c -o schreiber
 
* gcc schreiber.c -o schreiber
 
* ./schreiber Testdatei
 
* ./schreiber Testdatei
Zeile 34: Zeile 34:
 
  Erfolgreich in Testdatei geschrieben.
 
  Erfolgreich in Testdatei geschrieben.
 
<span id="programm-einschränken"></span>
 
<span id="programm-einschränken"></span>
 +
 
= Programm einschränken =
 
= Programm einschränken =
  

Version vom 17. Januar 2023, 10:17 Uhr

Programm, welches eingeschränkt werden soll

Ein einfaches Programm, welches eine Datei erzeugt, soll so eingeschränkt werden, dass es nur bestimmte Dateien modifizieren darf.

  • cat /usr/local/binschreiber.c
#include <stdio.h>

int main(int argc, char *argv[]) {
    int i;
    FILE *fd;
    for (i = 1; i < argc; i++) {
    fd = fopen(argv[i], "w");
    
    if (fd == NULL) {
        fprintf(stderr, "fopen failed for %s\n", argv[i]);
        return 1;
    }

    fprintf(fd, "Schreiben erfolgreich in %s geschrieben\n", argv[i]);
    fclose(fd);
    }

    return 0;
}
  • cd /usr/local/bin
  • gcc schreiber.c -o schreiber
  • ./schreiber Testdatei
  • cat Testdatei
Erfolgreich in Testdatei geschrieben.

Programm einschränken

  • sudo aa-genprof /home/xinux/apparmor/schreiber
  • ./schreiber Testdatei
  • Jetzt Profil einscannen (mit “S”) und generieren und speichern (“S”)
  • sudo aa-enforce home.xinux.apparmor.schreiber

Testen

  • ./schreiber Testdatei
  • cat Testdatei
Schreiben erfolgreich in Testdatei geschrieben.
  • ./schreiber Testdatei2
fopen failed for Testdatei2