Como usar o comando chmod no Linux
Controle quem pode acessar arquivos, pesquisar diretórios e executar scripts usando o comando chmod do Linux. Este comando modifica as permissões de arquivo do Linux, que parecem complicadas à primeira vista, mas na verdade são bastante simples quando você sabe como elas funcionam.
chmod Modifica as permissões de arquivo
No Linux, quem pode fazer o que com um arquivo ou diretório é controlado através de conjuntos de permissões. Existem três conjuntos de permissões. Um conjunto para o proprietário do arquivo, outro conjunto para os membros do grupo do arquivo e um conjunto final para todos os outros.
As permissões controlam as ações que podem ser executadas no arquivoou diretório. Eles permitem ou impedem que um arquivo seja lido, modificado ou, se for um script ou programa, executado. Para um diretório, as permissões determinam quem pode entrar no diretório e quem pode criar ou modificar arquivos dentro do diretório.
Você usa o comando chmod para definir cada uma dessas permissões. Para ver quais permissões foram definidas em um arquivo ou diretório, podemos usar ls.
Visualizando e compreendendo as permissões de arquivo
Podemos usar a opção -l (formato longo) para terls lista as permissões de arquivo para arquivos e diretórios.
ls -l
Em cada linha, o primeiro caractere identifica o tipo de entradaque está sendo listado. Se for um traço (-), é um arquivo. Se for a letra d, é um diretório.
Os próximos nove caracteres representam as configurações dos três conjuntos de permissões.
- Os três primeiros caracteres mostram as permissões parao usuário que possui o arquivo (permissões de usuário).
- Os três caracteres do meio mostram as permissões para os membros do grupo do arquivo (permissões de grupo).
- Os últimos trêscaracteres mostram as permissões para qualquer pessoa que não esteja nas duas primeiras categorias (outras permissões).
Existem três caracteres em cada conjunto de permissões. Os caracteres são indicadores da presença ou ausência de uma das permissões. Eles são um traço (-) ou uma letra. Se o personagem é um traço, significa que a permissão não é concedida. Se o caractere for r, w ou x, essa permissão foi concedida.
As letras representam:
- r: permissões de leitura.O arquivo pode ser aberto e seu conteúdo visualizado.
- w: Permissões de gravação.O arquivo pode ser editado, modificado e excluído.
- x: executar permissões. Se o arquivo for um script ou um programa, ele poderá ser executado (executado).
Por exemplo:
- --- significa que nenhuma permissão foi concedidaconcedido.
- rwx significa que permissões totais foram concedidas. Os indicadores de leitura, gravação e execução estão todos presentes.
Em nossa captura de tela, a primeira linha começa com um d. Esta linha refere-se a um diretório chamado “ archive. ”O proprietário do diretório é "dave", ”e o nome do grupo ao qual o diretório pertence também é chamado & dave. ”
Os próximos três caracteres são as permissões de usuário para esse diretório. Eles mostram que o proprietário tem permissões totais. Os caracteres r, we ex estão todos presentes. Isso significa que o usuário dave leu, gravou e executou permissões para esse diretório.
O segundo conjunto de três caracteres são as permissões de grupo, estas são rx. Eles mostram que os membros do grupo dave têm permissões de leitura e execução para este diretório. Isso significa que eles podem listar os arquivos e seu conteúdo no diretório e podem cd (executar) nesse diretório. Eles não possuem permissões de gravação, portanto, não podem criar, editar ou excluir arquivos.
O conjunto final de três caracteres também é rx. Essas permissões se aplicam a pessoas que não são governadas pelos dois primeiros conjuntos de permissões. Essas pessoas (chamadas de outras pessoas) têm permissões de leitura e execução neste diretório.
Portanto, para resumir, os membros do grupo e outras pessoas têm permissões de leitura e execução.O proprietário, um usuário chamado dave, também possui permissões de gravação.
Para todos os outros arquivos (além do arquivo de script mh. sh), dave e os membros do grupo dave têm propriedades de leitura e gravação no diretórioarquivos e os outros têm apenas permissões de leitura.
No caso especial do arquivo de script mh. sh, o proprietário dave e os membros do grupo têm permissões de leitura, gravação e execução, e os outros têm lidoe execute apenas permissões.
Compreendendo a sintaxe da permissão
Para usar o chmod para definir permissões, precisamos informar:
- Para quem: para quem estamos definindo permissões.
- O que: que mudança estamos fazendo?Estamos adicionando ou removendo a permissão?
- Qual: Quais das permissões estamos definindo?
Usamos indicadores para representar esses valores e formamos um número curto “ declarações de permissões ”como u + x, em que & u “ u ”significa ”usuário ”(quem), “ + ”significa adicionar (o que) e “ x ”significa a permissão de execução (qual).
O “ quem ”os valores que podemos usar são:
- u: Usuário, significando o proprietário do arquivo.
- g: Grupo, significando membros do grupo ao qual o arquivo pertence.
- o: Outros, significando pessoas não governadas pelas permissões u e g.
- a: Todos, significando todos os itens acima.
Se nenhumdestes são usados, chmod se comporta como se “ a ”tinha sido usado.
O “ o que ”os valores que podemos usar são:
- & # 8211 ;: sinal de menos. Remove a permissão.
- +: Sinal de adição. Concede a permissão.A permissão é adicionada às permissões existentes. Se você deseja ter essa permissão e apenas essa permissão definida, use a opção =, descrita abaixo.
- =: Sinal de igual. Defina uma permissão e remova outras pessoas.
O “ que ”os valores que podemos usar são:
- r: A permissão de leitura.
- w: A permissão de gravação.
- x: A permissão de execução.
Definindo e modificando permissões
Digamos que temos um arquivo em que todos têm permissões totais.
ls -l new_ file. txt
Queremos que o usuário dave tenha permissões de leitura e gravação e que o grupo e outros usuários tenham apenas permissões de leitura. Podemos fazer isso usando o seguinte comando:
chmod u = rw, og = r new_file. txt
Usando o “= ”operador significa que eliminamos todas as permissões existentes e depois definimos as permissões especificadas.
vamos verificar a nova permissão neste arquivo:
ls -l new_file. txt
As permissões existentes foram removidas e as novas foram definidas conforme o esperado.
Que tal adicionar uma permissão sem remover oconfigurações de permissões existentes?Também podemos fazer isso facilmente.
Digamos que temos um arquivo de script que terminamos de editar. Precisamos torná-lo executável para todos os usuários. Suas permissões atuais são assim:
ls -l new_script. sh
Podemos adicionar a permissão de execução para todos com o seguinte comando:
chmod a + x new_script. sh
Se dermos uma olhada nas permissões, veremos que oa permissão de execução agora é concedida a todos, e as permissões existentes ainda estão em vigor.
ls -l new_script. sh
Poderíamosalcançaram a mesma coisa sem o “ a ”no & a; x + ”declaração.O comando a seguir também funcionaria.
chmod + x new_script. sh
Definindo permissões para vários arquivos
Podemos aplicar permissões paravários arquivos ao mesmo tempo.
Estes são os arquivos no diretório atual:
ls -l
Digamos que queremos remover as permissões de gravação para os outros ”usuários de arquivos que possuem uma “ . page ”extensão. Podemos fazer isso com o seguinte comando:
chmod ou * . page
Vamos verificar o efeito que isso teve:
ls -l
Como podemos ver, a permissão de leitura foi removida da “ . page ”arquivos para o “ outro ”categoria de usuários. Nenhum outro arquivo foi afetado.
Se quiséssemos incluir arquivos em subdiretórios, poderíamos ter usado a opção -R (recursiva).
chmod -R ou* . page
Atalho numérico
Outra maneira de usar o chmod é fornecer as permissões que você deseja conceder ao proprietário, grupo e outras pessoas como um número de três dígitos.O dígito mais à esquerda representa as permissões para o proprietário.O dígito do meio representa as permissões para os membros do grupo.O dígito mais à direita representa as permissões para os outros.
Os dígitos que você pode usar e o que eles representam estão listados aqui:
- 0: (000) Sem permissão.
- 1: (001) Executar permissão.
- 2: (010) permissão de gravação.
- 3: (011) Permissões de gravação e execução.
- 4: (100) permissão de leitura.
- 5: (101) permissões de leitura e execução.
- 6: (110) Permissões de leitura e gravação.
- 7: (111) permissões de leitura, gravação e execução.
Cada uma das três permissões é representada por umados bits no equivalente binário do número decimal. Então 5, que é 101 em binário, significa ler e executar.2, que é 010 em binário, significaria a permissão de gravação.
Usando esse método, você define as permissões que deseja ter;você não adiciona essas permissões às permissões existentes. Portanto, se as permissões de leitura e gravação já existissem, você teria que usar 7 (111) para adicionar permissões de execução.O uso de 1 (001) removeria as permissões de leitura e gravação e adicionaria a permissão de execução.
Vamos adicionar a permissão de leitura na página “ .página 8221;arquivos para a outra categoria de usuários. Também devemos definir as permissões de usuário e grupo, portanto, precisamos defini-las para o que elas já são. Esses usuários já têm permissões de leitura e gravação, que é 6 (110). Queremos os “ outros ”tenha permissões de leitura e, portanto, elas precisam ser definidas como 4 (100).
O comando a seguir fará isso:
chmod 664 * . page
Isso define as permissões que exigimos para o usuário, membros do grupo e outras pessoas conforme o que exigimos. Os usuários e os membros do grupo têm suas permissões redefinidas para o que já eram e os outros têm a permissão de leitura restaurada.
ls -l
Opções avançadas
Se você ler a página de manual do chmod, verá que existem algumas opções avançadas relacionadas aos bits SETUID e SETGID e à exclusão restrita ou "pegajosa" #8221;bit.
Para 99% dos casos em que você precisará do chmod, as opções descritas aqui o cobrirão.
Via: How to Geek
Nenhum comentário