Entendendo SUID
Nesta etapa, você entenderá o conceito da permissão SUID e suas implicações.
Normalmente, quando um programa é executado no Linux, ele é executado com as permissões do usuário atual. No entanto, alguns programas, como cp, exigem privilégios elevados para realizar certas operações, como copiar arquivos para diretórios restritos. Para permitir que usuários regulares executem esses programas com privilégios elevados, a permissão SUID pode ser definida no arquivo executável.
SUID significa "Set user ID upon execution" (Definir ID de usuário na execução). Quando um arquivo tem a permissão SUID definida, ele é executado com as permissões de seu proprietário, independentemente do usuário que o executa. Por exemplo, o comando cp é propriedade do usuário root e tem o bit SUID definido, permitindo que qualquer usuário o execute com privilégios de root.
Para verificar a permissão SUID no comando cp e salvar a saída em um arquivo, execute o seguinte comando:
ls -l /usr/bin/cp > /home/labex/project/suid_cp.txt
Visualize o conteúdo do arquivo suid_cp.txt usando o seguinte comando:
cat /home/labex/project/suid_cp.txt
Saída esperada:
-rwsr-xr-x 1 root root 141832 Feb 8 2024 /usr/bin/cp
Você deve ver um s nos bits de permissão, indicando a permissão SUID.
Embora o SUID possa ser útil para permitir que usuários regulares executem comandos privilegiados específicos, ele também pode ser explorado se o binário SUID fornecer funcionalidade para executar comandos do sistema ou modificar arquivos.