AppArmor from scratch 2: Unterschied zwischen den Versionen
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 /usr/local/ | + | * apt install gcc |
| + | * cat /usr/local/bin/schreiber.c | ||
<!-----> | <!-----> | ||
Version vom 17. Januar 2023, 10:19 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
- 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, "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 /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
Schreiben erfolgreich in Testdatei geschrieben.
- ./schreiber Testdatei2
fopen failed for Testdatei2