SUID e SGID – Permissões especiais no Linux

SUID e SGID – Permissões especiais no Linux

SUIDSet owner User ID

Tipo especial de permissão de arquivos. Normalmente, quando um programa roda, ele herda permissões de acesso do usuário logado no momento. O bit SUID é definido para dar permissões temporárias para um usuário executar um programa ou arquivo com as permissões do proprietário do arquivo (geralmente o root)

Exemplos

O comando passwd (gerenciamento de senhas) roda com SUID previamente configurado para que um usuário comum possa alterar suas própria senha, pois ele não tem permissão para alterar arquivos de sistema como o /etc/shadow – somente o root possui esse tipo de permissão

Configuração

Usamos o comando chmod para configurar o SUID em um arquivo, como no seguinte exemplo:

# chmod 4750 arquivo # permissão 4 = SUID

Verificação

Para verificarmos se um arquivo possui o bit SUID ativado nas permissões do proprietário, usamos o comando ls -l , obtendo uma saída como a seguinte:

-rwsr-xr-x fabio arquivo

A permissão de execução do proprietário (x) é substituída por um s ou S, onde:.

  • s = possui permissão de execução
  • S = não possui permissão de execução

Podemos localizar arquivos que possuam o bit SUID ativo usando o comando a seguir:

# find / -perm +4000

SGID – Set Group ID

Tipo especial de permissões aplicado a arquivos ou pastas. Normalmente, quando um programa é executado, ele herda permissões de acesso do usuário logado atualmente. O bit SGID é definido para dar permissões temporárias para um usuário executar um programa ou arquivo com as permissões do grupo do arquivo.

Configuração

Usamos o comando chmod para configurar o bit SGID em um arquivo, como segue:

# chmod 2750 arquivo # permissão 2 = SGID

Verificação

Para verificarmos se um arquivo possui o bit SGID ativado nas permissões do proprietário, também usamos o comando ls -l. Veja um exemplo de saída obtida com este comando:

-rwxr-sr-x fabio arquivo

A permissão de execução do grupo (x) é substituída por um s ou S, onde:

  • s = possui permissão de execução
  • S = não possui permissão de execução

Também podemos localizar arquivos que possuam o bit SGID ativo usando o comando a seguir:

$ find / -perm +2000

Sticky bit

O sticky bit é um bit usado em permissões de pastas para evitar a exclusão de seu conteúdo por outros usuários, mesmo que eles tenham permissão de escrita na pasta.

Somente o proprietário do arquivo e o usuário root podem excluir arquivos em uma pasta que possua o Sticky bit ativado.

Configuração

Usamos o comando chmod para configurar o Sticky em uma pasta, como no exemplo:

# chmod 1757 arquivo # permissão 1 = Sticky

Verificação

Para verificarmos se uma pasta possui o bit Sticky ativado nas permissões dos outros, também usamos o comando ls -l, como neste exemplo:

-rwxr-xrwt fabio pasta

Aqui, a permissão de execução do grupo (x) é substituída por um t ou T, onde:

  • t = possui permissão de execução
  • T = não possui permissão de execução

Também podemos localizar arquivos que possuam o bit Sticky ativo usando o comando find, como segue:

# find / -perm +1000

É isso aí! Para saber mais sobre os bits de permissão especiais do Linux, assista ao vídeo a seguir:

Sobre Fábio dos Reis (1328 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*