setpriv

Linux
Publiée le 2026-10-19 05:10:52
Illustration Linux pour la commande setpriv

setpriv

# Montre l'état actuel des droits sans rien exécuter, pour que tu puisses vérifier les options
setpriv --dump

# Exécute un programme en ne permettant pas d'obtenir de nouveaux privilèges
setpriv --no-new-privs /bin/ls -l

# Définit les capacités ambiantes (ambient) avant l'exécution du programme
setpriv --ambient-caps CAP_NET_BIND_SERVICE /usr/sbin/nginx

# Définit les capacités héritables (initial) pour le processus enfant
setpriv --inh-caps CAP_DAC_OVERRIDE /bin/bash

# Définit un ensemble de capacités limitantes strictes
setpriv --bounding-set CAP_CHOWN,CAP_SETGID /usr/bin/my_app

# Exécute le programme en forçant l'UID réel (ruid) à 1000
setpriv --ruid 1000 /bin/ls -l

# Définit l'UID effectif (euid) sans toucher au réel, utile pour certaines API
setpriv --euid 500 /usr/bin/some_script.sh

# Définit le GID réel et le GID effectif en même temps
setpriv --regid 200 /bin/echo "Test"

# Change l'UID réel et l'UID effectif pour un utilisateur spécifique (ex: nobody)
setpriv --reuid nobody /usr/bin/check_permissions

# Efface tous les groupes supplémentaires du processus avant exécution
setpriv --clear-groups /bin/my_service

# Garde uniquement les groupes supplémentaires existants, sans rien modifier
setpriv --keep-groups /bin/another_service

# Initialise les groupes supplémentaires à une liste prédéfinie (par exemple, le groupe 'users')
setpriv --init-groups users /usr/local/bin/worker

# Définit explicitement des groupes supplémentaires par nom de groupe
setpriv --groups docker,adm /opt/app_runner

# Exécute un programme en forçant les droits réel et effectif pour l'UID et le GID
setpriv --reuid 1000 --regid 1000 /bin/bash -c "echo 'Droits fixés'"

# Définit des bits de sécurité (securebits) au niveau du processus
setpriv --securebits /usr/sbin/daemon_process

# Exemple complet : drop privileges, fixer les IDs et exécuter un outil léger
setpriv --ruid 1000 --rgid 1000 --ambient-caps CAP_DAC_READ_SEARCH /bin/whoami