Pular para o conteúdo

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.
José Lopes forkd
Hits: 178.707 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

Parte 8: 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.

   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

Usando temas aleatórios no GDM

Compilação comentada do kernel

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

Esquemas de particionamento e sistemas de arquivos

Instalação e configuração do J2SE

Implementando um Servidor Web Java com Tomcat no Debian

Empacotamento e compactadores de arquivos

TinyCore Linux - Introdução e Instalação

Gentoo binário ao lado da sua distro atual

AlmaLinux - Sua Alternativa ao CentOS

#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

Entre na sua conta para comentar.