AppArmor from scratch 2: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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.
  
* apt install gcc
+
* apt install gcc apparmor-utils
 
* cat /usr/local/bin/schreiber.c
 
* cat /usr/local/bin/schreiber.c
  
Zeile 29: Zeile 29:
 
* cd /usr/local/bin
 
* cd /usr/local/bin
 
* gcc schreiber.c -o schreiber
 
* gcc schreiber.c -o schreiber
 +
* cd /root
 
* schreiber Testdatei
 
* schreiber Testdatei
* cd /home/xinux
 
 
* cat Testdatei
 
* cat Testdatei
  
Zeile 49: Zeile 49:
 
= Testen =
 
= Testen =
  
* ./schreiber Testdatei
+
* schreiber Testdatei
 
* cat Testdatei
 
* cat Testdatei
  

Aktuelle Version vom 10. August 2023, 11:42 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.

  • apt install gcc apparmor-utils
  • cat /usr/local/bin/schreiber.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, "Erfolgreich in %s geschrieben\n", argv[i]);
    fclose(fd);
    }

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

Programm einschränken

  • sudo aa-genprof /usr/local/bin/schreiber
  • schreiber Testdatei
  • Jetzt Profil einscannen (mit “S”) und generieren und speichern (“S”)
  • sudo aa-enforce usr.local.bin.schreiber

Testen

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