Permissões no Linux

Este artigo traz uma abordagem bastante completa sobre o sistema de permissões no Linux. Ele ensina, desde a teoria por trás das permissões, até os comandos usados para se manipulá-las. Tudo bastante ilustrado e exemplificado.

[ Hits: 175.248 ]

Por: José Lopes em 19/05/2006 | Blog: https://lopes.id


Comandos de manipulação de permissões



Introdução


Serão apresentados aqui os principais comandos de manipulação de permissões. Para o bom entendimento deles, é necessário que o leitor conheça bem a teoria que foi explicada até aqui e que pratique cada um dos comandos. Uma última observação que deve ser feita antes de se começar, é que somente o dono do arquivo pode manipular suas permissões.

Toda esta seção foi baseada em [Ferreira (2003)].

CHMOD


Altera as permissões de acesso a arquivos.

Uso:
chmod [opções] <modo_arquivo> <arquivo>

OpçãoDescrição
-cMostra informações sobre os arquivos modificados.
-fNão imprime mensagens de erro.
-RRecursivo. Muda o modo de acesso de todos os arquivos e subdiretórios abaixo do especificado.
-vDescreve, detalhadamente, as alterações de atributos.
<modo_arquivo>Pode ser simbólico ou absoluto.


Modo simbólico:
É uma lista de expressões na forma <identificador><operando><valor>, separadas por vírgula.

...<identificador>
u  Usuário
g  Grupo
o  Outros
a  Todos (all).

...<Operando>
+  Adiciona permissões às existentes.
-  Retira a permissão das existentes.
=  Assinala, explicitamente, uma permissão (anulando as outras).

...<Valor> - Veja as tabelas 01 e 02.
r  Permissão para leitura.
w  Permissão para escrita.
x  Permissão para execução.
s  Bit setuid, se atribuído a 'u'; bit setgid, se atribuído a 'g'.
t  Bit sticky.

..Modo absoluto
É definido na forma <atributo_especial><dono><grupo><outros>, onde o <atributo_especial> é opcional -caso seja omitido, assume-se o valor 0 (zero) como padrão-. Veja as tabelas 01 e 02.

...<atributo_especial>
0  Nenhum atributo ligado.
1  Bit sticky ligado.
2  Bit setgid ligado.
3  Bits sticky e setgid ligados.
4  Bit setuid ligado.
5  Bits setuid e sticky ligados.
6  Bits setuid e setgid ligados.
7  Bits setuid, setgid e sticky ligados.

...<dono><grupo><outros>
0  Nenhuma permissão.
1  Permissão para execução.
2  Permissão para escrita.
3  Permissão para escrita e execução.
4  Permissão para leitura.
5  Permissão para leitura e execução.
6  Permissão para leitura e escrita.
7  Permissão para leitura, execução e escrita.

Exemplos


$ chmod u+x letra.txt

Adiciona permissão de execução pelo dono ao arquivo.

$ chmod u+wx,g-w,o=r letra.txt

Adiciona permissão de escrita e execução para o dono, retira permissão de escrita para o grupo e, para os outros usuários permite apenas leitura.

$ chmod 750 slackcfg.sh

Permissão de leitura, escrita e execução para o dono, leitura e execução para o grupo e nenhuma permissão aos outros usuários.

$ chmod 0750 slackcfg.sh

Equivalente ao anterior.

$ chmod 1777 /home/share

Liga o bit sticky do diretório e dá permissão de leitura, escrita e execução para todos os usuários.

CHOWN


Muda o dono de um arquivo.

Uso:
chown [opções] <novo_dono[.novo_grupo]> <arquivo>

OpçãoDescrição
-cExibe informações sobre os arquivos modificados.
-f Não imprime mensagens de erro.
-R Recursivo. Muda o grupo de todos os arquivos e subdiretórios abaixo do especificado.
-v Descreve, detalhadamente, as alterações de atributos.


Exemplos


$ chown kurt letra.txt

Muda apenas do dono do arquivo.

$ chown kurt.musicos letra.txt

Muda o dono e o grupo do arquivo.

CHGRP


Muda o grupo de um arquivo.

Uso:
chgrp [opções] <novo_grupo> <arquivo>

OpçãoDescrição
-cExibe informações sobre os arquivos modificados.
-fNão imprime mensagens de erro.
-RRecursivo. Muda o grupo de todos os arquivos e subdiretórios abaixo do especificado.
-vDescreve, detalhadamente, as alterações de atributos.


Exemplos


$ chgrp musicos letras

Muda o grupo do arquivo letras para musicos.

UMASK


Altera o valor da máscara de criação de arquivos. Os valores do umask são baseados no valor 666 (não, não tem a ver com o número da besta!), isto é, a saída e a entrada do comando umask são subtraídas deste valor. A máscara-padrão de criação de arquivos no Unix é 022, o que significa que a permissão de criação e acesso dos arquivos é 666-022=644 (rw-r--r--); isto implica que o usuário tem o direito de ler e escrever e os membros do grupo do dono e os outros usuários têm apenas o direito de ler o arquivo.

Normalmente o umask é definido no arquivo /etc/profile.

Uso:
umask [máscara]

Exemplos


$ umask 022

A permissão é 666-022=644. O usuário pode ler e escrever; o grupo e outros usuários podem somente ler.

$ umask 002

A permissão é 666-002=664. O usuário e o grupo podem ler e escrever; outros usuários podem apenas ler.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Bits de atributo
   3. Bits de proteção
   4. Notações
   5. Tipos de arquivo
   6. Checando as permissões de arquivos
   7. Exemplos
   8. Comandos de manipulação de permissões
   9. Conclusão
Outros artigos deste autor

Instalação e configuração do MySQL 4.0.26, Apache 2.0.54, PHP 5.0.4 e PHP-Nuke 7.8 no Slackware 10.1

Instalação e configuração do J2SE

Configuração manual dos ponteiros do mouse

Compilação comentada do kernel

Esquemas de particionamento e sistemas de arquivos

Leitura recomendada

Uma introdução ao shell (parte 1)

Data, hora e timezone em sistemas GNU-Linux

Trabalhando dentro de outro Linux (que não o de Boot) do Disco Rígido - Método para iniciantes

Linux pode ser usado por todo mundo! Escolhendo o seu primeiro Linux. Duas Filosofias fundamentais

Instalando o Kurumin 7 e outros em um pendrive

  
Comentários
[1] Comentário enviado por fernoliv em 19/05/2006 - 13:57h

Ótimo artigo José!

Parabéns pela iniciativa e nível de detalhamento! Muito esclarecedor e rico em conteúdo.

Abraço, Fernando.

[2] Comentário enviado por thelinux em 19/05/2006 - 14:17h

Jose, nota 10 para você!!!

[3] Comentário enviado por eisen em 19/05/2006 - 15:32h

Ótimo artigo, muitissimo bem explicado!!Agora consegui compreender de vez o sistema de permissões!!Valew mesmo cara!!
Nota 10!!
Um forte abraço!!

[4] Comentário enviado por mesnitu em 19/05/2006 - 17:00h

Excelente.
Nota 10

[5] Comentário enviado por JuNiOx em 19/05/2006 - 18:01h

Parabéns, bem completo mesmo.
Ótimo artigo pra iniciantes que se perdem em permissões.

[6] Comentário enviado por humbhenri em 19/05/2006 - 18:30h

Gostei, prático e completo. Parabéns.

[7] Comentário enviado por pierry em 20/05/2006 - 00:20h

Bom artigo.

[8] Comentário enviado por PCMasterPB em 20/05/2006 - 18:30h

Artigo muito bem escrito. Parabéns. Té mais. ;D

[9] Comentário enviado por allanhc em 21/05/2006 - 15:45h

Excelente, parabéns.
Muito bem explicado, sem complicações nas partes tecnicas sem deixar de ser preciso.

[10] Comentário enviado por hugobcar em 22/05/2006 - 08:21h

No coments.
Nota 10 !!!

[11] Comentário enviado por dedraks em 09/06/2006 - 01:01h

Excelente artigo.
Parabéns.

[12] Comentário enviado por gsi.vinicius em 19/07/2006 - 11:06h

muito bom o artigo, parábens

[13] Comentário enviado por removido em 13/10/2006 - 09:38h

Parabéns, jlojunior...

Excelente artigo e indispensável.

:::... Viva o Linux ...:::

[14] Comentário enviado por hnrm em 23/07/2008 - 09:21h

Muito bom seu artigo, paranbéns.

[15] Comentário enviado por macedocarvalho em 27/11/2011 - 09:25h

Ajudou muito pra eu que estou começando. Obrigado

[16] Comentário enviado por striker_rafael em 15/01/2013 - 11:41h

Artigo antigo, porém, sobre um assunto que está sempre bombando no mundo Linux..
Parabéns cara, ficou muito bom mesmo o artigo..


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts