Movatterモバイル変換


[0]ホーム

URL:


Ir para o conteúdo
Wikipédia
Busca

chmod

Origem: Wikipédia, a enciclopédia livre.
Capture de tela do comando chmod

Emsistemas operacionais dotipo Unix, ochmod (abreviação dechangemode, em português:alterar modo) é o comando e achamada de sistema que pode alterarpermissões de acesso de objetos do sistema (arquivos ediretórios) e sinalizações (flags) demodo especial. A requisição é filtrada peloumask.[1]

História

[editar |editar código]

Um comando chmod apareceu pela primeira vez na versão 1 doUnix daAT&T.

À medida que os sistemas cresciam em número e tipos de usuários, listas de controle de acesso eram adicionadas a muitos sistemas de arquivos, além desses modos mais básicos para aumentar a flexibilidade.

Sintaxe do comando

[editar |editar código]
$chmod[opções]modo[,modo]arquivo1[arquivo2...]

Opções implementadas frequentemente incluem:

  • -R recursive, isto é, inclui objetos e subdiretórios
  • -f force, segue em frente com todos os objetos, mesmo que ocorram erros
  • -v verbose, exibe todos os objetos processados

Se umaligação simbólica for especificada, o objeto alvo é afetado. Os modos de arquivo diretamente associados às ligações simbólicas em si normalmente nunca são usados.

Para visualizar o modo do arquivo, os comandosls oustat podem ser usados:

$ls-lencontrarNumerosDeTelefone.sh-rwxr-xr--  1 tneves  equipe  823 Dec 16 15:03 encontrarNumerosDeTelefone.sh$stat-c%aencontrarNumerosDeTelefone.sh754

O r, w e x especificam o acesso de leitura, gravação e execução, respectivamente. O primeiro caractere da exibição dols indica o tipo de objeto. Umhífen representa um arquivo simples. Esse script pode ser lido, gravado e executado pelo proprietário, lido e executado por outros membros do grupo da equipe e também pode ser lido por outras pessoas.

Modo octal

[editar |editar código]
Ver também:Permissões de sistema de arquivos eSistema octal

Umoctal é um número escrito sob a base 8, ou seja, usa 8 símbolos diferentes para ser representado, geralmente, osalgarismos arábicos de 0 a 7. O chmod usa um númerooctal de 3 algarismos comoparâmetro para realizar sua função.

Por meio do exemplo a seguir, pode-se identificar as partes principais das permissões chmod.

Exemplo: drwxrwx---

À direita do "d":

  • Os três caracteres da esquerdarwx definem permissões do PROPRIETÁRIO.
  • Os três caracteres do meiorwx definem permissões do GRUPO.
  • Os três caracteres da direita--- definem permissões de TODOS OS OUTROS. Neste exemplo, TODOS OS OUTROS não possuem permissões.

Permissões numéricas

[editar |editar código]

O formato numérico do chmod aceita até quatro dígitos octais. Os três dígitos mais à esquerda referem-se às permissões para o proprietário, grupo e outros usuários do arquivo, respectivamente. O primeiro dígito opcional, quando são fornecidos 4 dígitos, especifica os sinalizadores (flags) especiaissetuid,setgid esticky.

Cada dígito dos três dígitos mais à direita representa um valor binário, cujos bits controlam a leitura, gravação e execução, respectivamente, onde 1 significa permitir e 0 significa não. Isso é semelhante à notação octal, mas representada em números decimais.

#PermissãorwxBinário
7leitura, escrita e execuçãorwx111
6leitura e escritarw-110
5leitura e execuçãor-x101
4apenas leiturar--100
3escrita e execução-wx011
2apenas escrita-w-010
1apenas execução--x001
0nenhum---000

Cada grupo de 3 algarismos binários representa um dos níveis entre usuário (u), grupo (g) e outros (o), e cada um dos 3 algarismos oubits de cada grupo representa um tipo de permissão entre leitura (r), do Inglês 'read', gravação (w), do Inglês 'write' e execução (x), do Inglês 'execute', onde um '1' indica permissão cedida e um '0', permissão negada.

Por exemplo, 754 permitiria:

  • ler, escrever e executar para o PROPRIETÁRIO, uma vez que o valor binário de 7 é 111, significando que todos os bits estão ativados;
  • ler e executar para o GRUPO, uma vez que o valor binário de 5 é 101, significando que leitura e execução estão ativados, porém escrita está desativado;
  • apenas ler para TODOS OS OUTROS, uma vez que o valor binário de 4 é 100, significando que apenas o bit de leitura está ativado.

Exemplos de permissões numéricas

[editar |editar código]
$chmod750arquivo.txt

No exemplo o número 750 está escrito na forma octal. Sua forma binária seria 111101000. O 7 é a forma octal do binário '111' e representa todas as permissões (leitura, escrita e execução) para o proprietário (user) do arquivo 'arquivo.txt'. O 5 é a forma octal do binário 101 e representa as permissões de leitura e execução para o grupo, e por fim, 0 representa a negação de todas as permissões para outros.

    Nível  u   g   oPermissão rwx r-x ---  Binário 111 101 000    Octal  7   5   0
Paraarquivos(-)rwx0000(zero)permissãonegada0011permissãodeexecução0102permissãodegravação0113permissãodegravaçãoeexecução1004permissãodeleitura1015permissãodeleituraeexecução1106permissãodeleituraegravação1117somadetodasaspermissões
Paradiretórios(d)rwx0000(zero)permissãonegada0011permissãoparaentrarnodiretório0102permissãoparagravardentrododiretório0113permissãodeentraregravarnodiretório1004permissãoparalistaroconteúdododiretório1015permissãodelistareentrarnodiretório1106permissãodelistaregravarnodiretório1117somadetodasaspermissões

Há uma maneira prática de converter números binários para octais. Basta somar os valores relativos dos algarismos. Exemplo: sabendo que os valores absolutos de cada algarismo em 111 são respectivamente 4, 2 e 1, somados dão o resultado 7. Já em 000, dão o resultado 0.

Modos simbólicos

[editar |editar código]

É possível e mais humano prescindir do modo octal. Quando a modificação se fizer sobre o grupo, por exemplo, faremos assim para adicionar a permissão de escrita:

$chmodg+warquivo.txt

Dessa forma o grupo a que pertence este arquivo passa a ter permissão de gravação no mesmo. É possível mudar várias permissões para o mesmo ficheiro. Por exemplo:

$chmodo+rwenvel.ficheiro

Atribui a outros, de uma vez, as permissões de leitura e escrita sobre o ficheiro envel.ficheiro. De forma semelhante é possível mudar permissões de uma só vez para diversas classes de utilizador:

$chmodugo-rwxenvel.ficheiro

Retira todas as permissões, a todas as classes de utilizador, relativamente ao ficheiro envel.ficheiro.

Modos especiais

[editar |editar código]
Ver também:Permissões de sistema de arquivos

O comandochmod também é capaz de alterar as permissões adicionais ou modos especiais de um arquivo ou diretório. Os modos simbólicos usam 's' para representar os modossetuid esetgid, e 't' para representar o modosticky. Os modos são aplicados apenas às classes apropriadas, independentemente se outras classes são ou não especificadas.

A maioria dos sistemas operacionais suportam a especificação de modos especiais usando modos octais, mas alguns não. Nesses sistemas, apenas os modos simbólicos podem ser usados.

Opções

[editar |editar código]

Algumas opções extras estão disponíveis para o chmod se adicionarmos os seguintes parâmetros

-c, --changes             igual verbose, mas reporta apenas quando uma mudança é feita    --no-preserve-root    não trata '/' especialmente (padrão)    --preserve-root       falha ao operar recursivamente em '/'-f, --silent, --quiet     suprimir a maior parte das mensagens de erro-v, --verbose             mostrar um diagnóstico para cada arquivo processado    --reference=ARQR      usa modo do arquivo ARQR em vez dos valores de MODO-R, --recursive           muda arquivos e diretórios recursivamente    --help                exibe esta ajuda e sai    --version             mostra informação de versão e sai

As permissões em vigor podem ser conhecidas com o comandols. Ex:

$ls-l

Outros comandos relacionados com o chmod sãochown, que muda o dono de arquivos e pastas (ficheiros), echgrp, que muda o grupo a que pertence o ficheiro.

Referências

  1. «Quick Reference: Unix Commands» (em inglês). University of Washington. Consultado em 15 de Setembro de 2018 

Ligações externas

[editar |editar código]
Arquivos
Processos e tarefas
Ambiente e usuários
Processamento de texto
Shell
Redes e comunicação
Busca
Documentação
Miscelâneas
Comandos geralmente implementados no interpretador.
Comando geralmente implementados, tanto como executáveis, como quanto no interpretador.
Obtida de "https://pt.wikipedia.org/w/index.php?title=Chmod&oldid=68744584"
Categorias:
Categoria oculta:

[8]ページ先頭

©2009-2026 Movatter.jp