Pular para o conteúdo

Permissões - referência rápida

Este breve guia tem por alvo a introdução a um tema vasto e a meu ver, de extrema importância, que é a manipulação de permissões de arquivos e diretórios em ambientes *nix. Tento apenas explicar e exemplificar as bases para manipulação de permissões via comando chmod, deixando ao leitor a responsabilidade de um maior aprofundamento no assunto.
RBA OMNQF rba
Hits: 32.127 Categoria: Linux Subcategoria: Sistema de Arquivos
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Sintaxe

Vale recordar que não estão contempladas aqui todas as variações do tema, apenas as mais correntes.

Tenha também em mente que podem ocorrer variações nas opções entre os diversos Unix/Linux.

Comando: chmod - altera a permissões de acesso aos arquivos

Sintaxe:

chmod [opções] modo arquivo... (formato padrão)
chmod [ugoa][+-=] rwxst arquivo... (formato padrão)
chmod modo arquivo... (formato octal)
chmod [0-7][0-7][0-7][0-7] arquivo... (formato octal)

Opções (formato padrão):
  • "u" - usuário (user) - Indica que a permissão será aplicada a nível do usuário.
  • "g" - grupo (group) - Indica que a permissão será aplicada a nível do grupo.
  • "o" - outros (other) - Indica que a permissão será aplicada a nível de outros.
  • "a" - todos (all) - Indica que a permissão será aplicada em todos os níveis.
  • "+" - Acrescenta permissões.
  • "-" - Retira permissões.
  • "=" - Troca permissões.

Modo (formato padrão):
  • "r" - read (leitura): Quando aplicada a um arquivo, permite a leitura do mesmo. Quando aplicada a um diretório, permite listar o conteúdo do mesmo.
  • "w" - write (escrita): Quando aplicada a um arquivo, permite a alteração/gravação de conteúdo do mesmo. Quando aplicada a um diretório, permite criar/gravar/alterar o seu conteúdo.
  • "x" - execute (execução): Quando aplicada a um arquivo, permite que o mesmo seja executado. Quando aplicada a um diretório, permite que este seja acessado.
  • "s" - set user/group id (seleciona identificação de usuário/grupo durante a execução): Quando aplicada a um arquivo, permite que, em tempo de execução, o executor do arquivo passe a ter os mesmos privilégios que o usuário/grupo donos do mesmo.
  • "t" - stick bit (bit contrário): Quando aplicada a um diretório, restringe a ação de alterar seu conteúdo ao dono do diretório e ao criador do conteúdo.

Modo (formato octal):

Neste caso as permissões serão aplicadas utilizando-se o sistema numérico de base 8 (octal), onde teremos:
  • 1ª posição: Chaveamento para as permissões especiais "set user/group id (suid/sgid)" e "stick bit".
  • 2ª posição: Chaveamento para as permissões a nível de usuário.
  • 3ª posição: Chaveamento para as permissões a nível de grupo.
  • 4ª posição: Chaveamento para as permissões a nível de outros.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Sintaxe
   2. Mapeamento de permissões em um diretório
   3. Mapeamento de permissões em um arquivo
Nenhum artigo encontrado.

Expandindo partição em LVM

Montando partições para outros usuários acessar

Usando Sistema de Arquivos BTRFS - Subvolumes, Snapshots e Compactação

Montando HD, Pendrive ou Pasta de Rede para Gravações de Ligações do Elastix e Módulo de Call Center

RAID, tudo que você precisa saber

#1 Comentário enviado por anselmoborges em 27/04/2007 - 01:14h
boa boa....
to estudando isso pro LPI101 mais eh sempre bom dah uma reforçada...

___abraçonn
#2 Comentário enviado por sergelli em 12/08/2007 - 20:25h
Bem escrito e objetivo.
Seria ótimo se informasse como criar arquivos e diretórios com as permissões diferentes da default, sem alterar o /etc/profiles.
Está dificil achar info sobre isso na Internet inteira!
#3 Comentário enviado por rba em 21/08/2007 - 22:00h
Não me ocorre nada para criar arquivos com as pemissões diferentes do padrão, porém, para criar diretórios com permissões diferentes do padrão, você utiliza a opção "-m" com o mkdir.

Utiliza-se a notação octal do chmod, algo como:

mkdir -m 1755 /home/rba/tmp

Isso resultaria na criação de um diretório tmp com o stick bit ligado.
#4 Comentário enviado por GilsonDeElt em 08/09/2011 - 14:23h
Curti muito seu artigo, cara!

Sobre o que você disse de idéias para isso, criando arquivos com permissões
diferentes do padrão, eu tenho uma idéia:

- Um programa de seu usuário deve gerar um log, e você quer/precisa que esse log seja gerado em diversos arquivos,
separados por data, em nome dele.
Precisa também que o usuário não possa acessar a pasta.

Daí, você pode criar os arquivos com "chmod 4222 arquivo", onde "222" só dá permissão de escrita para todos, mas só com o root você conseguiria ler os arquivos.

Ou então, cria os arquivos normalmente, mas dentro de uma pasta que o usuário não tenha permissão de leitura: "chmod 0333 minha-pasta".

Valeu!

Contribuir com comentário

Entre na sua conta para comentar.