Eu tenho um usuário com acesso limitado no sistema (ou seja, ele não é um sudoer); vamos chamá-lo de Bob .
Eu tenho um script ou um binário no qual eu, administrador do sistema, confio e não teria problemas ao executá-lo como root; vamos chamar o script get-todays-passphrase.sh
. A tarefa desse script é ler dados de um arquivo "privado" (de propriedade de um usuário / grupo que não seja Bob, ou mesmo raiz) localizado /srv/daily-passphrases
e apenas gerar uma linha específica do arquivo: a linha que corresponde à data de hoje .
Usuários como Bob não têm permissão para saber a senha de amanhã, mesmo que esteja listada no arquivo. Por esse motivo, o arquivo /srv/daily-passphrases
é protegido pelas permissões do Unix, para que usuários não raiz como Bob não tenham permissão para acessar o arquivo diretamente. No entanto, eles podem executar o get-todays-passphrase.sh
script a qualquer momento, o que retorna os dados "filtrados".
Para resumir (a versão TL; DR ):
- Bob não consegue ler o arquivo protegido
- O script pode ler o arquivo protegido
- A qualquer momento, Bob pode executar o script que pode ler o arquivo
É possível fazer isso nas permissões de arquivo Unix? Ou, se Bob iniciar um script, o script estará sempre condenado a ser executado com as mesmas permissões que Bob?