Existem 3 permissões especiais que estão disponíveis para ficheiros e directórios executáveis. Estes são :

1. SUID permissão
2. SGID permissão
3. Sticky bit

Set-user Identification (SUID)

Deixar que você já pensou, como um usuário não-root pode mudar sua própria senha quando ele não tem permissão de escrita no arquivo /etc/shadow. hmmm…. interessante, não é? Bem, para entender o truque de verificar a permissão do comando /usr/bin/passwd :

# ls -lrt /usr/bin/passwd-r-sr-sr-x 1 root sys 31396 Jan 20 2014 /usr/bin/passwd

– Se você verificar cuidadosamente, você encontrará os 2 S’s no campo de permissão. O primeiro S representa o SUID e o segundo o SGID.
– Quando um comando ou script com o conjunto de bits SUID é executado, seu UID efetivo torna-se o do dono do arquivo, ao invés do usuário que o está executando.
– Outro bom exemplo de SUID é o comando su :

# ls -l /bin/su -rwsr-xr-x-x 1 root user 16384 Jan 12 2014 /bin/su

– A permissão setuid exibida como um “s” no campo de execução do dono.

Como definir SUID em um arquivo?

# chmod 4555 

Nota :
Se aparecer um “S” maiúsculo no campo de execução do dono, indica que o bit setuid está ligado, e o bit de execução “x” para o dono do ficheiro está desligado ou negado.

Set-group identification (SGID)

SGID permission on execute file

– A permissão SGID é semelhante à permissão SUID, a única diferença é – quando o script ou comando com SGID on é executado, ele roda como se fosse um membro do mesmo grupo no qual o arquivo é membro.

# ls -l /usr/bin/write-r-xr-sr-x 1 root tty 11484 Jan 15 17:55 /usr/bin/write

– A permissão setgid é exibida como um “s” no campo execute do grupo.

Nota :
– Se uma letra minúscula “l” aparecer no campo execute do grupo, indica que o bit setgid está ligado, e o bit execute para o grupo está desligado ou negado.

– Como definir o GUID num ficheiro?

# chmod 2555 

SGID em um diretório

– Quando a permissão SGID é definida em um diretório, os arquivos criados no diretório pertencem ao grupo do qual o diretório é um membro.
– Por exemplo, se um usuário com permissão de escrita no diretório cria um arquivo lá, esse arquivo é um membro do mesmo grupo do diretório e não do grupo do usuário.
– Isto é muito útil na criação de diretórios compartilhados.

Como definir SGID em um diretório

# chmod g+s 

Sticky Bit

– O bit sticky é usado principalmente em diretórios compartilhados.
– É útil para diretórios compartilhados como /var/tmp e /tmp porque os usuários podem criar arquivos, ler e executar arquivos pertencentes a outros usuários, mas não podem remover arquivos pertencentes a outros usuários.
– Por exemplo, se o usuário bob criar um arquivo chamado /tmp/bob, outro usuário tom não pode excluir este arquivo mesmo quando o diretório /tmp tem permissão de 777. Se o sticky bit não estiver definido então o tom pode apagar /tmp/bob, pois o ficheiro /tmp/bob herda as permissões do directório pai.
– root user (Off course!) e o dono dos ficheiros pode remover os seus próprios ficheiros.

Exemplo de bit sticky :

# ls -ld /var/tmpdrwxrwxrwt 2 sys sys 512 Jan 26 11:02 /var/tmp

- T refers to when the execute permissions are off.- t refers to when the execute permissions are on.

Como definir a permissão do bit sticky?

# chmod +t or # chmod 1777 

Deixe uma resposta

O seu endereço de email não será publicado.