Pesquisa de site

Como encontrar arquivos com permissões SUID e SGID no Linux


Neste tutorial, explicaremos as permissões de arquivos auxiliares, comumente chamadas de “permissões especiais” no Linux, e também mostraremos como encontrar arquivos que possuem SUID ( Setuid) e conjunto SGID (Setgid).

O que é SUID e SGID?

SUID é uma permissão especial para arquivos executáveis que permite que outros usuários executem o arquivo com permissões efetivas do proprietário do arquivo. Em vez do x normal que representa as permissões de execução, você verá uma permissão especial s (para indicar SUID) para o usuário.

SGID é uma permissão de arquivo especial que também se aplica a arquivos executáveis e permite que outros usuários herdem o GID efetivo do proprietário do grupo de arquivos. Da mesma forma, em vez do x usual que representa permissões de execução, você verá uma permissão especial s (para indicar SGID) para o usuário do grupo.

Leitura sugerida: Gerenciando usuários e grupos, permissões e atributos de arquivos no Linux

Vejamos como encontrar arquivos que possuem SUID e SGID definidos usando o comando find.

A sintaxe é a seguinte:

find directory -perm /permissions

Importante: Certos diretórios (como /etc, /bin, /sbin > etc.) ou arquivos requerem privilégios de root para serem acessados ou listados, se você estiver gerenciando seu sistema como um usuário normal, use o comando sudo para obter privilégios de root.

Como encontrar arquivos com SUID definido no Linux

O comando de exemplo abaixo encontrará todos os arquivos com SUID definido no diretório atual usando a opção -perm (imprimir arquivos apenas com permissões definidas como 4000).

find . -perm /4000 

Você pode usar o comando ls com a opção -l (para listagem longa) para visualizar as permissões nos arquivos listados, conforme mostrado na imagem acima.

Como encontrar arquivos com SGID definido no Linux

Para localizar arquivos que possuem SGID definido, digite o seguinte comando.

find . -perm /2000

Para encontrar arquivos que tenham SUID e SGID definidos, execute o comando abaixo.

find . -perm /6000

Você também pode ler estes guias úteis sobre permissões de arquivo no Linux:

  1. Como definir atributos de arquivos e localizar arquivos no Linux
  2. Traduzir permissões rwx para formato octal no Linux
  3. Arquivos/diretórios seguros usando ACLs (listas de controle de acesso) no Linux
  4. 5 comandos ‘chattr’ para tornar arquivos importantes IMUTÁVEIS (inalteráveis) no Linux

Por enquanto é isso! Neste guia, mostramos como encontrar arquivos que possuem SUID (Setuid) e SGID (Setgid) definidos no Linux. Se você tiver alguma dúvida, use o formulário de feedback abaixo para compartilhar quaisquer dúvidas ou ideias adicionais sobre este tópico.