Ich glaube, dass dazu Programm X mit setuid-Berechtigungen und einem Benutzer-UA mit Schreibberechtigung für Ordner A gehören muss. Wenn X aufgerufen wird, wird es als UA ausgeführt, unabhängig davon, von welchem Benutzer es aufgerufen wurde.
Die meisten Shells (vielleicht alle) lassen Skripte keine setuid-Berechtigungen haben, sie ignorieren dieses Berechtigungsbit nur, wenn X eine Binärdatei ist. Natürlich könnte x ein binärer Wrapper sein, der nur ein separates Skript X.sh ausführt.
Sie sollten X nicht als root setzen, wenn Sie nicht müssen. Sie könnten den Ordner A für einen Benutzer mit weniger Berechtigungen beschreibbar machen.
Alternativ können Sie den Ordner A für eine dedizierte Gruppe beschreibbar machen, dieser Gruppe X zuweisen und setgid für X anstelle von setuid verwenden.