rootsh: Keylogger para CLI do Linux

rootsh é um shell que loga tudo o que um usuário root vê no terminal. É útil se você tem vários administradores com acesso root num servidor e você quer gravar exatamente o que o usuário faz. Fazer o download do rootsh-1.5.3.tar.gz. wget http://www.virtualxp.org/downloads/rootsh-1.5.3.tar.gz Descompactar, configurar, compilar e instalar: tar zxvf rootsh-1.5.3.tar.gz -C /usr/src cd /usr/src/rootsh-1.5.3 ./configure --disable-syslog --disable-linenumbering make make install Depois de instalado os binários, o sistema está quase pronto. A única necessidade que...
read more

grep, sed, cut e cat: Script parser para log do Oracle Listener

O que o script faz? Faz um parse no arquivo de log do Oracle Listener e extrai o HOST do usuário, o USER e o HOST e PORTA que o usuário está conectando. #!/bin/bash # ############################################################################### # # Descrição: Fazer o parse do LOG e extrair apenas o HOST e USER, também # HOST e PORT # Autor: Daniel K Lima # Data : 10/03/2010 # Uso : ./parser.sh arquivo.log # ############################################################################### # Parâmetros LOG=${1} SED=$(which sed) CUT=$(which cut) GREP=$(which...
read more

FreeBSD: listagem de todos os HDs instalados

Para fazer uma listagem de todos os HDs (discos) instalados num computador com FreeBSD, uma das formas de se fazer isso é executar o comando: egrep 'ad[0-9]|cd[0-9]' /var/run/dmesg.boot E a saída desse comando será algo como: acd0: CDRW at ata0-master UDMA33 ad2: 76318MB at ata1-master UDMA100 ad3: 76318MB at ata1-slave UDMA100 Onde: IDE Hard disk começa com ad – /dev/ad0 primeiro IDE hard disk, /dev/ad1 segundo hard disk e assim por diante SCSI Hard disk começam com da – /dev/da* IDE CDROM/RW/DVD começam com acd – /dev/acd* SCSI CDROM/RW/DVD começam com cd –...
read more

CLI: Converter um PDF para uma imagem

Ter um PDF é bom, é prático e tudo o mais, mas é necessário ter um programa específico para poder abrir os arquivos .pdf como o Acrobat Reader, o evince e outros. As vezes não é necessário ou não é desejado ter um programa específico para poder abrir PDFs, sendo mais prático, no entanto, utilizar o próprio navegador que suporta abrir as imagens diretamente sem auxílio externo. Caso essa seja a sua necessidade, converter os PDFs que estejam num servidor ou o que seja, vou mostrar abaixo como converter PDF para imagem através da linha de comando do Linux...
read more

SED: adicionar 1 string a cada 2 caracteres

Estou colocando aqui um exemplo que pode ser adaptado para sua necessidade. No caso, essa linha adiciona o caracter “:” (sem as aspas) a cada 2 caracteres. Utilizei para formatar uma lista enorme de MAC address que me foi passado no formato 00106037614C O arquivo texto original continha várias linhas: Arquivo: mac1.txt 001060376173 001060376124 00106037614C 001060374840 001060376125 00106037612A 001060376176 001060375D9A 001060375D97 E executando sed, na linha abaixo sed -e :a -e 's/\(.*[0-9,A-Z]\)\([0-9,A-Z]\{2\}\)/\1:\2/;ta' mac1.txt > mac2.txt O resultado...
read more

Bash: Convertendo TABs para Espaço em arquivos

É possível utilizar várias ferramentas para essa finalidade, como por exemplo o sed e o awk. O comando expand coverte todos os TABs para espaços. Ele preserva os caracteres de backspace na saída; eles que fazem com os espaços sejam reduzidos na contagem para o cálculo dos TABs. expand arquivo.log > output.log expand dados.txt > output.txt expand -t 2 dados.txt > output.txt A opção -t pode ser usada para gerar uma lista separada por vírgula (arquivo CSV). Caso você queira fazer o contrário, ou seja, converter espaços para TABs, use o comando unexpand. Veja as man...
read more

Fazendo com que o GRUB utilize um kernel específico uma vez ao dar boot

Cenário Essa situação é interessante quando foi compilado um novo kernel e se está com acesso remoto ao servidor, ou seja, mandar um reboot remotamente com um novo kernel, muita coisa pode acontecer, e o mínimo é perder a conexão. Para essas situações tem como fazer com que o GRUB utilize um kernel em específico apenas uma vez, e em caso de Kernel Panic o servidor será resetado e o kernel original será utilizado, voltando assim o acesso remoto para serem feitas as alterações necessárias. Preparando o ambiente É importante também definir os seguinte...
read more

FreeBSD: como montar uma imagem de CD .iso (iso9660) localmente

Muitas vezes baixamos uma imagem de CD mas não queremos ou não precisamos queimar um CD pra pegar o necessário. No linux, para montar uma imagem de CD o comando mount -o loop /caminho/imagem.iso /ponto/de/montagem é o suficiente, mas e no FreeBSD? Como chegar ao mesmo resultado? A sequencia de comandos a serem digitados é esta: mdconfig -a -t vnode -f /caminho/para/imagem.iso -u 1 mount -t cd9660 /dev/md1...
read more

Script shell com expect para atualização em massa para o horário de verão 2009/2010

Para quem trabalha com vários servidores Linux / FreeBSD atualizar todos os servidores para o horário e verão é uma tarefa cansativa e chata. Vou disponibilizar aqui um script para ser utilizado nessa tarefa, ou seja, um script que atualizará todos os servidores listados em um arquivo e os deixará prontos para a virada do horário. O funcionamento do script é bem simples, é composto por 3 arquivos daylight.sh daylight.exp servidores.txt Vou explicar rapidamente o que é cada um desses arquivos e o que fazem. Pré-requisitos expect openssh Posts...
read more

Find: mostrar apenas links simbólicos

Se você quer saber quais arquivos no seu servidor são apenas links simbólicos, aqui está como fazer: find / -type l No exemplo mostrado ele vai procurar por todo o sistema, caso queira restringir a apenas um diretório em específico, substitua o ‘/’ por ‘/diretorio’, sem os apóstrofos. Blogged with the Flock...
read more

Forçando emails que estão na fila de envio do Sendmail a serem enviadas

O comando sendmail -q forçara o envio das mensagens que estejam na fila a serem enviadas. Já o comando mailq mostrará o que está preso na...
read more

Como saber como o Query Cache do MySQL está se comportanto

O que é o Query Cache do MySQL? O Query Cache armazena o texto de um comando SELECT junto com o resultado correspondente que foi enviado ao cliente. Se uma expressão idêntica for recebida depois, o servidor pegará essas informações do Query Cache ao invés de executá-a novamente. O Query Cache é compartilhado com outras sessões, então o resultado gerado por um cliente pode ser enviado a outro como resposta para a mesma query enviada por outro cliente. O Query Cache é extremamente útil em um ambiente onde você possua tabelas que não se alteram com frequência e o servidor recebe muitas...
read more

Como alterar a porta que o SSH “ouve”

. Este post serve para qualquer distribuição Linux ou qualquer BSD, pois por padrão os arquivos de configuração do OpenSSH estão em /etc/ssh Começe por editar o arquivo /etc/ssh/sshd_config e localizar a linha #Port 22 Por padrão ela vem comentada porque o SSH ouve na porta 22 por padrão mesmo, descomente essa linha e altere para uma outra porta Port 8222 É possível também adicionar várias linhas Port sendo que com isso, em cada porta especificada o OpenSSH irá responder nas portas listadas, mas tenha certeza que a porta especificada não esteja em uso no momento. Bastando para isso...
read more

Como reiniciar o Linux pela linha de comando

Para reiniciar o servidor Linux ou FreeBSD like, apenas execute o comando reboot ou shutdown -r now Como resultado você terá algo como: Broadcast message from root (pts/0) (Wed Apr 20 01:23:45 2009): The system is going down for...
read more

Auto restart Apache quando o processo “morre”

Aqui está um shell script simples para ser usado no CentOS / Red Hat / Debian etc. Esse script funciona em outros sistemas operacionais com poucas modificações. Copie o código do script abaixo e cole num arquivo, podendo ser chamado /usr/local/bin/httpdcheck. Após isso, edite o crontab para rodar a cada 5 minutos */5 * * * * /usr/local/bin/httpdcheck >/dev/null 2>&1 Abaixo está o script, após editá-lo no arquivo, não esqueça de dar permissão de execução para o arquivo com chmod 755 /usr/local/bin/httpdcheck #!/bin/bash # Comente se está usando Debian RESTART="/sbin/service...
read more
Page 1 of 212