Como dar a um usuário comum acesso privilegiado a um syscall em particular no FreeBSD?

1

Eu quero dar a um usuário comum a capacidade de fchown () arbitrariamente (como se fossem o superusuário) no FreeBSD. De um modo geral, existe uma maneira correta de alterar a verificação de privilégios de um determinado syscall?

Eu investiguei o Capsicum, mas para todos os artigos sobre o assunto, há uma falta real de exemplos práticos por aí.

    
por ruief 03.03.2013 / 21:00

1 resposta

0

Uma solução seria criar seu próprio programa que chama fchown() , chown-lo para root: roda e definir o bit setuid ( chmod +s ), arquivos executados com o bit setuid serão executados como o proprietário do executável .

Aviso Você não deu nenhum contexto específico, mas esteja ciente de que permitir que um usuário execute fchown() como root é um pé na porta para obter acesso a todo o sistema. Por exemplo, pode-se alterar o dono de /etc/{passwd,group,shadow} , alterar o conteúdo, alterar o dono de volta e pronto! Raiz instantânea.

    
por 06.03.2013 / 10:18