Tilladelse til at bruge perf-værktøjet uden sudo på Debian Testing 4.1 Kernel

Hvordan kan en almindelig bruger få tilladelse til at bruge perf-værktøjet uden sudo-rettigheder på en Debian testing med 4.1 kernen, når perf_event_paranoid er sat til 3 og ikke kan ændres selv som root?

For at en almindelig bruger kan bruge perf-værktøjet uden sudo-rettigheder på Debian Testing med 4.1 kernen, kan man installere libcap2-bin og give perf de nødvendige capabilities, oprette en wrapper script, eller bruge en container med de nødvendige rettigheder.

Sådan får en almindelig bruger tilladelse til at bruge perf-værktøjet uden sudo-rettigheder på Debian Testing med 4.1 kernen

For at en almindelig bruger kan få tilladelse til at bruge perf-værktøjet uden sudo-rettigheder på en Debian Testing med 4.1 kernen, når perf_event_paranoid er sat til 3 og ikke kan ændres selv som root, kan følgende trin følges:

  1. Brug capabilities:
    • Installer libcap2-bin pakken, hvis den ikke allerede er installeret:
    • sudo apt-get install libcap2-bin
    • Giv perf binæren de nødvendige capabilities:
    • sudo setcap cap_sys_admin,cap_perfmon+ep /usr/bin/perf
  2. Brug en wrapper:
    • Opret en wrapper script, der kører perf med sudo, men uden at kræve en adgangskode:
    • echo "your_username ALL=(ALL) NOPASSWD: /usr/bin/perf" | sudo tee /etc/sudoers.d/perf
    • Opret en wrapper script:
    • #!/bin/bash
      sudo /usr/bin/perf "$@"
    • Gør scriptet eksekverbart:
    • chmod +x /path/to/your/wrapper_script
  3. Brug en container:
    • Opret og kør en container med de nødvendige rettigheder:
    • docker run --cap-add=SYS_ADMIN --cap-add=PERFMON -it your_docker_image

Bemærk, at ændringer i systemets sikkerhedspolitikker kan have sikkerhedsmæssige konsekvenser. Sørg for at forstå risikoen og anvend passende sikkerhedsforanstaltninger.