Sys Admin (ep. 03, parte 8-8) - Permissões (permissoẽs especiais)
SUID (Setuid)
Uma permissão especial do Linux cujo objectivo é conceder privilégios elevados
temporários durante a execução de ficheiros. Quando aplicado, o programa é
executado com permissões do proprietário do ficheiro, e não as do utilizador
que o iniciou, criando uma elevação de privilégios controlada. Este mecanismo
é crucial para utilitários do sistema como o passwd, que requerem acesso root
para modificar recursos protegidos, mantendo a segurança geral do sistema.
Vejamos este um exemplo prático.
No exemplo abaixo temos o ficheiro hello.sh (um script) que pertence ao
usuário root, e com permissões de leitura e escrita apenas para este usuário.
Por sua vez, o usuário ordela, tenta correr este script mas sem sucesso
porque não tem permissão.
Usando o usuário root, atribuimos permissões especiais de execussão para todo
e qualquer usuário neste sistema para correr este script com previlégios do
proprietário do ficheiro, neste caso o root. Vamos prestar atenção nas
permissões antes e depois de atribuir a permissão especial, vejamos.
Atribuir permissão SUID especial usando o usuário root.
Ainda podemos também tentar com um usuário diferente deste, por exemplo o
usário ordela3. Veja abaixo.
E o usuário ordela3 também consegue correr o script. Resumindo, todo
usuário que tenha permissão para pelo menos aceder o local (directório) onde
se encontra o ficheiro, pode muito bem correr este script sem nenhuma
dificuldade, uma vez que este ficheiro contém permissoẽs especiais.
SGID (Setgid)
Marcada pelo símbolo s na posição de execução do grupo das permissões de um
ficheiro. SGID eleva privilégios do programa, fazendo com que seja executado
com permissões do proprietário do grupo do ficheiro, em vez do grupo do
utilizador que o executa. Quando definido num directório, garante que
quaisquer novos ficheiros ou subdirectórios criados dentro dele herdem
automaticamente a propriedade do grupo do directório.
Vejamos abaixo como funciona na prática.
Uma permissão exclusiva, identificada pelo símbolo t na posição de execução
para outros num directório. Modifica regras padrão de exclusão, garantindo
que apenas o proprietário do ficheiro, o proprietário do directório ou o
usuário root possam excluir ou renomear ficheiros dentro desse
directório. Esse recurso de segurança é essencial para espaços partilhados
como /tmp, onde vários utilizadores precisam de acesso de escrita, mas devem
ser impedidos de remover arbitrariamente ficheiros uns doss outros. Vejamos
o exemplo abaixo.
Representação numérica das permissoões especiais.
Permissoẽs especias também podem ser combinadas.












Comentários