Permissões e propriedades de arquivos

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.

[ Hits: 106.070 ]

Por: Eduardo Vieira Mendes em 14/07/2008


Modificando proprietários e grupos



Nesta seção, irei apresentar os principais comandos utilizados para modificar e visualiza as propriedades e permissões de arquivos e diretórios.

chmod

Permite que se alterem as permissões e propriedades de um ou mais arquivos (change mode). É importante ressaltar que o usuário deve ter permissões para fazer as alterações (por exemplo: deve ser o usuário root, deve ser dono do arquivo, ou deve estar no grupo do arquivo, com permissão de escrita). Pode utilizar tanto a notação textual como a octal.

Principais opções:

chmod [ opções ] arquivo | diretório
-R Permite que se altere recursivamente as permissões de arquivos e diretórios.
--reference=arquivo Permite que um determinado arquivo seja modificado tomando como referência o arquivo especificado.


As tabelas a seguir facilitam a visualização das notações utilizadas pelo chmod.

Nível de Permissão
u Usuário ou dono do arquivo.
g Grupo do arquivo.
o Outros usuários que não são donos e não estão cadastrados no grupo.
a Afeta todos os anteriores (u, g, o).
Tipo de Permissão - Notação Textual
r Concede ou remove permissão de leitura.
w Concede ou remove permissão de escrita.
x Concede ou remove permissão de execução.
a Concede ou remove todas as permissões anteriores (all).
Tipo de Permissão - Notação Octal
4 Indica permissão de leitura.
2 Indica permissão de escrita.
1 Indica permissão de execução.
7 Indica todas as permissões.
0 indica sem permissão.
Operadores
+ Concede permissão(ões) especificada(s).
- Remove permissão(ões).
= Atribui somente esta(s) permissão(ões) ao arquivo, removendo a(s) que não sem encontra(m) explícita(s).


Exemplos:

1) chmod u+rw,g+x documento.txt - concede permissões de leitura e gravação ao dono, e execução ao grupo para o arquivo documento.txt. note que somente quem tem permissão pode executar este comando (root ou dono do arquivo).

2) chmod 610 documento.txt - define permissão de leitura e gravação ao dono (4+2 = rw), execução para o grupo (1=x), e nenhuma permissão para qualquer outro usuário (zero). Importante notar que difere do exemplo anterior, pois na notação textual as permissões podem ser "adicionadas" às atuais, enquanto que na notação octal, o comando define a permissão do arquivo.

3) chmod +x binário.sh - concede permissão de execução (+x) de binário.sh para todos os usuários do sistema (caso não seja especificado o usuário, a permissão é concedida/retirada de todos - equivalente ao parâmetro a+x.

4) chmod -reference=documento.txt documento2.txt - aplica as mesmas permissões de documento.txt para documento2.txt.

5) chmod -R ug=rw,o=r testes/ - concede permissão de leitura e gravação ao dono e ao grupo, e permissão de leitura a outros, para o diretório testes e todos os arquivos ou sub-diretórios contidos dentro dele.

6) chown - permite a alteração do dono e do grupo relacionado ao arquivo, ou arquivos selecionados. Um usuário comum pode alterar o grupo de um arquivo caso seja membro tanto do grupo de origem quanto do grupo de destino. Porém, por motivos de segurança, apenas o super-usuário (root) pode alterar o dono de um arquivo.

Principais opções:

chown [novo_proprietário][:novo_grupo] arquivo/diretório
-R Permite que se altere recursivamente o proprietário e o grupo do(s) arquivo(s).
--reference=arquivo O arquivo usará o grupo configurado para o arquivo especificado.


Exemplos:



Altera o grupo de arquivo.txt para eduardo. Note que se o usuário não tiver permissões suficientes, será mostrada uma mensagem de erro.



Altera o dono do arquivo arquivo2.txt para eduardo e o grupo para eduardo. Lembre-se que apenas o superusuário (root) pode realizar esta alteração.



Modifica o grupo do diretório dados/ e de todos o seu conteúdo para eduardo.

chgrp

Altera apenas o grupo para os arquivos ou diretórios indicados. Um usuário comum pode alterar o grupo de um arquivo caso ele pertença tanto ao grupo de origem como ao grupo de destino. O super-usuário (root) pode alterar o grupo do arquivo para qualquer grupo válido no sistema.

É equivalente ao comando "chown" somente com o parâmetro :grupo (ou seja, sem modificar o dono do arquivo, somente o grupo).

Principais opções:

chgrp [ opções ] arquivo(s)
-R Permite que se altere recursivamente a propriedade de grupo de diretórios e seu conteúdo.
--reference=arquivo Permite que o comando use o grupo configurado para "arquivo" para configurar outros grupos.
-c Descreve detalhadamente a ação para cada arquivo cuja propriedade de grupo está sendo alterada.
-f Força a mudança de grupo, sem relatório de erros.


Exemplos:

1) chgrp coisas texto1 texto 2 imagens/ - modifica o grupo associado aos arquivos texto1 texto2 e ao diretório imagens, associando-os ao grupo coisas. Note que o usuário deverá ter as permissões suficientes para esta modificação, caso contrário será mostrada uma mensagem de erro.

2) chgrp -R empregados comercial/ - modifica o grupo associado ao diretório comercial e todos os seus arquivos e sub-diretórios, associando-os ao grupo empregados.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Verificando permissões
   3. Modos Octal e Textual
   4. Modificando proprietários e grupos
   5. Permissões padrão (umask)
   6. Permissões em diretórios
   7. Permissões especiais
   8. Conclusão
Outros artigos deste autor

Prompt Bash avançado

Transforme seu Linux num Neo Geo

Redes PLC

Trabalhando com RPM

Shorewall - Firewall passo a passo no Linux

Leitura recomendada

Funcionamento de um cluster Linux: Parte II - A revanche

Princípios do APT-GET: Conheça esta fantástica ferramenta do Debian

Pós-instalação do Debian 9 para novatos

Concatenação, conexão e recursividade de comandos no GNU/Linux

Leia, grave e execute!

  
Comentários
[1] Comentário enviado por grandmaster em 14/07/2008 - 12:37h

Parabens pelo artigo, está muito bem explicado.

Vale a leitura para quem tem dificuldade em lidar com o esquema de permissões.

---
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[2] Comentário enviado por iz@bel em 14/07/2008 - 12:47h

Isso é que eu achamo de "Tutorial Completo"...
Já ta nos meus favoritos ;D
Parabéns!

[3] Comentário enviado por paulo.neto em 14/07/2008 - 13:19h

Este artigo é quase uma cópia fiel do capítulo de Administração de Sistemas da apostila do curso oficial da Mandriva.

[4] Comentário enviado por foguinho.peruca em 15/07/2008 - 11:00h

Olá!

Gostei do tutorial. Bem completo e didático. Parabéns. Nota 10!

Só uma coisinha:
deve ter passado pela equipe da moderação. Achei um errinho de português no texto:

"Por padrão, quando um usuário é criado, é criado um grupo com o mesmo dome de usuário. É possível visualizar estar informações com o comando "id"."

Onde "dome", acredito eu, seja "nome".

[]'s
Jeff

[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

[6] Comentário enviado por drc em 24/07/2008 - 15:10h

sou iniciante no mundo linux. Gostei muito pois está muito bem explicado.
Parabéns

[7] Comentário enviado por vodooo em 28/01/2009 - 08:33h

Obrigado a todos pelos elogios.

Abraços a todos.

[8] Comentário enviado por wos- em 22/02/2010 - 18:53h

excelente artigo, parabéns!
me ajudou bastante, agora é praticar


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts