Olá pessoal. Hoje irei demonstrar para vocês como funcionam os tipos de permissões especiais, que afetam arquivos executáveis e diretórios: SUIDSGUID e STICKY, conhecidos também como permissões de sistema.

SUID

Se este bit estiver ligado em um arquivo executável, isso indica que que ele vai rodar com as permissões do seu dono (o proprietário do arquivo) e não com as permissões do usuário que o executou.

OBS: Só tem efeito em arquivos executáveis.

SGUID

Faz o mesmo que o SUID, mas agora o arquivo executado vai rodar com as permissões do grupo do arquivo. Se aplicado a um diretório, força os arquivos/diretórios criados dentro dele a ter o mesmo grupo do diretório pai, ao invés do grupo primário do usuário que o criou.

STICKY

Se este bit for ativado, faz com que arquivos criados em um determinado diretório só possam ser apagados por quem o criou (dono) ou pelo super-usuário do sistema. Um exemplo de uso do STICKY é o diretório /tmp.

Exemplificando:

SUID

Para demonstrar o uso do SUID vou dar como exemplo o comando shutdown, que é utilizado para desligar e reiniciar o sistema, mas que só pode ser executado pelo usuário root. Mesmo se você der permissão através do “chmod 755 /sbin/shutdown”, o usuário comum não vai conseguir realizar a execução deste, somente o root.

# groupadd shutdown
# gpasswd -a emilio shutdown
# chown root:shutdown /sbin/shutdown
# chmod 4750 /sbin/shutdown
# ln -s /sbin/shutdown /bin/shutdown


Comentários dos comandos acima:

  • groupadd <group>: adiciona um novo grupo ao sistema.
  • gpasswd -a <user><group>: adiciona um novo membro a um grupo.
  • chown <usuário>:<grupo> <arquivo>: muda o dono e o grupo de um arquivo/diretório.
  • chmod <opções> <mode>: liga o bit SUID junto com as novas permissões.
  • -ln -s <source> <dest>: cria um link simbólico de um arquivo/diretório.

Agora, logue-se novamente no shell:

# su – emilio

Agora teste o comando shutdown.

# shutdown -h now

OBS 1: Reparem que, se olharmos as permissões do comando shutdown, veremos um ‘s’ na permissão do dono no lugar do ‘x’, isto indica que o bit SUID está ligado.

OBS 2: ‘su – emilio’ utilizei para que o sistema atualize-se e reconheça que o usuário ‘emilio’ agora faz parte também do grupo shutdown. Outra forma de fazer isso seria logar-se novamente, o que seria chato pois seria necessário sair do X.

SQUID

O bit SGUID tem a mesma função do bit SUID, só que agora é usada a permissão do grupo do arquivo para executá-lo. O SGUID também tem uma outra função, que funciona em diretórios. Quando este bit está ligado em um diretório ele possibilita que todos arquivos/diretórios criados dentro dele pertençam ao mesmo grupo desse diretório.

Vamos a um exemplos para que possamos entender.

# cd /tmp
# mkdir publico
# ls -l publico

drwxr-xr-x 2 root root 48 2004-11-24 21:21 publico

Veja que só o root pode escrever nele, ou seja, criar arquivos e diretórios.

Vamos ligar o bit SGUID neste diretório.

# chmod 2777 publico
# ls -l publico

drwxrwsrwx 2 root root 48 2004-11-24 21:21 publico

Observe que o ‘s’ indica que o bit SGUID está ligado. Agora entre neste diretório com outros usuários, crie arquivos e diretórios, e repare que os arquivos e diretórios criados pertencem ao mesmo grupo do diretório pai (diretório antecedente).

Exemplo:

$ mkdir teste
$ ls -l

drwxr-sr-x 2 linuxrs root 48 2004-11-24 21:31 teste

STICKY

Bom, o bit STICKY não tem segredo. Como vocês já sabem, ele faz com que um diretório funcione igual ao diretório /tmp, onde todos os usuários podem criar arquivos/diretórios mas só o próprio dono do arquivo/diretório ou o usuário root podem excluí-los.

# cd /tmp
# mkdir diretorio
# chmod 1777 diretorio

$ cd /tmp/diretorio
$ mkdir teste

# ls -l

drwxr-xr-x 2 linuxrs users 48 2004-11-24 21:47 teste


Emilio Mario Wieczorek

I talk about everything, I discuss everything, but I only support 🇧🇼Grêmio. 💻IT Manager, 🎮Gamer and 👽Jedi (or Sith, depending on the day).

0 comentário

Deixe um comentário

Avatar placeholder

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *