Linux Fundamentos - FIAP ON - Estudo 02
Administração de Sistema e Editor de Texto
INTRODUÇÃO
Abordaremos o gerenciamento de procesos, a possibilidade de acesso remoto com SSH e o processador ded texto vi.
GERENCIAMENTO DE PROCESSOS
Quando chamamos um comando ou abrimos um programa em uma interface gráfica, ele se torna um processo em execução, em agluns momentos esses processos podem consumir muitos recursos e necessitam de ser parados.
PS - LISTAR PROCESSOS
O comando “ps” permite listar os processos atuais de um sistema, acompanhando pelos parâmetros “-a” que mostra todos os processos de todos os usuários, “-u”, exibe uma lista detalhada contendo o usuário e dono do processo e “-x”, exibe processos que não estejam associados ao terminal de comandos.
TOP - MONITOR DE PROCESSOS
O comando top, permite obter informações importantes, como o total de processos em andamento, seus estados no momento, uso de CPU, memória RAM e memória swap.
KILL E KILLALL - MATANDO PROCESSOS
Um administrador de sistema precisa interromper processos em andamento de maneira abrupta, seja por estarem consumindo recursos indesejados ou por representarem algum risco para o sistema.
$ kil -SIGSTOP 2829
& - RODANDO PROCESSOS EM BACKGROUND
Todo comando que executa em um terminal, devolve o prompt de comando para a execução de novos comando, mas até o seu encerramento ele trava o terminal,Podemos solicitar a execução de um comando em segundo plano ou background, desde que sua linha de comando seja acompanhada por um “&” em seu final.
SCREEN - CRIANDO TERMINAIS VIRTUAIS
Há formas de cirar terminais virtuais que podem ser abandonados e retomados em um segundo momento, para isso precisamos instalar as opções.
$ sudo apt install screen
O comando screen -S [nome do terminal] cria um terminal virtual.
ACESSO A MÁQUINAS REMOTAS COM SSH
Atualmente não podemos estar fisicamente presente em um terminal no equipamento, precisamos utilizar a realidade Cloud Computing, permitindo o acesso remoto no mundo todo.
SSH - ACESSO OUTRA MÁQUINA REMOTAMENTE
O SSH é a evolução do telnet, permite toda a praticidade de um acesso remoto com uma diferença: um túnel criptografado, garantindo a privacidade e evitando ataques. O comando SSH é o cliente para acesso a terminais remotos e seu uso é muito simples, ele deve ser seguido do usuário que deseja usar para conectar, “@” o nome ou IP do host. Caso o serviço de SSH não esteja em sua porta padrão, o parâmetro “-p” pode ser adicionado para indicar o número da porta.
O serviço ssh utiliza um criptografia assimétrica, conhecida como chave público-privada, cada host gera um par de chaves, distribuindo a chave pública do host de origem e a pública do remoto, e só podem ser descriptografados pela combinação inversa, tornando esse tipo de acesso prático e seguro. A chave pública é acecita e na sequencia é solicitada a senha do usuário. Ao digitar a senha correta, uma mensagem de boas-bindas é apresentada. Ao terminar podemos digita “exit” e retornar ao host original. É possivel tornar o acesso mais prático, definindo os hosts no Linux usando o arquivo /etc/hosts, mesmo que o seistema esteja com um DNS configurado o sistema sempre olha o hosts primeiro.
SCP - REALIZANDO TRANSFERÊNCIAS DE ARQUIVOS SEGURAS
O serviço de SSH não possibilita apenas o controle total de um servidor remoto. Permite a transferência de arquivos utilizando esse mesmo canal seguro. Pode ser utilizado para copiar arquivos inteiros de um servidor a outro, sem a necessidade de apelar para o antido e ultrapassado FTP.
TORNANDO O SSH AINDA MAIS SEGURO
- USE SENHAS SEGURAS EM SEUS USUÁRIOS - O ataque mais banal que se procura fazer é um ataque de força bruta, no qual se conecta ao serviço e tenta - se adivinhar a senha, testando todas a combinações possíveis.
- CONFIGURE O SERVIÇO - Determinar o número de tentativas máximas para senhas. Garantindo que o usuário root não possa se autenticar e restrinja o serviço para as interfaces de rede em que ele precise realmente ficar disponível.
- /etc/ssh/sshd_config.
- RESTRINJA OS USUÁRIOS QUE PODEM USAR SSH - As diretivas allowuser, para especificar os usuários permitidos, ou allowgroup, para liberar grupos. As diretivas denyuser e denygroup permitem definir quais usuários e grupos estão proibidos de usá-lo.
- /etc/ssh/sshd_config.
- TROQUE A PORTA DE SERVIÇO - É possivel trocar o número da porta de serviço por outro número que não seja o óbivio.
- /etc/ssh/sshd_config.
- APENAS IPS PERMITIDOS - Podemos usar o comando iptables para definir quais IPs podem acessar a porta de serviço na qual o SSH está.
- IDENTIFIQUE-SE PRIMEIRO - O Port Knocking é uma configuração do firewall para liberar a porta de serviço apenas quando pacotes de dados são enviados para portas específicas em uma determinada sequência e a mesma sequência para fechar a porta ao sair.
VI: O MELHOR EDITOR DE TEXTO
ENTRANDO E SAINDO DO VI
Para entrar no vi, basta digita, no terminal:
$ vi
Normalmente o comando é acompanhado com o nome do arquivo que se quer criar ou editar, conforme podemos ver na linha de comando:
$ vi arquivo.txt
Para sair do editor você deve digitar “:q”.
OS MODOS DE COMANDO E DE EDIÇÃO DE TEXTO
-
A mais simples é a tecla [i], através da qual entramos em modo de edição de texto no ponto em que o cursos estiver no momento.
-
Outra forma é a tecla [a], através da qual entramos em modo de edição de texto uam posição após o ponto em que o cursos estiver no momento.
-
O terceito modo é editar com [A], e entramos em modo de edição no final da frase em que estamos.
-
Podemos utilizar [o] e entrar no modo de edição na linha seguinte àquela em que estamos.
SALVANDO O ARQUIVO
Para salvar o arquivo, deve estar em modo de comando e pode utilizar as teclas:
- [:] + [w] + [ENTER]
- [:] + [w] + [q] + [ENTER] ⇒ Salvar e sair do arquivo
- [:] + [x] + [ENTER] ⇒ Salvar e sair do arquivo
- [:] + [q] + [!] + [ENTER] ⇒ Sair do arquivo sem salvar
NUMERAÇÃO DE LINHAS E COMO IR DIRETO PARA UMA DELAS
Para ver a numeração das linhas digite a sequencia:
- [:] + [set nu] + [ENTER]
Caso precise ir até uma determinada linha digite a sequencia:
- [:] + [”NUMERO”]
COPIANDO E COLANDO TEXTOS
Para copiar a linha desejada primeiro se direcione para ela e utilize a seguinte sequencia para copiar a linha:
- [y] + [y]
Um unico y copiaria o parágrafo, para copiar uma quantidade especifica de linhas digite:
- [NUMERO] + [y] + [y]
Agora vá para a ultima linha do arquivo ou a linha desejada e utilize:
- [G] + [p]
APAGANDO TEXTOS
Utilizamos o “d” para deletar ou apagar as linhas, utilziando a mesma estrutura do “y” em apagar paragrafos, ou deletar uma quantidade específica de linhas ou até apagar a própria linha selecionada com yy. Caso tenha algum problema com esse comando utilize a combinação de undo para desfazer a ultima ação.
- [u] + [ENTER]
LOCALIZANDO E SUBSTITUINDO PALAVRAS
Para localizar palavras e substituir digite [/], a palavra que deseja e [ENTER].
Digite [n] para pular para a próxima ocorrência ou [N] para voltar a ocorrência anterior.
:%s/mais/menos/gc
O “c” ao final do comando é para pedir confimação para cada substituição, caso não tenha ele força a substituição sem pedir nenhuma confirmação e a letra “g” indica que a substituição é global.
Fonte: https://on.fiap.com.br