Corrigindo erros do ext4:
sudo fsck.ext4 -cDfty -C 0 /dev/sda1
Fontes:
http://desgualdo.blogspot.com.br/2012/06/como-corrigir-erros-do-disco.html
Corrigindo erros do ext4:
sudo fsck.ext4 -cDfty -C 0 /dev/sda1
Fontes:
http://desgualdo.blogspot.com.br/2012/06/como-corrigir-erros-do-disco.html
grep é um aplicativo para linha de comando de sistemas Unix/Linux que faz buscas no conteúdo dos arquivos
-Wikipedia
Exemplos
Busca simples:
$ grep ‘joao’ arquivo.txt
Recursiva
$ grep ‘texto’ /etc/* -r
Mostrando as linhas:
$ grep -n ‘joao’ arquivo.txt
fontes:
http://www.vivaolinux.com.br/artigo/Usando-grep-e-egrep?pagina=2
http://ndvo.blog.br/pt-br/gnulinux/como-procurar-por-uma-string-em-v%C3%A1rios-arquivos/
Tutorial básico para criar um servidor de e-mails com postfix, imap, pop, mysql, devecot e cliente de e-mails web roundcube.
opção rápida: http://www.iredmail.org
Estou utilizando o GNU/Linux Debian amd64
instalar o postfix:
# apt-get install postfix
Continuar lendo Instalando servidor de e-mail postfix, imap, dovecot
Uma configuração de iptables
Você pode aprender tudo sobre Iptables aqui: http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html
Compartilha a rede externa com a interna e liberar as principais portas do servidor:
#!/bin/bash
#################### Inicio Firewall #################################
modprobe ip_nat
modprobe ip_nat_ftp
modprobe ip_queue
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe iptable_mangle
modprobe ipt_state
modprobe ipt_limit
modprobe ipt_multiport
modprobe ipt_mac
modprobe ipt_string
## Limpando as Regras existentes #######
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t filter -F
iptables -X
iptables -Z
## Definindo politica padrão (Nega entrada e permite saida)
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
## Estabelece relação de confiança entre maquinas da rede local eth0(rede local)
iptables -A INPUT -i eth1 -s 10.1.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -i eth1 -m state –state NEW -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
############################ Compartilhamento Internet #########################
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
### SSH
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
### HTTP
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
### HTTPS
iptables -A INPUT -p tcp –dport 443 -j ACCEPT
### SMPT
iptables -A INPUT -p tcp –dport 25 -j ACCEPT
### IMAP
iptables -A INPUT -p tcp –dport 143 -j ACCEPT
### IMAPS
iptables -A INPUT -p tcp –dport 993 -j ACCEPT
### POP
iptables -A INPUT -p tcp –dport 110 -j ACCEPT
### POPS
iptables -A INPUT -p tcp –dport 465 -j ACCEPT
### ???
iptables -A INPUT -p tcp –dport 587 -j ACCEPT
### POPS
iptables -A INPUT -p tcp –dport 995 -j ACCEPT
### ICMP e ping
iptables -A INPUT -p icmp -j ACCEPT
######################################## Fim ###################################
Para salvar no Debian:
# iptables-save > /etc/default/iptables
# iptables-restore < /etc/default/iptables
Fontes:
http://www.guiafoca.org/cgs/guia/avancado/ch-fw-iptables.html
http://deangerber.com/blog/2011/09/10/basic-iptables-firewall-configuration/
http://www.rackspace.com/knowledge_center/article/mail-server-opening-ports-in-the-linux-firewall
Precisei instalar o Debian em um sistema com raid 1 e descobri que simplesmente o grub dava falha.
Depois de muito googlear, descobri que é necessário instalar o Debian, optar por não instalar o iniciador de boot. Reiniciar o instalador e entrar no modo rescuse, depois escolher o mapeamento correto para instalar o grub no /
procedimentos podem ser encontrados aqui:
https://wiki.debian.org/DebianInstaller/SataRaid
Use the following method only if you want to have a dual-boot system with Debian and the other operating system on the same Serial ATA RAID:
For example grub-install /dev/mapper/isw-jggdha7s-SYS (Note that there is no number at the end of the name). You may have something like /dev/mapper/isw-jggdha7s-SYS and /dev/mapper/isw-jggdha7s-SYS1, or /dev/mapper/isw-jggdha7s-Volume and /dev/mapper/isw-jggdha7s-Volume1. Choose the one without the partition number and press enter.
Por fim precisei editar na hora do boot o local correto de boot, vc consegue isso com digitando “e” no menu de boot.
Depois de bootar entrei em /boot/grub/grub.cfg, e alterei ali o local de boot tbm para o mapeamento do Raid correto.
Ainda é necessário fazer o sistema sempre apontar para o mapeamento certo do raid, mas isso eu não fiz ainda 😀
# nano /etc/network/interfaces
ou
# vim /etc/network/interfaces
Agora vamos configurar. Lembrando que eth0 é o dispositivo correspondente à minha placa:
Broadcast não é necessário, pois ele é configurado automaticamente.
Obs.: Está é a minha configuração, provavelmente você terá que adaptar para a sua rede.
Se você utiliza uma placa de rede para acesso externo, como eth0, basta modificar “eth0” para “eth1”.
Agora vamos reiniciar a conexão de rede:
# /etc/init.d/networking restart
Pronto, configuração feita e é só aproveitar.
Fontes:
http://www.vivaolinux.com.br/topico/Iniciantes-no-Linux/Debian.Colocar-Ip-automatico
http://www.vivaolinux.com.br/dica/Configurando-placa-de-rede-para-IP-fixo-no-Debian
http://www.vivaolinux.com.br/topico/Debian/IP-FIXO
Clonezilla é um live cd/usb que possibilita a clonagem e recuperação de HDs inteiros e partições.
O interessante é que possibilita a restauração via HD externo ou rede via SSH, o que torna o serviço muito mais rápido quando temos varias máquinas para clonar.
Site oficial: http://clonezilla.org/
Instruções para bootar via USB: http://clonezilla.org/liveusb.php#linux-method-b
Mais:
Descobri somente na pratica que o MBR está limitado para partições de até 2 TB, mas para maiores temos uma solução o GPT!
Para mais informações olhe as fontes!
Aqui vai como fazer:
# fdisk -l /dev/sdb
Saida:
Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes 255 heads, 63 sectors/track, 364801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdb doesn't contain a valid partition table
# parted /dev/sdb
Saída:
GNU Parted 2.3 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted)
Criando um novo rotulo do tipo GPT:
(parted) mklabel gpt
saída:
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? yes (parted)
Setar para TB a unidade de medida:
(parted) unit TB
Criando a partição com 3TB:
(parted) mkpart primary 0.00TB 3.00TB
Imprimindo o resultado:
(parted) print
Sample outputs:
Model: ATA ST33000651AS (scsi) Disk /dev/sdb: 3.00TB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 0.00TB 3.00TB 3.00TB ext4 primary
Saindo e salvando as mudanças:
(parted) quit
Agora utilize o mkfs.ext4 para formatar a partição criada!
# mkfs.ext4 /dev/sdb1
Pronto! Linux é foda né?
Fontes:
http://www.ibm.com/developerworks/br/linux/library/l-gpt/
http://www.cyberciti.biz/tips/fdisk-unable-to-create-partition-greater-2tb.html
http://www.vivaolinux.com.br/artigo/Exemplos-praticos-de-comandos-com-Parted?pagina=1
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” pass=$(makepasswd –char $lenght) echo “$name:$pass” | chpasswd echo “A senha do usuario $name foi alterada para $pass ” |
———————
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.
No Ubuntu, para instalar o Pwgen, basta executar o comando abaixo no terminal.
$ sudo apt-get install pwgen
No Fedora, para instalar o Pwgen, basta executar o comando abaixo no terminal.
$ su -c 'yum install pwgen'
Para utilizar o Pwgen, temos algumas opções. Vide abaixo quais são elas.
$ 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/
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.
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
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