chmod [ugoa][+-=][rwxugost] arquivo...
Cada arquivo/diretório do sistema está alocado a um usuário (dono) e a um grupo. Isto significa que um arquivo está associado a um UID e a um GID. O UID e o GID são inicialmente herdados do usuário que cria o arquivo. Entretanto, é possível modificar o dono e o grupo de um arquivo que já existe.
O dono de um arquivo (ou de um diretório) pode definir quem tem acesso ao arquivo e qual tipo de acesso é permitido (leitura, gravação e/ou execução). Isto é chamado de permissão de acesso. O root é o único usuário do sistema que tem acesso a todos os arquivos e diretórios de todos os usuários.
São opções deste comando |
A combinação das letras ugoa no comando chmod define quais os usuários estão tendo as suas permissões de acesso alteradas:
Caso não seja especificada a classe dos usuários para os quais se está alterando as permissões, o sistema usa a opção a (todos os usuários).
Deve-se usar, no comando chmod, um operador para especificar o tipo de modificação que se está fazendo nas permissões:
A combinação das letras rwxst no comando chmod especifica as permissões de acesso:
Comentários sobre as opções do comando |
Por exemplo, o comando
chmod ug+rw teste.txt
define que o arquivo teste.txt pode ser lido (r) e alterado (w) pelo dono (u) e pelos usuários que são membros do mesmo grupo (g) do arquivo teste.txt.
Modo Octal |
É possível também utilizar o modo octal para alterar as permissões de acesso a um arquivo. Abaixo mostramos a lista das permissões de acesso no modo octal.
Valor Octal | Valor Binário rwx |
Significado |
0 | 000 | nenhuma permissão de acesso |
1 | 001 | permissão de execução (x) |
2 | 010 | permissão de gravação (w) |
3 | 011 | permissão de gravação e execução(wx) |
4 | 100 | permissão de leitura (r) |
5 | 101 | permissão de leitura e execução (rx) |
6 | 110 | permissão de leitura e gravação (rw) |
7 | 111 | permissão de leitura, gravação e execução (rwx) |
Um exemplo do comando chmod usando a tabela acima é
chmod 764 teste.txt
Neste exemplo temos permissão de leitura, gravação e execução (7) para o dono do arquivo teste.txt, temos permissão para leitura e gravação (6) para os membros do grupo do arquivo e permissão de apenas leitura (4) para os outros usuários do sistema.
Os números octais são interpretados da direita para a esquerda, portanto o comando
chmod 64 teste.txt
define permissão de leitura (4) para os outros usuários do sistema e permissão de leitura e gravação (6) para os usuários do mesmo grupo do arquivo teste.txt.
Podemos também usar o modo octal para definir as permissões especiais.
Valor Octal | Valor Binário ugo |
Significado |
0 | 000 | nenhuma permissão especial |
1 | 001 | sticky bit |
2 | 010 | SGID |
3 | 011 | SGID e sticky bit |
4 | 100 | SUID |
5 | 101 | SUID e sticky bit |
6 | 110 | SUID e SGID |
7 | 111 | SUID, SGID e sticky bit |
No comando chmod, as permissões especiais, no modo octal, são definidas antes das permissões do dono, do grupo e do resto dos usuários. Por exemplo,
chmod 4760 teste.txt
define que o arquivo teste.txt é um arquivo SUID (4) com permissões 7, 6 e 0 para o dono, para os membros do grupo e para o resto dos usuários do sistema, respectivamente.