Estou tentando chamar um executável de um script PHP que precisa ser executado como um usuário diferente (NÃO raiz) do que o servidor da Web normalmente executa. Eu pensei que deveria ser suficiente para apenas definir o bit setuid no executável em questão, como já é de propriedade do usuário que ele precisa para executar como. No entanto, quando faço isso, recebo este erro:
The application with bundle ID (null) is running setugid(), which is not allowed
Aparentemente, em algum momento, o Mac OS X quebrou a capacidade de executar programas setuid, a menos que você esteja executando como root. Eu definitivamente não quero que o servidor web seja executado como root ou outro usuário!
Parece que a Apple tem alguns aros especiais que você precisa fazer para autorizar a ocorrência de tal coisa - o problema é que, se eu estiver entendendo corretamente, esse método solicita que o usuário insira uma senha ou algo assim. Isso obviamente não é aceitável de um script executado em um servidor web! Outro problema em potencial é que não posso modificar o executável para introduzir algum tipo de chamada de autenticação.