O que é Setuid?


0

Este artigo irá explicar o que é Setuid e como usar Setuid.

Setuid

Setuid, que significa definir o ID do usuário na execução, é um tipo especial de permissão de arquivo no Unix e em sistemas operacionais semelhantes ao Unix, como Linux e BSD. É uma ferramenta de segurança que permite aos usuários executar determinados programas com privilégios escalonados.

Quando a permissão setuid de um arquivo executável é definida, os usuários podem executar esse programa com um nível de acesso que corresponda ao usuário que possui o arquivo. Por exemplo, quando um usuário deseja alterar sua senha, ele executa o comando passwd. O programa passwd pertence à conta root e está marcado como setuid, portanto, o usuário recebe temporariamente acesso root para esse propósito limitado.

Visualizando a permissão setuid de um arquivo

Ao visualizar as permissões de um arquivo com o comando ls -l, a permissão setuid é exibida como um “s” na posição do bit “execução do usuário”. Por exemplo:

ls -l /usr/bin/passwd
-rwsr-xr-x 1 root 54192 Nov 20 17:03 /usr/bin/passwd

Definir a permissão setuid de um arquivo

Para definir a permissão setuid para um arquivo executável, use o identificador de permissão u + s com o comando chmod:

chmod u+s myfile

Arquivos não executáveis ​​podem ser marcados como setuid, mas não tem efeito; marcá-los com setuid não os torna executáveis ​​automaticamente. Nesse caso, o bit de permissão aparece como um “S” maiúsculo. Por exemplo:

ls -l myfile
-rw-r--r-- 1 user 0 Mar 6 10:45 myfile
chmod u+s myfile
ls -l myfile
-rwSr--r-- 1 user 0 Mar 6 10:45 myfile

No entanto, se você definir o arquivo para ser executável pelo usuário com a permissão u + x, a permissão setuid entrará em vigor. Em seguida, é representado na lista com um “s” minúsculo:

chmod u+x myfile
ls -l myfile
-rwsr--r-- 1 user 0 Mar 6 10:45 myfile

Setgid

Setgid é equivalente a setuid para grupos. Se o bit estiver definido, ele concede permissão ao grupo que possui o arquivo. Em uma lista de arquivos, o caractere “s” (s minúsculo) é listado na posição “execução do grupo” da string de permissões do arquivo. Se o bit setgid estiver definido, mas o grupo não tiver permissões de execução, um “S” maiúsculo será exibido. Este caractere maiúsculo indica que o bit está definido, mas não tem efeito.

Na saída de ls -l mostrada aqui, o “s” minúsculo indica que o bit setgid está definido para o arquivo listado. Qualquer usuário que acessar esse arquivo o fará como se fosse um membro do grupo proprietário.

chmod g+s myfile2
ls -l myfile2
-rw-r-sr-- 1 user mygroup 0 Mar 6 10:46 myfile2

Se o bit setgid for definido para um diretório, todos os novos arquivos criados serão de propriedade do grupo proprietário do diretório, em vez do grupo do usuário. Os arquivos movidos ou copiados de outro local não terão seu ID de grupo modificado.


Like it? Share with your friends!

0

What's Your Reaction?

hate hate
0
hate
confused confused
0
confused
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Rubem Rego

0 Comments

Your email address will not be published. Required fields are marked *