setpriv
Linux
Publiée le
2026-10-19 05:10:52
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