AppArmor from scratch 2: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „ #include <stdio.h> int main(int argc, char *argv[]) { int i; FILE *fd; for (i = 1; i < argc; i++) { fd = fopen(argv[i], "w");…“) |
|||
| (17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | <span id="programm-welches-eingeschränkt-werden-soll"></span> | ||
| + | = 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> | #include <stdio.h> | ||
| Zeile 8: | Zeile 17: | ||
if (fd == NULL) { | if (fd == NULL) { | ||
| − | fprintf(stderr, "fopen failed for %s | + | fprintf(stderr, "fopen failed for %s\n", argv[i]); |
| − | ", argv[i]); | ||
return 1; | return 1; | ||
} | } | ||
| − | fprintf(fd, " | + | fprintf(fd, "Erfolgreich in %s geschrieben\n", argv[i]); |
| − | ", argv[i]); | ||
fclose(fd); | fclose(fd); | ||
} | } | ||
| Zeile 20: | Zeile 27: | ||
return 0; | return 0; | ||
} | } | ||
| + | * cd /usr/local/bin | ||
| + | * gcc schreiber.c -o schreiber | ||
| + | * cd /root | ||
| + | * schreiber Testdatei | ||
| + | * cat Testdatei | ||
| + | |||
| + | <!-----> | ||
| + | Erfolgreich in Testdatei geschrieben. | ||
| + | <span id="programm-einschränken"></span> | ||
| + | |||
| + | = 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 | ||
| + | |||
| + | <!-----> | ||
| + | <span id="testen"></span> | ||
| + | |||
| + | = Testen = | ||
| + | |||
| + | * schreiber Testdatei | ||
| + | * cat Testdatei | ||
| + | |||
| + | <!-----> | ||
| + | Erfolgreich in Testdatei geschrieben. | ||
| + | * ./schreiber Testdatei2 | ||
| + | |||
| + | <!-----> | ||
| + | fopen failed for Testdatei2 | ||
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