Capabilities Beispiel readlogs
Version vom 11. Mai 2024, 10:43 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=Erstelle ein einfaches Programm= Wir erstellen ein einfaches C-Programm oder ein Skript, das versucht, eine Systemlog-Datei zu lesen, z.B. /var/log/messages,…“)
Erstelle ein einfaches Programm
Wir erstellen ein einfaches C-Programm oder ein Skript, das versucht, eine Systemlog-Datei zu lesen, z.B. /var/log/messages, die normalerweise auf vielen Systemen beschränkt ist.
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
char ch;
fp = fopen("/var/log/messages", "r");
if (fp == NULL) {
perror("Error opening file");
return EXIT_FAILURE;
}
while((ch = fgetc(fp)) != EOF)
putchar(ch);
fclose(fp);
return 0;
}
Kompiliere dieses Programm (nehmen wir an, es heißt readlogs):
- gcc readlogs.c -o readlogs
Festlegen der Capability
Setze die cap_dac_read_search Capability auf das Programm, um ihm zu erlauben, auf Dateien zuzugreifen, zu denen es normalerweise keinen Zugang hat.
- sudo setcap cap_dac_read_search+ep ./readlogs