Unix: Restreindre un répertoire à un utilisateur

J’ai un utilisateur root qui a un ensemble de fichiers d’entrée dans un répertoire

/home/root/inputs/input1.txt .

J’ai créé un autre utilisateur fictif /home/dummy qui ne peut pas voir les fichiers d’entrée sous / home / root / input. Mais cet utilisateur factice créera un programme CA et l’exécutera. Et ce programme devrait utiliser les entrées sous

  /home/root/inputs/input1.txt. 

Comment puis-je atteindre cet objective ? Je ne veux pas que l’utilisateur fictif visualise le fichier d’entrée de son code (en utilisant system ( ls , cat )) mais je veux que l’utilisateur fictif appelle le binary et utilise cette entrée.

 sudo -u dummy ./a.out < /home/root/inputs/input1.txt 

me donne la permission refusée.

Je crée ce script pour ma classe.

Vous ne pouvez pas faire cela car a.ou ne lisez pas le fichier lorsque vous utilisez < . Le shell est. Vous devez changer a.out pour qu'il prenne un argument, vous pourrez alors lancer sudo -u dummy ./a.out /home/root/inputs/input1.txt et cela fonctionnera.