Você pode conhecer as permissões normais de leitura, gravação e execução de arquivos no unix.
No entanto, em muitos aplicativos, esse tipo de estrutura de permissão - por exemplo, dar a um dado usuário permissão total para ler um determinado arquivo, ou nenhuma permissão para ler o arquivo - é muito grosseiro. Por esse motivo, o Unix inclui outro bit de permissão, o set-user-ID
bit. Se esse bit for definido para um arquivo executável, sempre que um usuário diferente do proprietário executar o arquivo, esse usuário obterá todos os privilégios de leitura / gravação / execução do proprietário para acessar qualquer um dos outros arquivos do proprietário!
Para definir o bit set-user-ID para um arquivo, digite
chmod u+s filename
Certifique-se de ter definido a permissão de execução de outros grupos também; Seria bom ter permissão de leitura em grupo, além de outras. Tudo isso pode ser feito com a única declaração
chmod 4755 filename
Ele também é chamado de UID salvo. Um arquivo que é iniciado com um bit Set-UID ativado, o UID salvo será o UID do proprietário do arquivo. Caso contrário, o UID salvo será o UID real.
O que é uid eficaz?
Esse UID é usado para avaliar os privilégios do processo para executar uma ação específica. O EUID pode ser alterado para Real UID ou Superuser UID se EUID! = 0. Se EUID = 0, pode ser alterado para qualquer coisa.
Exemplo
Um exemplo de tal programa é passwd
. Se você listá-lo na íntegra, você verá que ele tem Set-UID bit e o proprietário é "root". Quando um usuário normal, digamos "mtk", executa passwd
, ele começa com:
Real-UID = mtk
Effective-UID = mtk
Saved-UID = root