Criando senha aleatórias e seguras no linux

A utilização de senhas seguras é uma obrigação a todo profissional de TI. Suas senhas devem ter um bom comprimento e alternar entre letras, números e caracteres especiais, diminuindo drasticamente a possibilidade de descoberta das senhas por outras pessoas ou mecanismos automáticos. Para facilitar a nossa vida existem dois utilitários no linux que geram senhas aleatórias sem que precisemos queimar neurônios para criá-las sozinhos: mkpasswd e makepasswd

O comando mkpasswd já vem no linux e utiliza a função crypt para gerar senhas. Já o makepasswd é mais completo: utiliza o /dev/random para gerar as senhas, pode gerar várias senhas de uma só vez e criptografá-las com o algoritmo md5.

Gerando senhas com o mkpasswd:

Apenas digite no terminal o comando:

Código:
$ mkpasswd


saída:

Código:
senha: digite-a-senha-aqui
/o76/Dpgmv/5rX2

 

Instalando o makepasswd(eu recomendo esse)

Em distribuições Debian-like, digite o seguinte comando no terminal:

Código:
$ sudo apt-get install makepasswd

 

Gerando senhas com o makepasswd:

Digite no terminal:

Código:
$ makepasswd


Saída:

Código:
1mnU8L1LVF


Para alterar o comprimento da senha gerada, utilize a opção –char

Código:
$ makepasswd –char 12


saída:

Código:
9HaifQW4q923


para gerar várias senhas de uma só vez utilize –count

Código:
$ makepasswd –count 5


Saída:

Código:
LzSoH0
K2QXW5L
AisGn0vn
ETVj0W74
NpBp1TeA


Para gerar uma senha criptografada, utilize –crypt-md5 (Ele exibirá a senha em texto plano e criptografada)

Código:
$ makepasswd –crypt-md5


Saída:

Código:
YM2WYIry  $1$mn8MFbyM$Suk986UgD/kOuNBJsBzoD/


Um pequeno script para alterar senhas de usuários com o makepasswd:

Código:
#!/bin/bash
#changepass
#Script para alterar a senha de um usuario
#escrito por Luiz Guanabara www.guanabara.eti.br
#if [ $UID != 0 ]
then
echo -e “ntVoce precisa ser root para executar este script!n”
exit
fi

echo “Informe o nome do usuario”
read name
echo “Informe o comprimento da senha”
read lenght

pass=$(makepasswd –char $lenght)

echo “$name:$pass” | chpasswd

echo “A senha do usuario $name foi alterada para $pass ”

 

———————

Pwgen: utilitário para criar senhas seguras no Linux

por Helbert Rocha no dia 13/ago/2010 em Aplicativos

Pwgen é um gerador de senhas projetado de modo que as senhas sejam facilmente memorizadas pelas pessoas. As senhas que podem ser lembradas pelas pessoas nunca foram tão seguras quanto aquelas geradas aleatoriamente. Em particular, as senhas geradas por este aplicativo sem a opção “-s” não devem ser usadas onde elas podem ser atacadas pela força bruta.

Instalação

Ubuntu

No Ubuntu, para instalar o Pwgen, basta executar o comando abaixo no terminal.

$ sudo apt-get install pwgen

Fedora

No Fedora, para instalar o Pwgen, basta executar o comando abaixo no terminal.

$ su -c 'yum install pwgen'

Uso

Para utilizar o Pwgen, temos algumas opções. Vide abaixo quais são elas.

  • -0, para não incluir números nas senhas geradas.
  • -A, para não incluir letras maiúsculas.
  • -B, para excluir caracteres que possam causar confusões, como 1 e l, por exemplo.
  • -y, para inserir ao menos um caractere especial (*$=!?% …).
  • -n, para inserir ao menos um número na senha gerada.
  • -s, para gerar uma senha aleatória e difícil de ser memorizada.

Exemplo

$ pwgen -0AByns 5 3
OYQS9 5z4O1 gRjR9

Portanto, vemos que foram geradas 3 senhas de 5 caracteres de acordo com as opções pedidas. Para mais informações sobre o Pwgen, clique aqui.

Fontes:

http://networkteam.forumbrasil.net/t30-linux-gerando-senhas-seguras-e-aleatorias

http://meupinguim.com/pwgen-utilitario-criar-senhas-seguras-linux/

Cron agendando tarefas

O cron é um serviço disponível no Linux e outros sistemas UNIX (HP-UX, AIX, Solaris, Linux, etc). Com ele é possível agendarmos rotinas ou tarefas, de modo que o sistema execute-as periodicamente.

Como usar o cron

O primeiro passo é abrir o crontab. Para isso, você pode usar editores de textos como vi, emacs ou nano. Também é possível digitar o comando crontab -e para editar o arquivo exclusivo de seu usuário. Neste caso, a edição é feita como se você estivesse usando o vi.

O crontab tem o seguinte formato:

[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando]

O preenchimento de cada campo é feito da seguinte maneira:

– Minutos: informe números de 0 a 59;

– Horas: informe números de 0 a 23;

– Dias do mês: informe números de 0 a 31;

– Mês: informe números de 1 a 12;

– Dias da semana: informe números de 0 a 7;

– Usuário: é o usuário que vai executar o comando (não é necessário especificá-lo se o arquivo do próprio usuário for usado);

– Comando: a tarefa que deve ser executada.

Repare que a ordem desses valores indica o nome correspondente do campo. Por exemplo, no campo mês, 1 a 12 quer dizer de “janeiro a dezembro”. No caso de dias da semana, 0 a 6 quer dizer de “domingo a sábado”. Note que o número 7 também pode ser usado. Neste caso, assim como o número 0, o 7 equivale ao dia de “domingo”.

No lugar desses valores, você pode informar * (asterisco) para especificar uma execução constante. Por exemplo, se o campo dias do mês conter *, o comando relacionado será executado todos os dias.

Você também pode informar intervalos no preenchimento, separando os números de início e fim através de – (hífen). Por exemplo, se no campo horas for informando 2-5, o comando relacionado será executado às 2, 3, 4 e 5 horas. E se o comando tiver que ser executado às 2 horas, entre 15 e 18 horas e às 22 horas? Basta informar 2,15-18,22. Nestes casos, você separa os parâmetros por vírgula.

Vamos a um exemplo:

#tarefa infowester
30 22 3,14 * * echo “Não entre em pânico” > /home/alecrim/infowester.txt

Neste exemplo, a frase “Não entre em pânico” é inserida no arquivo infowester.txt, dentro do diretório /home/alecrim/, às 22 horas e 30 minutos, nos dias 3 e 14, em todos os meses e em todos os dias da semana. Repare na linha “#tarefa infowester”. Trata-se de um comentário. Digite # e tudo o que for digitado na linha não será considerado pelo cron. É um recurso útil para inserir descrições quando se tem várias tarefas a serem executadas.

Alguns exemplos:

Todo dia de hora em hora (hora cheia)
00 * * * * /bin/script
De cinco em cinco minutos todos os dias (note a divisão por 5 do intervalo 00-59)
00-59/5 * * * * /bin/script
Nas seguintes horas: 10, 12, 16, 18, 22 aos 15 minutos da hora
15 10,12,16,18,22 * * * /bin/script
Nos primeiros cinco dias do mês às 19:25
25 19 01-05 * * /bin/script
De segunda a sexta ao meio-dia e a meia-noite
00 00,12 * * 1-5 /bin/script
Script rodar Segunda,Quarta,Sexta às 2 horas
0 2 * * mon,wed,fri /bin/script
Script para rodar Terça,Quinta às 3 horas
0 3 * * tue,thu /bin/script
Script para ser executado minuto a minuto
*/1 * * * * /bin/script

Comandos do crontab

Para acessar o crontab, basta digitar esse nome em um terminal seguido de um parâmetro. Eis a lista de parâmetros disponíveis:

crontab -e: conforme já informado, serve para editar o arquivo atual do crontab e criar um, caso não exista;

crontab -l: este comando mostra o conteúdo atual do crontab;

crontab -r: remove o arquivo atual do crontab.

Fontes:

http://blogdonerd.com.br/2010/09/realizando-backup-de-arquivos-em-servidores-linux/

http://www.infowester.com/linuxcron.php

http://www.hardware.com.br/dicas/agendando-tarefas-rotinas-cron.html

http://pt.wikipedia.org/wiki/Crontab

Editor vi

Comandos de Arquivo
:q Sai do VI
:w Salva alteraçoes feitas
:wq Salva aterações e sai do VI
:q! Sai sem salvar
:w abc Grava arquivo com o nome ‘abc’
:r abc Insere o conteúdo do arquivo ‘abc’
:e abc Edita o arquivo ‘abc’
Modo de Inserção
i Entra no modo de Inserção
a Entra no modo de Inserção, após o cursor
o Entra no modo de Inserção, em uma nova linha
<ESC> Sai do modo de Inserção
Copiar, Cortar e Colar
yy Copia a linha inteira
5yy Copia as 5 próximas linhas
dd Apaga a linha
5dd Apaga 5 linhas
x Apaga uma letra
5x Apaga 5 letras
p Cola o trecho copiado ou apagado
V Seleção visual de linhas
Pulos
gg Pula para a primeira linha
G Pula para a última linha
44G Pula para a linha número 44
w Pula para a próxima palavra
b Pula para a palavra anterior
{ Pula para o parágrafo anterior
} Pula para o próximo parágrafo
( Pula para a frase anterior
) Pula para a próxima frase
f. Pula até o próximo ponto (.), na mesma linha
Desfaz o pulo, volta
Apagando com esperteza
dgg Apaga até o início do arquivo
d0 Apaga até o início da linha atual
dw Apaga a palavra
d4b Apaga as quatro palavras anteriores
df. Apaga até o próximo ponto
d) Apaga até o fim da frase
Outros
J Junta a próxima linha com a atual
u Desfaz o último comando
Ctrl+R Refaz o último comando desfeito
. Repete o comando anterior
hjkl Movimenta o cursor
/ Pesquisa um texto
n Vai para o próximo resultado da pesquisa
:%s/a/b/g Troca ‘a’ por ‘b’ em todo o texto
:!cmd Executa o comando externo ‘cmd’
:r!cmd Insere o resultado do comando externo ‘cmd’

Entrar e Sair

  • vi arquivo.txt <ENTER>
  • :q <ENTER>

Entrar, Inserir Texto, Salvar e Sair

  • vi arquivo.txt <ENTER>
  • i
  • Minha primeira frase no VI.
  • <ESC>
  • :wq <ENTER>

Entrar, Alterar Texto e Sair sem Salvar

  • vi arquivo.txt <ENTER>
  • dd
  • :q! <ENTER>

Entrar, Alterar Texto, Salvar em Outro Arquivo e Sair

  • vi arquivo.txt <ENTER>
  • yy
  • p
  • :w arquivo-novo.txt <ENTER>
  • :q <ENTER>

Configurar o VI

  • vi ~/.vimrc <ENTER>
  • i
  • set vb ru nu <ENTER>
  • set ic is hls scs
  • <ESC>
  • :wq <ENTER>

Repetir a Primeira Linha 2 Vezes e Apagar a Última

  • vi arquivo.txt <ENTER>
  • gg
  • yy
  • p
  • p
  • G
  • dd

Repetir Comandos

  • vi arquivo.txt <ENTER>
  • A
  • FIM
  • <ESC>
  • j
  • .
  • j
  • .

Abrir Dois Arquivos Simultaneamente

  • vi arquivo.txt <ENTER>
  • :split ~/.vimrc <ENTER>
  • Ctrl+W
  • Ctrl+W
  • :q <ENTER>
  • :q <ENTER>

Obter Ajuda

  • vi arquivo.txt <ENTER>
  • :help <ENTER>

Fonte:

http://aurelio.net/curso/material/vim-ref.html

Comando scp, copiando arquivos – recursivo

Secure Copy ou SCP é um meio seguro para transferir arquivos entre um host local e um remoto ou entre dois hosts remotos, usando o protocolo SSH.

Ex.:
scp /home/usuario/teste.txt usuario@host_destino:/home/usuario/teste.txt

Para transferir diretórios e subpastas, basta colocar a opção scp -r.

scp -r /home/usuario/pasta usuario@host_destino:/home/usuario

Para transferir arquivos preservando as permissões e datas dos mesmos, basta colocar a opção scp -p.

scp -p /home/usuario/pasta usuario@host_destino:/home/usuario/pasta

e ainda juntar os dois:

scp -rp /home/usuario/pasta usuario@host_destino:/home/usuario/pasta

Fontes:

http://amath.colorado.edu/computing/software/man/scp.html

http://fabriciojca.blogspot.com/2009/07/scp-recursivo.html

Visualizando partições

Trabalhando ou apenas visualizaro espaço livre da partição:

particionadores:

fdisk, cfdisk, sfdisk

Para ver lista de particoes:

# fdisk -l

Para ver o espaço livre das particoes montadas:

# df -h

Para ver o tamanho de uma pasta:

# du -sh /pasta

 

 

Se quiser formatar um disco:

Partindo do principio que o disco esta montado e energizado ele deve aparecer como /dev/sda, /dev/sdb ….

Então faça:

cfdisk /dev/sda

apague toda e qualquer particao que apareca e CRIE (new) uma nova, tipo 83 (linux).

gravar – (shift W, ou seja, W maiusculo)

mkfs.ext3 /dev/sda1

Pronto agora é só montar ela ou então incluir no fstab para montar toda vez que bootar

Deletando arquivos pela extensão

Quando você tem uma grande quantidade de arquivos para fazer um backup o pouco tempo vale a pena excluir coisas indesejáveis que seus usuários tenham deixado nas pastas. Para isso podemos usar alguns comandos para encontrar e deletar arquivos por extensão ou ainda pelo próprio nome.

procurar arquivos com determinada estensão:

$ find /pasta -type f  ‘*.txt’

Você pode trocar o .txt por .mp3, .avi, etc.

Agora para executar o find e também o comando de remoção:

$ find /pasta -type f -name *.txt -exec rm -fv {} ;

O comando vai buscar todos os arquivos (-type f)  que nome contenha a extensão mp3 (-name “*.mp3”) e que a cada ocorrência encontrada deve ser executado o comando “rm -fv {nome do arquivo}”. As chaves no comando indicam para o find onde ele deve inserir o nome do arquivo em relação ao comando que está sendo executado, no nosso caso o rm, para apagar.

Daqui pra frente podemos fazer outras coisas, como deletar todos aqueles malditos arquivos “Thumbs.db” que ficam nas pastas de backups de usuários:

$ find /caminho/pasta -type f -name “Thumbs.db” -exec rm -fv {} ;

Ainda podemos usar ‘*.mp3’, ‘*.msi’, ‘*.exe’,  ‘*.EXE’, para dar aquela limpada no que os usuários andam armazenando a toa.

Caso seu backup ainda esteja grande podemos achar os arquivos de maior tamanho:

$ find /caminho/pasta -type f -size +10M

para arquivos com mais de 10 Mega Bytes.

e agora para arquivos maiores de 1GB:

$ find /caminho/pasta -type f -size +1000M

 

É muito util para agilizar o trabalho de backup!

Abraços!

 

Fontes:

http://www.zago.eti.br/find.html

http://www.vivaolinux.com.br/dica/Utilizando-o-find-para-excluir-determinados-arquivos

http://tocadoelfo.blogspot.com/2010/05/excluindo-arquivos-recursivamente-no.html

http://www.vivaolinux.com.br/script/Apagar-arquivos-recursivamente-de-um-diretorio-pela-extensao

Comandos GNU/Linux

Comando GNU/Linux que todos devem saber:
Comandos básicos
ls [-al]: listagem do diretório.
cp [-ir]: copiar arquivos.
mv [-i]: mover ou renomear arquivos.
rm [--]: deletar arquivos.
mkdir/rmdir: cria/deleta diretórios.
ln -s path link: cria links simbólicos (symlinks) para arquivos ou diretórios.
Continuar lendo Comandos GNU/Linux