O comando chown está disponível apenas para root , por motivos de segurança, portanto, se você quiser fazer isso, terá que fazer isso como root.
Existem duas coisas que você pode fazer:
-
Use o
SETUIDbit. Dessa forma, você está permitindo que os usuários executem o script comoroot(embora também tenha preocupações de segurança, dependendo do que seu script faz). Mais sobre este aqui . -
Você também pode criar uma fila baseada em tarefas (por exemplo, usando redis ). O script inseria um valor na fila quando executado e um script é executado como
roote leria a fila e faria as alterações necessárias (no seu caso, usechownnesse arquivo).