Neste artigo falarei sobre como distinguir níveis e tipos de permissão em arquivos e diretórios, utilizar os comando chmod e chown para modificar propriedades e permissões, distinguir os modos octal e textual para os parâmetros dos comandos de mudança de permissões, entender o que é máscara de um arquivo e como modificá-la, entender e utilizar permissões especiais, como stick bit e suid bit.
Existem algumas permissões especiais de arquivos/diretórios que oferecem funcionalidades além das simples permissões de acesso. Os mais importantes cenários de utilização estão a seguir.
SUID
O bit SUID é utilizado em arquivos executáveis quando se deseja que o programa seja executado com os privilégios de seu usuário dono.
Isso é útil em situações onde um programa precise acessar determinado recurso, mas os usuários que o utilizam não o possam fazer diretamente.
Embora a utilidade do bit SUID seja questionável, seu uso deve ser feito com muito cuidado, pois um problema em sua configuração pode ter conseqüências sérias de segurança (especialmente se o SUID for para o usuário root).
O bit SUID é representado textualmente por u+s. Por exemplo: $ chmod u+s arquivo_executável.
Em octal é o número 4, mas utilizado antes das permissões de dono/grupo/outros. Exemplo:
$ chmod 4755 arquivo_executável
SGID
O bit SGID tem a mesma função do bit SUID, mas é aplicado ao grupo, ou seja, o programa é executado com os privilégios do grupo a que pertence.
A representação textual do bit SGID é g+s; em forma octal é utilizado o número2, também utilizado antes das permissões de dono/grupo/outros. Exemplos:
$ chmod g+s arquivo_executável
e $ chmod 2755 arquivo_executável
O bit SGID também pode ser utilizado em diretórios. Nesse caso, todos os arquivos criados dentro deste terão como grupo dono o mesmo grupo a que o diretório pertence.
Stick Bit
O stick bit é utilizado em diretórios compartilhados entre vários usuários, em combinação com permissões de escrita para estes, onde seja desejável que usuários não acessem os arquivos por outros criados.
Em outras palavras, um diretório com stick bit ativado permite que qualquer usuário crie arquivos, mas os outros usuários não poderão removê-los. Um exemplo do uso do stick bit é o diretório /tmp.
A representação textual do stick bit é através do +t e em formato octal é através do número 1, antes das permissões de dono/grupo/outros. Exemplos genéricos:
$ chmod +t diretório_compartilhado
e $ chmod 1777 diretório_compartilhado
[5] Comentário enviado por pink em 15/07/2008 - 13:59h
Caro Eduardo/vodooo, parabéns pelo ótimo artigo! 10.
Muito didático, eu já conhecia o conceito das permissões, mas a forma como você descreveu está impecável, você teve uma simplicidade ao explicar um tema tão pouco discutido, para um leigo este esclarecimento é muito importante....
Parabéns novamente, obrigada pela contribuição.
Fique com Deus,
Michele