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

Recuperando o Grub

1º Método

Este é um dos método mais simples e fácil de se recuperar o GRUB. Insira o LiveCD , e inicialize o sistema.

Feito isso abra um terminal. Como estamos em um LiveCD precisamos definir a senha do root.

# passwd su

Logue-se como root.

Agora iremos criar o diretório para montarmos nossa partição:

# mkdir /mnt/linux

Monte a partição onde nosso sistema está instalado:

# mount /dev/hda2 /mnt/linux

(lembrando que este exemplo deve ser substituído pela partição onde seus sistema esta instalado)

Depois de montar a partição, utilizaremos o utilitário grub:

# grub

grub> root (hd0,1)

(lembre-se aqui de como o GRUB faz a analogia das partições, então o hda2 deve ser especificado como 0,1 o hda3 0,2 e assim por diante)

grub> setup (hd0)
grub> quit

Reinicie o sistema e veja o resultado…

2º Método

Com o sistema iniciado pelo LiveCD defina a senha do root:

# passwd su

Feito isso logue-se como root.

Agora iremos criar o diretório onde montaremos nossa partição:

# mkdir /mnt/linux

Monte a partição onde o sistema está instalado:

# mount /dev/hda2 /mnt/linux

Agora emitiremos o comando para que a instalação do GRUB seja feita no MBR da primeira partição:

# grub-install –root-directory=/mnt/linux /dev/hda

Espere a instalação ser feita, reinicie o computador e veja o GRUB , funcionando belezinha ^^

3º Método

Este é o meu favorito. Com o sistema iniciado pelo LiveCD, defina a senha de root:

# passwd su

Depois logue-se como root.

Agora iremos criar o diretório para montarmos a partição:

# mkdir /mnt/linux

Agora montamos a partição:

# mount /dev/hda2 /mnt/linux

Agora iremos deixar o diretório alvo como raiz do sistema:

# chroot /dev/hda2

Instalamos o GRUB no MBR:

# grub-install /dev/hda

######################################

Caso você tenha um amigo que tenha instalado também o win7 (pq ew nao acredito que vc tenha ele em seu pc) e ao fazer um desses procedimentos e a porcaria do win7 não foi reconhecido entao você pode usar:

# update-grub

isso atualiza a tabela de sistemas operacionais do grub.


fontes:

http://www.vivaolinux.com.br/dica/Recuperando-o-GRUB

http://www.dihitt.com.br/barra/ativando-dual-boot-no-ubuntu-1104-natty-narwhal

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

Instalando Lamp Apache, MySQL, PHP

Para qualquer programador Web o eixo Apache, PHP, MySQL no Linux é essencial para  o bom desenvolvimento.

Essa instalação é focada em sistemas como Debian e Ubuntu.

Sugiro também que utilizem Netbeans com os plugins php+html para desenvolvimento.

Instalando no Debian e derivados:

Apache2:

# apt-get install apache2

PHP5 + Módulo Apache:

# apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi

MySQL5:

# apt-get install mysql-server

PhpMyAdmin:

# apt-get -y install phpmyadmin

Caso algum dia queira trocar senha do MySQL:

# mysqladmin -u root -p password UmaBoaSenha

Fontes:

http://www.vivaolinux.com.br/artigo/Apache2-PHP5-MySQL5-e-PhpMyAdmin-com-certificacao-SSL-no-Debian-Etch/?pagina=1

Migrando conta de usuários

Ao reinstalar o sistema ou mudar de sistema linux, no caso de um servidor voce pode querer manter as contas de usuarios. Para isso você deve olhar os seguintes arquivos:

/etc/passwd -> onde fica as configuracoes basicas dos usuarios

/etc/shadow -> aqui fica armazenada as senhas de usuarios, criptografadas logico!

/etc/group -> este arquivo guarda os grupos e os integrantes deles

Minha recomendação é:

* Fazer backup desses arquivos e pastas dos usuários  ao reinstalar o sistema.

* Depois você pega cada linha de usuário que deseja migrar e coloca nos mesmos arquivos do novo sistema.

* Copiar com as mesmas permissões as pastas de usuários para o novo servidor.

* Tomando cuidado para não colocar nomes ou identificações já existentes.

Abraços!

Redimensionar e rotacionar imagens no Ubuntu

Você foi fazer uma viagem/passeio/aniversario/churrasco com galera e bateu foto de tudo e ficou de mandar pra galera, mas na hora do envio as fotos ficaram com 300, 500, 600 Mega bytes e você não sabe o que fazer para compartilhar essas fotos com a galera???

Seus problemas acabaram!

Instale o Nautilus Image Converter uma extensão do Nautilus para Redimensionar e rotacionar imagens!

Nada de programas complexos! Nada de scripts de POG! Nada de Paint!

Resolvemos nosso problema, através de um clique, abra o menu das opções com uma opção para redimensionar.

Ele faz exatamente o que se quer, aparece quando se clica numa imagem, redimensiona uma imagem ou rotaciona ela e ainda dá a possibilidade de sobrepor o resultado ou então criar um novo arquivo.

Instalação do Nautilus Image Converter
Tal como na maioria dos programas em Ubuntu, a instalação é muito simples,

no Terminal:

$ sudo apt-get install nautilus-image-converter

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