On Unix , a setuid program is given an environment chosen by its caller .
Unix runs with different authority from Unix 's caller .
On Unix , a setuid program is given an environment chosen by its caller , but it runs with different authority from its caller .