Je voudrais pouvoir lancer un processus Linux qui aurait seulement accès à stdin, stdout et stderr (rien de plus et rien de moins). Puis-je faire cela au niveau du processus lui-même? Je déclare implicitement (oxymoron) que je ne veux pas que le processus engendré soit capable de changer la «chose» à laquelle l'autre extrémité du flux pointe.Est-il possible de limiter les flux standards disponibles à Linux au niveau du processus?
Métaphoriquement:
- le processus a un tuyau d'entrée qui vient de quelque part, il ne peut pas changer l'endroit où le tuyau commence à partir, donc il ne peut pas contrôler où l'entrée vient.
- Le processus a des canaux de sortie et d'erreur qui vont quelque part, il ne peut pas changer où l'autre extrémité des tuyaux de sortie pointe, de sorte qu'il ne peut pas contrôler où la sortie va.
- il ne peut pas créer de nouveaux tuyaux.
Je suis également à la recherche de SElinux. Cela me permettrait-il de créer un processus qui n'aurait accès qu'à ces trois volets? Je vous remercie.
Comment limiter les appels système individuels avec SELinux? Il y a des permissions pour restreindre les classes de syscalls sur les classes d'objets, mais je ne vois aucune limitation sur 'pipe',' close', 'dup', etc. – ephemient