/*
Demonstração do uso de capacidades POSIX
maziero@inf.ufpr.br, 10/2026

1. Compilar:

	gcc -Wall capability.c -o capability

2. Executar (sem capacidade):

	./capability
	Deve retornar erro de permissão negada
	ls -l /

3. Atribuir a capacidade CAP_DAC_OVERRIDE, que permite ignorar
   as permissões de acesso DAC (Discretionary Access Control):

	sudo /usr/sbin/setcap cap_dac_override=ep ./capability

4. Executar (com capacidade):

	./capability
	ls -l /
	Deve ter criado arquivo novo em /
*/

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *arq;

    arq = fopen("/arquivo_novo", "w+");
    if (!arq)
    {
        perror("fopen");
        exit(1);
    }
    fclose(arq);
}
