Comandos de manipulação de permissões no Linux

Entendo um pouco o sistema de permissões no sistema Linux

Pelo fato do Linux ser multiusuário, as permissões deve estar bem alinhadas para que o usuário tenha acesso somente aquilo que é de seu direito, incluindo pastas, arquivos e inclusive periféricos, como impressoras e drivers de CD por exemplo.
A Estrtutura básica das permissões é separada em três classes:

  • Dono: define as permissões ao dono do arquivo, ou seja, que criou o arquivo.
  • Grupo: define as permissões para o grupo de usuários ao qual o dono do arquivo pertence.
  • Outros: define as permissões para os demais usuarios, que não seja o dono ou que faça parte do grupo.

Dentro de cada classe citada anteriormente, temos os tipos de acesso:

  • Leitura (r): permissão de leitura para arquivos. Caso seja um diretório permite a listagem do seu conteúdo.
  • Escrita (w): permite a escrita em arquivos ou criação dentro de pastas.
  • Execução (x): permite a execução de um programa “executável”

Quando a gente executa um ls -la no terminal, podemos ver como funciona:

No começo de cada linha temos 10 colunas referente as permissões de cada arquivo, onde a primeira coluna identifica o tipo do arquivo, se é um arquivo, um diretório, um link, etc. Após a primeira coluna, temos um conjunto de três colunas para cada classe de permissões, ou seja, do dono, do grupo e outros contando da esquerda para direita.

Diferença de permissões entre arquivos e diretórios:

Objeto Leitura (r)
Gravação (w)
Execução (x)
Arquivo Permite ler o conteúdo do arquivo Permite alterar o arquivo Permite executar arquivo como um programa
Diretório Permite listar o conteúdo do diretório Permite criar e apagar arquivos no diretório Permite ler e gravar arquvos no diretório

Lista de comandos para trabalhar as permissões

chmod

Muda as permissões de acesso a um determinado arquivo ou diretório.

Sintaxe

Opções

-v, –verbose

Mostra todos os arquivos que estão sendo processados.

-f, –silent

Não mostra a maior parte das mensagens de erro.

-c, –change

Semelhante a opção -v, mas só mostra os arquivos que tiveram as permissões alteradas.

-R, –recursive

Muda permissões de acesso do diretório/arquivo no diretório atual e sub-diretórios.

ugoa+-=rwxXst

  • ugoa – Indica o nível de acesso será mudado. Especificam, em ordem, usuário (u), grupo (g), outros (o), todos (a).
  • +-=+ adiciona a permissão, retira a permissão do arquivo e = define a permissão exatamente como especificado.
  • rwx – r permissão de leitura do arquivo. w permissão de gravação. x permissão de execução (ou acesso a diretórios).

Exemplos

sele%ef%bf%bd%ef%bf%bdo_004

chgrp

Muda o grupo de um arquivo ou diretório

Sintaxe

Opções

-v, –verbose

Mostra todas as mensagens e arquivos sendo modificados.

-R, –recursive

Altera os grupos de arquivos/sub-diretórios do diretório atual.

chown

Altera dono de um arquivo ou diretório. Pode também ser usado para mudar o grupo

Sintaxe

Opções

-v, –verbose

Mostra os arquivos enquanto são alterados.

-R, –recursive

Altera dono e grupo de arquivos no diretório atual e sub-diretórios.

Exemplos

umask

O comando umask define as permissões iniciais quando um arquivo ou diretório for criado. Digitando umask sem nenhum parâmetro podemos visualizar nosso umask atual. O umask cria permissão diferente caso o arquivo seja um executável e se for um arquivo texto. Veja a tabela a seguir:

Caso seu umask seja 022, os arquivos de texto será criados por padrão com permissão 644, ou seja, rw- para o dono, r– para o grupo e r– para outros. Para que alterar o umask, geralmente deve-se alterar seu valor no arquivo /etc/profile.

[Dica rápida] Meus 10 comandos mais rodados no linux

Com este comando podemos conferir quais os 10 comandos mais rodados em nossa máquina:

Meu resultado foi:

 

Reforçando segurança servidor ssh

Introdução

Nos dias de hoje é de suma importância proteger nossos servidores contra ataques e invasões. Nesse caso especifico do ssh é importante mantê-lo bem seguro pois é a nossa porta de entrada para o servidor, qualquer brecha pode causar uma catástrofe. Não devemos pensar que por ser um servidor de uma pequena empresa ou um servidor VPS que não devemos ter esse cuidado, hoje a informação disponível pode estar valendo muito. É uma questão de segurança básica que devemos estar atentos para não termos dores de cabeça e continuar com nossos servidores e serviços intactos.

Restrições de acesso

Caso queria restringir acesso somente a grupos ou usuários específicos, acrescentaremos ou editaremos as opções abaixo no arquivo de configuração do servidor ssh, o /etc/ssh/sshd_config. O mais correto ainda seria criar um grupo somente para acessos ssh.

Podendo usar ou somente restrição por grupo ou somente restrição por usuário.

Não permitir acesso direto como root

Modificar porta padrão

De preferência uma porta  com valor alto.

Bloquear ataques de força bruta com iptables

Logando com chaves de criptografia

Gerar a chave

selecao_009

Copiar para a outra máquina a chave pública

selecao_010

Verificar se o arquivo foi copiado para o destino em .ssh/authorized_keys e modificar a permissão para 600, por questões de segurança

Desabilitar autenticação por senha

 

Instalar Java 8 no Manjaro/Archlinux

Primeiro atualize o sistema

Após isso baixamos a última versão (Na data da postagem essa era última versão)

Descompactamos

Copiamos para a pasta correta

Criamos o link para o programa

E o link para os plugins:

Fonte

Evitando encerramento acidental de sessões bash

A sequência de teclas “CTRL+D” encerra uma sessão bash. Às vezes digitamos estas teclas por acidente e encerramos uma sessão acidentalmente.

Para evitar que isto ocorra, definimos a variável de ambiente IGNOREEOF:

Desta forma, para encerrar uma sessão bash, precisamos digitar a sequência “CTRL+D” duas vezes ou então digitar “exit“.

Esta variável de ambiente deve ser definida no arquivo .bashrc.

Fonte: Dicas-L

Backup Mysql – Linha comando

Backup de uma base específica

Backup de todas as bases

Diminuindo tentativas de invasão via SSH

Dentro do arquivo /etc/ssh/sshd_config altere as seguintes linhas:

Explicando:

O primeiro parâmetro informa que a conexão será cortada caso fique inativa por 2 minutos.

O segundo quer dizer que depois de 3 tentativas não autenticadas, 50% das conexões do IP são recusadas e quando o número de de tentavivas chegar a 6 todas as tentativas de conexões do IP serão recusadas.

Fonte: Dicas-l