Você não pode: se você tornar o /bin/ps
apenas executável pelo root, ele será apenas executável pelo root. Você não pode simplesmente envolver um script em torno dele para ignorar a verificação de permissão.
set-user-id
Se você quiser que um usuário normal chame ps
como root, consulte a permissão set-uid. Do artigo setuid na Wikipedia:
setuid and setgid (short for "set user ID upon execution" and "set group ID upon execution", respectively)1 are Unix access rights flags that allow users to run an executable with the permissions of the executable's owner or group. They are often used to allow users on a computer system to run programs with temporarily elevated privileges in order to perform a specific task. While the assumed user id or group id privileges provided are not always elevated, at a minimum they are specific.
Veja também a página man do chmod
sudo
Se você quiser que um usuário normal execute algo executável pelo root, use apenas sudo
. Ele permitirá que você configure qual usuário poderá executar o que.