Estou tentando testar cap_dac_override. Eu escrevi um simples olá mundo. Compilei o programa e removi todas as permissões do executável.
Neste momento não consigo executar meu programa executando ./hello o que está correto. Agora eu gostaria de aplicar um recurso para que o programa ainda possa ser executado mesmo que o usuário não tenha permissão de execução.
Posso perguntar como configurar cap_dac_override para que ainda possa executar o programa ou estou usando cap_dac_override completamente errado?
setcap cap_dac_override=ep hello
Responder1
Você está confundindo capacidades e permissões.
Obits de modo de arquivooupermissõesdescrevero que pode ser feito com um arquivo. Ao remover todas as permissões de um arquivo, você instruiu o sistema operacional que não deseja que ninguém leia, grave ou execute-o.
Os recursos de arquivo, por outro lado, descrevemo que um arquivo pode fazerou, para ser exato, o que um processo originado desse arquivo de programa pode fazer, o que de outra forma não seria capaz de fazer.
Com setcap cap_dac_override=ep hello
você permitiu que o programa hello
substituísse as verificações usuais de permissão ao ser executado. Mas isso não muda o fato de que as verificações de permissão usuais são aplicadas ao tentar executar arquivos hello
.