logo

Comando Chmod em Linux/Unix com exemplos

O comando chmod do Linux é usado para alterar as permissões de acesso de arquivos e diretórios. Ele significa modo de mudança . Não é possível alterar a permissão de links simbólicos. Mesmo assim, ele ignora os links simbólicos encontrados na travessia recursiva de diretórios.

No Linux sistema de arquivos, cada arquivo está associado a um proprietário específico e tem permissão de acesso para diferentes usuários. As classes de usuário podem ser:

  • proprietário
  • membro do grupo
  • Outros (todos os outros)

As permissões de arquivo no Linux são dos três tipos a seguir:

  • leia (r)
  • escreva (o)
  • executar (x)

Breve História do Chmod

Primeiro, o comando chmod é representado no AT&T UNIX versão 1 com a chamada de sistema chmod. As listas de controle de acesso foram incluídas em vários sistemas de arquivos em adição a esses modos mais comuns para aumentar a flexibilidade porque os sistemas cresceram em tipos e em número de usuários.

A versão chmod organizada em GNU coreutils foi especificada por Jim Meyering e David MacKenzie. Este comando está presente como um pacote isolado para Microsoft Windows como um elemento da coleção de portas Win32 nativas do UnxUtils de utilitários básicos do tipo GNU Unix. Além disso, o comando chmod foi enviado para o sistema operacional IBM i.

Vamos ver como alterar a permissão do arquivo usando o comando chmod.

Sintaxe:

mínimo máximo

A sintaxe básica do comando chmod é a seguinte:

 chmod 

As opções geralmente implementadas são:

    -R:Significa recursivo, ou seja, adicionar objetos a subdiretórios.-EM:Significa objetos de exibição detalhados modificados (objetos não modificados não são exibidos).

O objeto alvo é influenciado se um link simbólico for mencionado. Os modos de arquivo relacionados diretamente aos próprios links simbólicos não são usados ​​normalmente.

O componente principal da permissão chmod:

Por exemplo, rwxr-x---

Todos os grupos de três caracteres especificam permissões para todas as classes:

    rwx:Os três caracteres mais à esquerda especificam permissões para o proprietário do arquivo (ou seja, a classe User).r-x:Os três caracteres do meio especificam permissões para o grupo proprietário do arquivo (ou seja, a classe Group).---:Os três caracteres mais à direita especificam permissões para a classe Other. Os usuários que não são os proprietários do arquivo e os membros do grupo não podem acessar o arquivo.

Opções:

tipo de em java

O comando chmod oferece suporte às seguintes opções de linha de comando:

-c, --mudanças: É semelhante à opção detalhada, mas a diferença é que ela é informada se alguma alteração for feita.

-f, --silent, --quiet: É usado para suprimir as mensagens de erro.

-v, --verbose: É usado para exibir um diagnóstico para cada arquivo processado.

--no-preserve-root: É utilizado para não tratar o símbolo de barra invertida ('/'), principalmente (o padrão).

--preserve-root: Se esta opção for usada, ela não funcionará recursivamente na barra invertida ('/').

--referência=RFILE: É usado para especificar o modo do RFILE alternativamente os valores MODE.

-R, --recursivo: É usado para alterar arquivos e diretórios recursivamente.

--ajuda: É utilizado para exibir o manual de ajuda com uma breve descrição das opções de uso e suporte.

--versão: É usado para exibir as informações da versão.

Sintaxe de permissão de arquivo

Se você for um novo usuário, poderá ficar confuso com os diferentes tipos de letras usadas para definir a permissão do arquivo. Portanto, antes de prosseguir com o comando chmod, vamos entender a sintaxe de permissão de arquivo.

Para definir a permissão de um arquivo ou diretório, temos que especificar o seguinte:

  • Quem: Quem somos. (do utilizador)
  • O quê: Que alterações faremos (como adicionar ou remover a permissão)?
  • Qual: Qual das permissões?

A declaração de permissão é representada em indicadores como u+x, u-x. Onde 'u' significa 'usuário', '+' significa adicionar, '-' significa remover, 'x' significa executável (qual).

o que é alto-falante

O valor do usuário pode ser:

você: o dono do arquivo

g: membro do grupo

ó: outros

um: todos

Os tipos de permissão podem ser r, w e x.

Configurando e atualizando as permissões

Para definir a permissão de um arquivo, execute uma instrução de permissão com o comando chmod. Por exemplo, queremos definir a permissão de leitura e gravação para todos os usuários e grupos do arquivo 'Demo.txt'. Temos que passar a declaração de permissão 'u=rw,go=rw Demo.txt' com o comando chmod. Para exibir a permissão do arquivo, execute o comando abaixo:

 ls -l Demo.txt 

O comando acima exibirá a permissão de arquivo atual do arquivo 'Demo.txt'.

Para alterar a permissão, execute o comando abaixo:

 chmod u=rw,go=rw Demo.txt 

Considere a saída abaixo:

Comando chmod do Linux

A partir da saída acima, a permissão de acesso de 'Demo.txt' foi alterada.

Configurando permissões para vários arquivos

Podemos definir permissão para vários arquivos de uma vez usando o comando chmod. Para alterar a permissão de vários arquivos, especifique o padrão de arquivo com o comando chmod. Por exemplo, se quisermos definir permissão de leitura e gravação para todos os arquivos de texto, especifique o *. padrão txt com comando chmod.

Para visualizar a permissão de todos os arquivos de texto do diretório de trabalho atual, execute o comando abaixo:

 ls -l *.txt 

Ele listará todos os arquivos de texto com seu modo de permissão. Considere a saída abaixo:

Comando chmod do Linux

A partir da saída acima, muitos arquivos têm permissão de leitura apenas para outros usuários.

Para definir a permissão de leitura e gravação para outros usuários, execute o comando abaixo:

 chmod o+w *.txt 

Ele definirá a permissão de leitura e gravação para outros usuários dos arquivos de texto. Considere a saída abaixo:

Comando chmod do Linux

Taquigrafia Numérica

Podemos usar valores numéricos em vez de letras para especificar as permissões. Um valor de três dígitos é usado para especificar a permissão. O dígito mais à esquerda representa o proprietário (u) e o dígito do meio representa os membros do grupo (g). O dígito mais à direita representa os demais (o).

A tabela a seguir representa os dígitos e suas permissões:

Dígitos Permissões
000 Sem permissão
001 Permissão de execução
010 Permissão de gravação
011 Permissões de gravação e execução
100 Permissão de leitura
101 Permissões de leitura e execução
110 Permissões de leitura e gravação
111 Permissões de leitura, gravação e execução

Modos simbólicos

Além disso, o comando chmod aceita a notação simbólica mais refinada, que permite alterar modos específicos. O modo simbólico consiste em três elementos, que são mesclados para formar uma única sequência de texto:

 $ chmod [references] [operator] [modes] file... 

O programa chmod aplica um operador para definir como os modos de arquivo devem ser organizados. Os operadores abaixo são aprovados:

Operador Descrição
+ Ele adiciona o descrito às classes descritas.
- Remove o modo descrito das classes descritas.
= Representa que os modos descritos devem ser criados os mesmos modos para as classes descritas.

Os modos representam quais permissões serão removidas ou concedidas das classes descritas. Existem principalmente três modos comuns relacionados às permissões comuns:

Nome Modo Descrição
ler R Ele lê um arquivo ou lista o conteúdo de um diretório.
escrever Em Ele grava em um diretório ou arquivo.
executar x Ele recorre a uma árvore de diretórios ou executa um arquivo.
execução especial X Não é permissão, mas pode ser usado em vez de x. Ele usa as permissões de execução para diretórios, apesar de suas permissões atuais, e usa as permissões de execução para um arquivo que possui pelo menos um bit de permissões de execução definido. É útil se usado com o operador '+' e sem definir a permissão de execução, o que aconteceria se usássemos apenas chmod -R a+rx ., enquanto podemos implementar chmod -R a+rx . com x em vez disso.

Múltiplas modificações podem ser descritas isolando vários modos simbólicos junto com vírgulas. O comando chmod inspecionará o umask se um usuário não for especificado.

Modos especiais

Além disso, o comando chmod pode alterar os modos especiais e permissões extras de um diretório ou arquivo. Os modos simbólicos aplicam 's' para indicar os modos setgid e setuid e 't' para indicar o modo fixo. Um modo é usado apenas para as classes corretas, independentemente de outras classes serem mencionadas ou não.

gerador de números aleatórios em c

Quase todos os sistemas operacionais suportam numericamente a especificação de modo especial, especificamente em octal, mas alguns não. Apenas os modos simbólicos podem ser aplicados a estes sistemas.

Alguns exemplos da linha de comando:

Comando Descrição
chmod a+r publicComments.txt Ele adicionará a permissão de leitura para cada classe (ou seja, Grupo, Proprietário e Outros).
chmod ax publicComments.txt Isso removerá a permissão de execução de todas as classes.
chmod a+rx visualizador.sh Ele adicionará as permissões de execução e leitura para cada classe.
chmod u=rw, g=r, o=internalPlan.txt Ele definirá as permissões de gravação e leitura para o usuário, será lido para o Grupo e rejeitará o acesso para Outros.
chmod -R u+w, go-w documentos Ele incluirá a permissão de gravação nos documentos do diretório e em cada um de seus conteúdos para o proprietário e excluirá a permissão de gravação para outras pessoas e grupo.
chmod e = rw groupAgreements.txt Ele definirá as permissões de gravação e leitura para grupo e usuário.
chmod 664 global.txt Ele definirá as permissões de gravação e leitura para Grupo e usuário e concederá permissão de leitura para Outros.
chmod 744 Show_myCV.sh Ele definirá as permissões de execução, gravação e leitura para o usuário e concederá permissão de leitura ao Grupo e outros.