4.5.4.4 Vantagens (SUID, SGID e Sticky bit)
Pode ser que você esteja pensando: "mas qual a real vantagem destas permissões especiais?". Simples: promover uma camada ainda mais sofisticada de segurança. Calma, não fique estressado; irei explicar.
Vamos supor que existe um programa que somente o usuário "zezinho" pode executar devido às suas permissões, porém, um belo dia você é informado que outros usuários também devem ser capazes de executar este mesmo programa. Quais são as possibilidades possíveis?
- Adicionar os outros usuários ao grupo do "zezinho"? Talvez, mas e se forem dezenas ou centenas de usuários? Lembre-se de que, ao colocar os usuários no grupo do "zezinho", você dará acesso a todos a /home/zezinho e, consequentemente, a todos os seus arquivos;
- Poderíamos criar um novo grupo e adicionar todos os usuários a ele; depois bastaria alterar o grupo do arquivo com o comando chown. Mas, novamente, isso daria muito trabalho e não me parece certo;
- Então, a "melhor" opção é utilizar SUID ou SGID para permitir que os demais usuários ou grupos sejam capazes de executar o programa.
Já o Sticky bit é um recurso valioso que pode proteger os arquivos, impedindo que sejam excluídos.
Lembre-se de que essas permissões especiais complementam as permissões "simples" reading/writing e execution.
Por fim, é valido pontuar que:
- s: possui permissão de execução;
- S: não possui permissão de execução;
- t: possui permissão de execução;
- T: não possui permissão de execução.
As letras acima substituem a letra "x", que representa justamente a permissão de execução. Mas tenha em mente que, se a nova letra for um "s" ou "t", isso significa que o arquivo possui a permissão "x" e mais o recurso SUID, SGID ou Sticky bit, dependendo da letra e da posição em que se encontra. O que estou querendo pontuar é que a permissão de execução é "somada" à permissão especial aplicada.