Na verdade, existem quatro conjuntos de atributos com os quais você pode trabalhar via chmod
.
Special
, User/Owner
, Group
e Others
nessa ordem, ao trabalhar com os chmods de quatro números, sendo que esse primeiro número é um bit especial que pode ser definido.
chmod 4555
é igual ao seguinte:
-
Set UID
bit - executa o arquivo como o proprietário, independentemente de qual usuário o está executando - Usuário / Proprietário:
Read, Execute
- Grupo:
Read, Execute
- Outros:
Read, Execute
A s
em sua string 'human readable' para permissões indica que o SetUID
bit (explicado abaixo) está definido.
Efetivamente, podemos dividir o argumento de quatro dígitos chmod
em descritores específicos da seguinte forma, e fazer as contas para determinar o que seria um 4
na primeira seção, um 5
na próxima seção e assim por diante.
Lembre-se de que ####
é Special
User/Owner
Group
e Others
nessa ordem.
Para atributos Special
(o primeiro número em um argumento de quatro números chmod
):
-
Set UID
- Executa o arquivo como proprietário, independentemente do usuário que o está executando (mostra comos
na cadeia de permissões legível paraUser
section) = +4 (--s
underUser/Owner
) -
Set GID
- Executa o arquivo como grupo, independentemente do usuário / grupo que o executa (mostra comos
na cadeia de permissões legível paraGroup
section) = +2 (--s
underGroup
) -
Sticky Bit
- EFETIVO NOS DIRETÓRIOS SOMENTE - Se definido, somente o usuário proprietário do diretório eroot
poderão excluir o diretório e somente o proprietário do arquivo ouroot
poderá excluir arquivos dentro dele. (mostra comot
na cadeia de permissões legível por humanos para a seçãoOthers
) = +1 (--t
underOthers
)
Para os atributos User/Owner
, Group
e Others
(os últimos três números em um argumento de quatro números chmod
):
-
Read
= +4 (r--
) -
Write
= +2 (-w-
) -
Execute
(para arquivos) ou 'Inserir em / listar itens' = +1 (--x
)