18 de dez. de 2013
mc (Midnight Commander) lento [ resolvido ]
O mc fica lento durante a sua iniciação.
Ocorre é que ele tenta resolver nomes para o host local bastando para resolver o problema acrescentar os nomes do host local no arquivo /etc/hosts.
Ex:
172.18.162.199 nomedohostlocal nomedohostlocal.nomedodominiolocal
10.39.145.199 nomedohostlocal nomedohostlocal.nomedodominiolocal
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 nomedohostlocal.nomedodominiolocal nomedohostlocal
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 nomedohostlocal.nomedodominiolocal nomedohostlocal
Se a dica foi útil para você e desejar fazer uma doação este é meu endereço Bitcoin 14jtPns4wzqpKt4smzE7uiL8C2BXycv627
Obrigado!
18 de abr. de 2012
Instalando o Slackware virtualizado com drivers Virtio
na primeira linha do /etc/lilo.conf acrescente:
disk=/dev/vda bios=0x80 max-partitions=7
na segunda:
boot = /dev/vda
Na seção de imagens coloque:
root = /dev/vda1
Feito isso instale o lilo com a opção "install lilo" no menu.
Irá exibir uma mensagem de erro mas não se incomode com isso, é normal.
Agora vamos criar o initrd para que o Kernel possa carregar os módulos Virtio antes do demais.
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
mount -t proc proc /mnt/proc
chroot /mnt
Execute o mkinitrd_command_generator.sh, ele ira exibir o comando para a criação correta do initrd.
/usr/share/mkinitrd/mkinitrd_command_generator.sh
A saída será algo parecido com isso:
mkinitrd -c -k 2.6.38.7 -f ext4 -r /dev/vda1 -m virtio_ring:virtio_blk:virtio_pci:virtio_balloon:virtio_net:jbd2:mbcache:ext4 -u -o /boot/initrd-2.6.38.7.img
Execute o comando como acima e o mkinitrd irá criar o arquivo /boot/initrd-2.6.38.7.img
agora crie um link simbólico para ele:
cd /boot
ln -sf initrd-2.6.38.7.img initrd.gz
Em seguida aponte para ele em seu /etc/lilo.conf imediatamente abaixo da imagem do Kernel
initrd = /boot/initrd.gz
Feito isso reinstale o lilo e reinicie a máquina virtual.
Pronto! O Seu Slackware estrá rodando virtualizado com os drivers Virtio
16 de abr. de 2010
Formatando endereços MAC com Sed
A saída será:
00:12:0E:3F:B0:9F
24 de mar. de 2010
insira no crontab com com freqüencia você deseja que o backup seja feito a linha de comando abaixo. Notem que este sistema foi implementado com dois discos rígidos que trabalham em redundância.
min | hora | dia-mês | mês | dia-semana | comando |
* | * | * | * | * | * |
0 a 59 | 0 a 23 | 1 a 31 | 1 a 12 | 0 a 6 | - |
| Obs: Para os dias da semana usa-se a seguinte disposição: 0 para domingo, 1 para segunda, 2 para terça e assim por diante. Os asteriscos são usados para omitir as suas respectivas unidades de tempo. | |||||
Aqui está dizendo: "o comando do sexto campo toda hora, todo dia, nos minutos 1, 21 e 41"
Aqui está dizendo: "Apagar todo conteúdo do diretório /tmp toda segunda-feira, as 4:30 da manhã.".
Aqui está dizendo: "Executar o mrtg como usuário root, durante 5 e 5 minutos dos minutos 0-59. Ou seja, executar de 5 em 5 minutos o mrtg sempre.".
Com relação ao crontab foram extraídos da página do Eitch http://www.devin.com.br/eitch/
Proxy ARP
A primeira é com o iptables, mas esta solução fica um tanto complicada quando a máquina possui muitos serviços que devam ser acessados.
v.x.y.z é o IP da sua interface de saída para a internet no caso ppp0
echo "1" > /proc/sys/net/ipv4/conf/eth1/proxy_arp
192.168.10.20 00:18:ff:1f:d1:ba
ip neigh add 192.168.10.20 lladdr 00:18:ff:1f:d1:ba dev eth0
Destruindo arquivos e sistemas de arquivos de forma segura
23 de mar. de 2010
Lista de usuários padrão no GNU/Linux
USER | UID | GID | HOME DIR | SHELL |
| root | 0 | 0 | /root | /bin/bash |
| bin | 1 | 1 | /sbin/nologin | |
| daemon | 2 | 2 | /sbin | /sbin/nologin |
| adm | 3 | 3 | /var/adm | /sbin/nologin |
| lp | 4 | 7 | /var/spool/lpd | /sbin/nologin |
| sync | 5 | 0 | /sbin | /sbin/sync |
| shutdown | 6 | 0 | /sbin | /sbin/shutdown |
| halt | 7 | 0 | /sbin | /sbin/halt |
| 8 | 12 | /var/spool/mail | /sbin/nologin | |
| news | 9 | 13 | /var/spool/news | |
| uucp | 10 | 14 | /var/spool/uucp | /sbin/nologin |
| operator | 11 | 0 | /root | /sbin/nologin |
| games | 12 | 100 | /usr/games | /sbin/nologin |
| gopher | 13 | 30 | /usr/lib/gopher-data | /sbin/nologin |
| ftp | 14 | 50 | /var/ftp | /sbin/nologin |
| nobody | 99 | 99 | / | /sbin/nologin |
| vcsa | 69 | 69 | /dev | /sbin/nologin |
| rpm | 37 | 37 | /var/lib/rpm | /bin/bash |
| wnn | 49 | 49 | /var/lib/wnn | /bin/bash |
| ntp | 38 | 38 | /etc/ntp | /sbin/nologin |
| nscd | 28 | 28 | / | /bin/false |
| apache | 48 | 48 | /var/www | /bin/false |
| mysql | 27 | 27 | /var/lib/mysql | /bin/bash |
| mailnull | 47 | 47 | /var/spool/mqueue | /sbin/nologin |
| smmsp | 51 | 51 | /var/spool/mqueue | /sbin/nologin |
| rpc | 32 | 32 | / | /sbin/nologin |
| xfs | 43 | 43 | /etc/X11/fs | /sbin/nologin |
| gdm | 42 | 42 | /var/gdm | /sbin/nologin |
| rpcuser | 29 | 29 | /var/lib/nfs | /sbin/nologin |
| nsfnobody | 65534 | 65534 | /var/lib/nfs | /sbin/nologin |
| sshd | 74 | 74 | /var/empty/sshd | /sbin/nologin |
| ident | 98 | 98 | / | /sbin/nologin |
| radvd | 75 | 75 | / | /bin/false |
| postgres | 26 | 26 | /var/lib/pqsql | /bin/bash |
| squid | 23 | 23 | /var/squid | /dev/null |
| named | 25 | 25 | /var/named | /bin/false |
| pcap | 77 | 77 | /var/arpwatch | /sbin/nologin |
| amanda | 33 | 6 | var/lib/amanda/ | /bin/bash |
| ldap | 55 | 55 | /var/lib/ldap | /bin/false |
| postfix | 89 | 89 | /var/spool/postfix | /bin/true |
| privoxy | 100 | 101 | /etc/privoxy | |
| pvm | 24 | 24 | /usr/share/pvm3 | /bin/bash |
| Podem ocorrer diferenças entre distros | ||||
Permissões no GNU/Linux
| Tipo | Dono | Usuários do mesmo grupo do dono | Usuários de grupos que não o do dono |
d - diretório | r w x 4 2 1 | r w x 4 2 1 | r w x 4 2 1 |
Permissões especias
| Tipo | VALOR | FUNÇÃO |
SUID | 4 | Quando ligado faz com que o arquivo rode com as permissões do seu dono e não com as de que o executa. É somente aplicável a rquivos executáveis. |
| SGUID | 2 | Quando ligado faz com que o arquivo rode com as permissões do grupo de seu dono e não com as permissões do grupo de quem o acessa. Pode ser usado em arquivos executáveis ou não incluindo diretórios. Se aplicado a diretórios todos os arquivos e subdiretórios que forem criados dentro deste terão as permissões de grupo do diretório pai |
| STICKY | 1 | Este bit quando ativado faz com que o arquivo/diretório só possa ser alterado/apagado por que o criou embora possa ser visualizado, aberto ou executado por qualquer usuário. Além do próprio usuário somente o root pode altera-lo ou apaga-lo |
Exemplos:
Quero que um script criado pelo usuário root seja executado por qualquer usuário de qualquer grupo.
chmod 4755 /home/foo/script ou chmod 6755 /home/foo/script
Quero criar um diretório público em um servidor de arquivos Samba onde o dono do arquivo possa altera-lo ou apaga-lo mas os outros usuários só possam visualiza-lo.
chmod 1755 /home/diretorio_publico_em_questao
Eliminando o Neighbour table overflow
Esta técnica sempre funcionou muito bem com redes pequenas com até 40 máquinas mas surgiu um problema quando empreguei a mesma técnica com uma rede de mais de 500 máquinas.
Após alguns munitos de operação o sistema começava a dar uma mensagem de erro "Neighbour table overflow" a rede começava a ficar lenta até parar de vez.
Após muito pesquisar descobri o que ocorria, o kernel ao ter que manipular uma enorme quantidade de requisições ARP gerava uma tabela ARP gigantesca e por default ele não manipula tabelas superiores a 1024 entradas, passando disso ele provocava um transbordamento da tabela ARP que paralizava o sistema.
A solução para o problema foi a seguinte:
Alteramos o valor de entradas ARP que o Kernel pode suportar para seu limite máximo da seguinte forma.
echo 16384 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo 32768 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 65535 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
Pronto, basta inserir as linhas acima em seu rc.local antes que seu firewall seja levantado.
No meu caso as inseri no /etc/rc.d/rc.S do Slackware 10.2 antes mesmo da inicilização das interfaces de rede.
Está funcionando pefeitamente desde então.
Até a próxima! E um fraternal abraço a todos.
L7 Filter no Slackware
O L7 simplesmente o chamaremos assim é um classificador de protocolos para o Netfilter, e identifica pacotes na camada de plicação (camada 7 OSI), ele é mais um classificador assim como os que classificam MAC-Addresess, portas, endereços etc.
Com ele podemos controlar tudo o que passa pelo seu gateway, bloqueando msn. e-mail, navegação, P2P etc.
1 - Baixar os programas necessários.
http://l7-filter.sourceforge.net/ - Site do projeto
http://www.kernel.org/ - Site do Kernel
http://www.netfilter.org - Site onde baixaremos o Iptables
2 - Aplicar os patches no Kernel.
Usamos em nosso caso o Kernel versão 2.6.15.3, o mais recente em 10/02/2006 data em que este tutorial foi escrito.
descompactamos o kernel para o diretório /usr/src/ onde será criado o diretório /linux-2.6.15.3, em seguida criamos o link simbólico para os fontes do novo kernel,(isso é importante pois o se não for feito haverá problemas na instalação do Iptables) finalmente a aplicação do patch conforme segue abaixo.
cd /usr/src/linux-2.6.15.3/
patch -p1 < /path/do/netfilter-layer7-v2.1/kernel-2.6.13-2.6.15-layer7-2.1.patch
Obs: Caso você já haja configurado este kernel antes de um "make mrproper" para zera-lo, pois do contrário o patch não será corretamente aplicado, ele não irá gerar a opção para habilitar o l7-filter.
3 - Configurando o Kernel
Abordarei apenas os ítens que se referem ao Netfilter e L7
make menuconfig
Code maturity level options > Prompt for development and/or incomplete code/drivers
habilite esta opção
Networking > Networking options > Network packet filtering (replaces ipchains) > IP: Netfilter Configuration > Layer 7 match support (EXPERIMENTAL)
Configure-o como módulo
Recompile o Kernel 2.6.15.3 na ordem abaixo, dentro do diretório dos fontes do Kernel
make clean
make bzImage
cp /usr/src/linux-2.6.15.3/System.map /boot/System.map-2.6.15.3
ln -sf /boot/System.map-2.6.15.3 /boot/System.map
cp /usr/src/linux-2.6.15.3/.config /boot/config-2.6.15.3
ln -sf /boot/config-2.6.15.3 /boot/config
cp /usr/src/linux-2.6.15.3/arch/i386/boot/bzImage /boot/vmlinuz-2.6.15.3
make modules
make modules install
Feito isso, adcione o novo Kernel ao lilo e reinicie a máquina
4 - Aplicando o patch ao Iptables
cd /path/do/iptables-1.3.5
patch -p1 < /path/do/netfilter-layer7-v2.1/iptables-layer7-2.1.patch
Devido a um pequeno bug do l7, você deverá alterar uma permissão.
chmod +x /path/do/iptables-1.3.5/extensions/.layer7-test
5 - Compilando o Iptables
Primeiramente remova a versão anterior do iptables
removepkg iptables
agora recompile-lo
make KERNELDIR=/usr/src/linux/
make KERNELDIR=/usr/src/linux/ install
ou simplesmente:
make
make install
6 - Instalando os protocolos do L7
cd /path/do/l7-protocols-2006-01-22
make install
Pronto! Os protocolos foram copiados para o diretório /etc/l7-protocols/
7 - Habilitando o serviço.
Primeiramente carregue o módulo do l7-filter com o comando: modprobe ipt_layer7
agora basta adcionar as regras bloqueando o que você desejar.
Ex:
iptables -A FORWARD -m layer7 --l7proto msnmessenger -s 192.168.10.0/24 -j DROP
A regra acima bloqueia o msn, mas se você quiser apenas bloquear a transferência de arquivos e não o msn todo usa a seguinte:
iptables -A FORWARD -m layer7 --l7proto msn-filetransfer -s 192.168.10.0/24 -j DROP
SSH sem senha
Primeira máquina
ssh-keygen -t rsa
O programa lhe perguntará o path e nome do arquivo com a chave, bem como uma senha. Deixe a senha em branco, simplesmente dê "enter" em tudo.
Em seguida o ssh-keygen criará um arquivo /root/.ssh/id_dsa.pub que deve ser copiado para a segunda máquina com o comando scp.
Ex:
scp /root/.ssh/id_dsa.pub 200.226.231.10:/root/
Segunda máquina
Já com o arquivo copiado na segunda máquina crie o arquivo /root/.ssh/authorized_keys2 com o comando touch.
touch /root/.ssh/authorized_keys2
Agora copie a chave para este arquivo com o comando cat
cat id_dsa.pub >> /root/.ssh/authorized_keys2
Pronto agora comandos ssh e scp podem ser dados diretamente para a máquina destino sem a necessidade de senha. Isso é muito útil para fazermos backups automatizados usando scp ou rsync.
Sincronizando Relógios de Sistema e Hardware
Para sincronizar o relógio do hardware a partir do sistema:
hwclock --systohc
Para sincronizar o relógio do sistema a partir do hardware
hwclock --hctosys
Montando compartilhamentos Windows e Samba
Se a dica foi útil para você e desejar fazer uma doação este é meu endereço Bitcoin 14jtPns4wzqpKt4smzE7uiL8C2BXycv627
Obrigado!
Gua rápido para crimpagem de conectores RJ-45
| CABEAMENTO T568A 10BaseT/100BaseT (STRAIGH) | ||
| pino / cor | SINAL | pino / cor |
| 1 - B. VERDE | +TD | B. VERDE - 1 |
| 2 - VERDE | -TD | VERDE - 2 |
| 3 - B. LARANJA | +RD | B. LARANJA - 3 |
| 4 - AZUL | - | AZUL - 4 |
| 5 - B. AZUL | - | B. AZUL - 5 |
| 6 - LARANJA | -RD | LARANJA - 6 |
| 7 - B. MARROM | - | B. MARROM - 7 |
| 8 - MARROM | - | MARROM - 8 |
| CABEAMENTO T568A 10BaseT/100BaseT (CROSS) | ||
| pino / cor | SINAL | pino / cor |
| 1 - B. VERDE | +TD | B. LARANJA - 1 |
| 2 - VERDE | -TD | LARANJA - 2 |
| 3 - B. LARANJA | +RD | B. VERDE - 3 |
| 4 - AZUL | - | AZUL - 4 |
| 5 - B. AZUL | - | B. AZUL - 5 |
| 6 - LARANJA | -RD | VERDE - 6 |
| 7 - B. MARROM | - | B. MARROM - 7 |
| 8 - MARROM | - | MARROM - 8 |
| CABEAMENTO T568A 1000BaseT (STRAIGH) | ||
| pino / cor | SINAL | pino / cor |
| 1 - B. VERDE | +BI_DA | B. VERDE - 1 |
| 2 - VERDE | -BI_DA | VERDE - 2 |
| 3 - B. LARANJA | +BI_DB | B. LARANJA - 3 |
| 4 - AZUL | -BI_DC | AZUL - 4 |
| 5 - B. AZUL | +BI_DC | B. AZUL - 5 |
| 6 - LARANJA | -BI_DB | LARANJA - 6 |
| 7 - B. MARROM | +BI_DD | B. MARROM - 7 |
| 8 - MARROM | -BI_DD | MARROM - 8 |
| CABEAMENTO T568A 1000BaseT (CROSS) | ||
| pino / cor | SINAL | pino / cor |
| 1 - B. VERDE | +BI_DA | B. LARANJA - 1 |
| 2 - VERDE | -BI_DA | LARANJA - 2 |
| 3 - B. LARANJA | +BI_DB | B. VERDE - 3 |
| 4 - AZUL | +BI_DC | B. MARROM - 4 |
| 5 - B. AZUL | -BI_DC | MARROM - 5 |
| 6 - LARANJA | -BI_DB | VERDE - 6 |
| 7 - B. MARROM | +BI_DD | AZUL - 7 |
| 8 - MARROM | -BI_DD | B. AZUL - 8 |
Faixa de IPs privados
A IANA determina as seguintes faixas de IPs para redes privadas:
Rede | IP inicial | IP final | Broadcast |
| 10.0.0.0/8 | 10.0.0.1 | 10.255.255.254 | 10.255.255.255 |
| 172.16.0.0/12 | 172.16.0.1 | 172.31.255.254 | 172.31.255.255 |
| 192.168.0.0/16 | 192.168.0.1 | 192.168.255.254 | 192.168.255.255 |
Redes CIDR
InterNIC | Sub-Rede | Quant. hosts | Nota |
| /0 | 0.0.0.0 | 4,2 bilhões | Inviável |
| /1 | 128.0.0.0 | 2,1 bilhões | Teórico |
| /2 | 192.0.0.0 | 1,05 bilhão | Teórico |
| /3 | 224.0.0.0 | 536 milhões | Teórico |
| /4 | 240.0.0.0 | 268 milhões | Teórico |
| /5 | 248.0.0.0 | 128 milhões | Teórico |
| /6 | 252.0.0.0 | 67 milhões | Teórico |
| /7 | 254.0.0.0 | 33 milhões | Teórico |
| /8 | 255.0.0.0 | 16 milhões | Classe A |
| /9 | 255.128.0.0 | 8 milhões | |
| /10 | 255.192.0.0 | 4 milhões | |
| /11 | 255.224.0.0 | 2 milhões | |
| /12 | 255.240.0.0 | 1 milhão | |
| /13 | 255.248.0.0 | 524.288 | |
| /14 | 255.252.0.0 | 262.144 | |
| /15 | 255.254.0.0 | 131.072 | |
| /16 | 255.255.0.0 | 65.536 | Classe B |
| /17 | 255.255.128.0 | 32.768 | |
| /18 | 255.255.192.0 | 16384 | |
| /19 | 255.255.224.0 | 8192 | |
| /20 | 255.255.240.0 | 4096 | |
| /21 | 255.255.248.0 | 2048 | |
| /22 | 255.255.252.0 | 1024 | |
| /23 | 255.255.254.0 | 512 | |
| /24 | 255.255.255.0 | 256 | Classe C |
| /25 | 255.255.255.128 | 128 | |
| /26 | 255.255.255.192 | 64 | |
| /27 | 255.255.255.224 | 32 | |
| /28 | 255.255.255.240 | 16 | |
| /29 | 255.255.255.248 | 8 | |
| /30 | 255.255.255.252 | 2 | |
| /31 | 255.255.255.254 | 1 | |
| /32 | 255.255.255.255 | 1 | Sem broadcast |