1 - Criar um arquivo chamado mypasswd.c com o seguinte conteúdo:
#include
int main(){
setuid(0);
return(system("/usr/local/lib/mypasswd/mypasswd.sh"));
}
2 - O script gerado deverá ser chamado mypasswd.sh
3 - Na instalação (target install), deve-se copiar o script que vocês
fizeram para o /usr/local/lib/mypasswd/mypasswd.sh; compilar o código
C acima, gerando o binário mypasswd; copiar o binário mypasswd para o
/usr/local/bin/mypasswd, sentando as permissões corretas.
4 - na remoção, remover também o binário.
Para compilar: gcc -o mypasswd mypasswd.c
Mas vejam que dessa forma [com a presença do setuid()] alguns comandos como whoami podem não retornar o valor que vocês esperavam... Daí a dica é procurar nas
variáveis de ambiente.
[1] Veja aqui que o 'bit s' é desabilitado em scripts por motivo de segurança.
PS: eu não testei isso aqui!!
Nenhum comentário:
Postar um comentário