Essa ferramenta pode ser baixada em http://mysql-administrator.softonic.com.br, e tem para Windows e Linux.
Neste espaço eu pretendo escrever pequenos artigos, dicas e opiniões sobre Software Livre e Redes, além de comentários pertinentes ao mundo da Informática.
sexta-feira, 11 de janeiro de 2013
Mysql Administrator: ferramenta gráfica para o Mysql Server
Administrar o Mysql Server pela linha de comando é um porre! Há quem diga que quem é bom em servidores não usa a interface gráfica. Cada um, cada um. Mas eu ganho muito em produtividade quando uso o Mysql Administrator.
Com ele eu posso, de uma forma simples, criar databases, tabelas, usuários, permissões, enfim, tudo o que eu faria pela linha de comando.
Essa ferramenta pode ser baixada em http://mysql-administrator.softonic.com.br, e tem para Windows e Linux.
Essa ferramenta pode ser baixada em http://mysql-administrator.softonic.com.br, e tem para Windows e Linux.
sexta-feira, 28 de dezembro de 2012
Alta disponibilidade com Ucarp
Uma forma muito fácil e eficiente de ter alta disponibilidade em um sistema é utilizando dois servidores rodando o Ucarp.
No nosso exemplo, basta colocar a seguinte linha dentro do arquivo /etc/rc.local do servidor que será master.
No slave, inclua a mesma linha, omitindo o parâmetro -P
Em seguida, crie o arquivo /usr/local/sbin/up.sh em ambos os servidores. Este arquivo deve conter os comandos necessários para que o servidor assuma as funções de master, como por exemplo levantar a interface virtual e reiniciar os processos para que estes façam bind na nova interface. No nosso exemplo, o script terá o seguinte conteúdo:
Crie também o arquivo /usr/local/sbin/down.sh em ambos os servidores. Esse arquivos deve conter os comandos necessários para que o servidor deixe de ser master. No nosso exemplo, bastaria o seguinte:
Torne os dois arquivos executáveis em ambos os servidores.
Vamos supor que tenhamos dois servidores rodando o Squid (pode ser com qualquer software). O master está com o ip 10.50.0.144, e o slave com 10.50.0.146. O cluster funciona disponibilizando um terceiro ip 10.50.0.145 que vai migrar entre os servidor em caso de pane no master.
O primeiro passo é instalar o Ucarp. No Debian, use:
$ apt-get install ucarp
As opções do Ucarp são as seguintes:
-i Interface de rede a ser monitorada. Ex: -i eth0
-s Ip real da interface. Ex: -s 10.50.0.144
-v Id da vlan. Podem haver outros dispositivos em cluster na rede. Cada conjunto deve conter um id único. Ex: -v 140
-p Senha usada no cluster. Ex: -p 123456
-a Ip virtual da interface. Ex: -a 10.50.0.145
-u Script a ser executado quando o equipamento em questão assumir o cluster. Ex: -a /usr/local/sbin/up.sh
-d Script a ser executado quando o equipamento em questão deixar de ser o master no cluster. Ex: -d /usr/local/sbin/down.sh
-P Diz ao ucarp para sempre tentar ser o master no cluster, mesmo após um problema neste nó. Se essa opção não for especificada, caso aconteça algo no master, o cluster vai migrar para o slave, mas não voltará quando o master voltar a operar normalmente.
-B Faz o ucarp rodar em segundo plano.
No nosso exemplo, basta colocar a seguinte linha dentro do arquivo /etc/rc.local do servidor que será master.
/usr/sbin/ucarp -i eth0 -s 10.50.0.144 -v 140 -p 123456 -a 10.50.0.145 -u /usr/local/sbin/up.sh -d /usr/local/sbin/down.sh -P -B
No slave, inclua a mesma linha, omitindo o parâmetro -P
/usr/sbin/ucarp -i eth0 -s 10.50.0.144 -v 140 -p 123456 -a 10.50.0.145 -u /usr/local/sbin/up.sh -d /usr/local/sbin/down.sh -B
Em seguida, crie o arquivo /usr/local/sbin/up.sh em ambos os servidores. Este arquivo deve conter os comandos necessários para que o servidor assuma as funções de master, como por exemplo levantar a interface virtual e reiniciar os processos para que estes façam bind na nova interface. No nosso exemplo, o script terá o seguinte conteúdo:
#!/bin/bash
/sbin/ifconfig eth0:0 10.50.0.145 netmask 255.255.255.0
/etc/init.d/squid3 start
/sbin/ifconfig eth0:0 10.50.0.145 netmask 255.255.255.0
/etc/init.d/squid3 start
Crie também o arquivo /usr/local/sbin/down.sh em ambos os servidores. Esse arquivos deve conter os comandos necessários para que o servidor deixe de ser master. No nosso exemplo, bastaria o seguinte:
#!/bin/bash
/sbin/ifconfig eth0:0 down
/etc/init.d/squid3 stop
Torne os dois arquivos executáveis em ambos os servidores.
$ chmod +x /usr/local/sbin/up.sh /usr/local/sbin/down.sh
Reinicie os servidores e faça os testes. Eu uso o Ucarp em cluster de gateways, proxys e bancos de dados há quase dois anos e ele sempre funcionou perfeitamente.
Obs: Essa solução envolve alta disponibilidade para problemas de rede. Problemas com desempenho e bug em aplicações não são contemplados nesta solução.
quinta-feira, 27 de dezembro de 2012
Proxmox, virtualização profissional
Quem quer uma solução de virtualização profissional, o Proxmox é uma ótima opção.
A nova versão melhorou muito e muitas das funções que só estavam disponíveis via linha de comando agora estão integradas na Interface Web. Entre suas características estão:
- Opensource;
- Interface Web;
- Suporte a Active Directory;
- Vários níveis de permissão por usuários, grupos, vm e tipo de ação;
- Suporte a OpenVZ;
- Suporte a storage externo;
- Snapshot e backup agendado de vm;
- Mudança de configuração do hardware da vm "a quente";
- Migração de vm "a quente";
- Alta disponibilidade
Vale a pena analisar essa ferramenta. A instalação é simples e a interface é intuitiva. Você não terá dificuldades em aprender a mexer com ela.
O site oficial do programa é http://wwww.proxmox.com/.
quarta-feira, 26 de dezembro de 2012
Previsões para o futuro
Final de anos, experanças renovadas, e o pessoal fazendo aquelas previsões para o futuro (como se fosse possível fazer previsões para o passado!). Pois bem, eu também vou fazer as minhas.
Essas previsões são baseadas nos artigos e notícias que tenho lido nos últimos anos. E prá que serve isso? Serve para fazer uma análise de como será o mundo daqui a alguns anos e o que eu preciso fazer para me preparar para ele. Quando o futuro chegar, eu estarei preparado!
Em 2013
O uso de smartphones com acesso a Internet se popularizará no Brasil, principalmente depois da implantação da rede 4g, que deve começar oficialmente em abril. Esse equipamentos rodarão principalmente Android. E o FirefoxOS deverá vir instalado em alguns smartphones, e deve se beneficiar da banda 3/4g. Avanços na área de hardware, como novos tipos de baterias e de memórias mais rápidas e com maior capacidade, devem contribuir para baixar o preço dos equipamentos eletrônicos, principalmente tablets. Por isso, o número de pessoas conectadas deve chegar a 1,5 bilhão. Por causa dussi, algumas mudanças na intraestrutura serão necessárias, como a implantação do ipv6 em todos os sites, e o uso mais abrangente e popular da nuvem. Virtualização e cloud devem crescer, e o uso de desktop diminuir. Visualização de videos deverá ser o grande vilão de banda da Internet com cerca de 2/3 do uso. O iGoogle deverá deixar de existir, infelizmente, em novembro, bem como o Hotmail (que vira Outlook) e o Msn (Skype). Empresas privadas começarão a investir em viagens espaciais, os vants serão comercializados, e as montadoras começarão a vender carros elétricos para o público em geral. O sol estará no pico de sua atividade, podendo gerar problemas de comunicação.
Em 1 anos
50% da população mundial terá acesso à Internet, principalmente por dispositivos móveis. Um grande aumento virá da África. A banda larga popular deverá atingir velocidades de 4Mbps, com o governo obrigando as operadoras a garantir 40% da banda. Ou seja, velocidade mínima de 800Kbps. Os tablets atingirão 60% do mercado de computadores. Com o mercado móvel aumentando, as propagandas direcionadas para esse dispositivos também aumentarão, bem como as aplicações de realidade aumentada e os jogos sociais. Haverá 3,8 bilhões de contas de e-mail ativas no mundo e o html5 deverá sair do estágil beta. Televisores com resolução de 4k (4 vezes melhor que a FullHD) deverão ser comercializados, principalmente para a copa do mundo. A energia aeólica será mais utilizada. E os vants deverão monitorar as ruas durante a copa. E uma nova missão deve enviar um robô à Lua.
Em 2 anos
O tráfego da Internet será 4 vezes maior do que em 2011, principalmente devido aos seus 15 bilhões de dispositivos conectados. O volume de informação digital no mundo deve atingir 8 zetabytes, com 970 hexabytes trafegando anualmente, sendo 6,3 hexabytes por dispositivos móveis. O desenvolvimento para smartphone e tablet será maior do que para desktop. O smartphone também será usado para efetuar pagamentos, sendo que metade rodará alguma versão do Android, tendo o Windows e o iOS em segundo e terceiro lugar respectivamente. A computação em nuvem deve aumentar, bem como o número de empresas fornecedoras da solução. Por isso, muitos profissionais de TI mudarão para essas empresas, pois cada vêz mais as empresas migrarão suas infraestruturas para a nuvem. O mercado de gps deve diminuir, principalmente devido ao uso de smartphone e realidade aumentada.
Em 5 anos
O mercado de TI no Brasil deve crescer, fazendo com que a banda larga popular chegue a todo o país. As empresas passarão a colocar dados dos clientes na nuvem, enquanto que os usuários cada vêz menos armazenarão arquivos em seus equipamentos. Ou seja, tudo estará na nuvem. E cada vêz mais os funcionários conectarão seus equipamentos particulares na rede da empresa. O fim das transmissões de tv analógicas e a popularização do 4k farão com que as tv's de hoje pareçam coisas da pré-história. O índio, usado na fabricação das telas touchscreen, deverá ficar em falta no mercado, fazendo com que a tecnologia do Kinecct seja mais utilizada. O Linux será o principal sistema operacional do mundo. A realidade aumentada deverá ser largamente utilizada. Sondas devem ser enviadas para Júpiter e a Marte, bem como viagens turísticas em volta da Lua. 30% da energia elétrica do país não virá de hidroelétricas. O trem bala brasileiro entrará em operação, e a China será a maior potência econômica do mundo.
Em 10 anos
A energia solar será mais utilizada. Sistema ligados ao corpo poderão monitorar nossa saúde de forma on-line, enviando os dados para uma central médica. A Internet terá 200 bilhões de dispositivos conectados, gerando um total de 35 zetabytes de informação. Isso deve aquecer o mercado de TI, aumentando em 50% o número de profissionais da área. Todos os dispositivos eletrônicos estarão conectados à Internet de alguma forma, e cada pessoa terá em média 6 dispositivos on-line. Serão fabricados os televisores com 7700 x 4300 dpi. Começarão a aparecer as redes exclusivamente ipv6. Aparecerão os carros autônomos. 90% da população brasileira morará na zona urbana, e os vants serão usados pela polícia. O gelo do polo norte poderá derreter completamente.
Em 20 anos
Haverá tantos celulares no Brasil que será necessário um outro número, além do 9, para identificá-los. Muitos dispositivos serão controlados por comandos de voz e por ondas cerebrais. Lentes de contato poderão projetar imagens de realidade aumentada diretamente no olho. Robôs começarão e ser usados comercialmente para tarefas domésticas. Teremos links de 500Mbps em casa, e micros com 20Tb de dados, apesar do uso mais intenso da nuvem. A velocidade dos processadores chegará a casa dos terahertz. Todas as pessoas estarão conectadas de alguma forma à Internet. O Brasil terá 49 milhões de automóveis, e o etanol será mais usado do que a gasolina. Serão feitas operações a distância. Casas poderão ter, no lugar das janelas, monitores com imagens do mundo todo, além de monitorarem a nossa saúde. Também será possível fazer pequenos exames simplesmente usando o banheiro. Papel moeda será raro.
Em 50 anos
Teremos links de 5Gbps e 500Tb de espaço em casa, bem como processadores com velocidades na casa dos petahertz. A população do Brasil se estabililzará, enquando a produção de alimentos no mundo entrará em colapso. Por isso, é bem provável que haverá um conselho mundial com poderes militares na ONU. 70% da população mundial viverá em áreas urbanas.
Em 100 anos
Carros com piloto automático serão corriqueiros. O uso de lentes de contato projetoras integradas com realidade aumentada e conexão à Internet, comandas por ondas cerebrais, serão amplamente utilizadas. A temperatura da Terra deve aumentar em 6,4º.
segunda-feira, 17 de dezembro de 2012
Problemas ao desmontar dispositivos?
É comum hoje em dia utilizarmos vários mapeamentos de rede (samba e nfs) e drives portáteis, como pendrives e hd externo. E principalmente com o samba (compartilhamento Windows), as vezes ocorre um problema para desmontar a unidade mapeada. Isso ocorre quando a máquina que faz o papel de servidor é desligada antes do mapeamento ser desfeito. Também ocorre quando se tira o drive externo (pen drive) antes de desmontar o dispositivo. Nestes casos o comando "umount" parece não funcionar. Para resolver o problema use o parâmetro "-l".
# umount -l /mnt/samba
Este comando apaga todas as referências ao sistema em questão. Se há informações não salvas elas estarão perdidas. Portanto, só use esse comando em casos extremos.
# umount -l /mnt/samba
Este comando apaga todas as referências ao sistema em questão. Se há informações não salvas elas estarão perdidas. Portanto, só use esse comando em casos extremos.
sexta-feira, 14 de dezembro de 2012
Como formatar um disco no Linux
No sistema Windows é comum o termo "formatar o disco". Em Linux, essa ação é chamada de "criar um sistema de arquivos".
No Windows, temos basicamente dois sistemas de arquivos: o Fat (em suas várias versões) e o Ntfs. No Linux, há uma infinidade de sistemas de arquivos diferentes para as mais variadas tarefas. Se você quer "formatar" um pendrive para usá-lo em todos os tipos de computadores, formate-o com Fat.
No Linux, o comando mais usado para criar um sistema de arquivos é o mkfs. No exemplo abaixo, vamos formatar a partição /dev/sda5.
# fdisk -l /dev/sda5
GNU Fdisk 1.2.4
Copyright (C) 1998 - 2006 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Disk /dev/sda5: 1 GB, 1019934720 bytes
255 heads, 63 sectors/track, 124 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda5p1 1 125 1004031 83 Linux
Warning: Partition 1 does not end on cylinder boundary.
GNU Fdisk 1.2.4
Copyright (C) 1998 - 2006 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Disk /dev/sda5: 1 GB, 1019934720 bytes
255 heads, 63 sectors/track, 124 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda5p1 1 125 1004031 83 Linux
Warning: Partition 1 does not end on cylinder boundary.
Para ver quais sistemas de arquivos o mkfs pode criar, digite mkfs e tecle TAB duas vezes.
# mkfs
mkfs mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.minix mkfs.ntfs
mkfs.bfs mkfs.cramfs mkfs.ext3 mkfs.ext4dev mkfs.msdos mkfs.vfat
Primeiramente vamos criar um sistema de arquivos FAT...
# mkfs.vfat /dev/sda5
mkfs.vfat 3.0.9 (31 Jan 2010)
mkfs.vfat 3.0.9 (31 Jan 2010)
montamos o disco...
# mount /dev/sda5 /mnt/sda5/
e vemos quanto espaço temos disponível.
# df -h /dev/sda5
Sist. Arq. Size Used Avail Use% Montado em
/dev/sda5 975M 4,0K 975M 1% /mnt/sda5
Sist. Arq. Size Used Avail Use% Montado em
/dev/sda5 975M 4,0K 975M 1% /mnt/sda5
Para criar um NTFS...
# umount /dev/sda5
# mkfs.ntfs /dev/sda5
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 100% - Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
# mount /dev/sda5 /mnt/sda5/
# df -h /dev/sda5
Sist. Arq. Size Used Avail Use% Montado em
/dev/sda5 977M 5,4M 972M 1% /mnt/sda5
# mkfs.ntfs /dev/sda5
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 100% - Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
# mount /dev/sda5 /mnt/sda5/
# df -h /dev/sda5
Sist. Arq. Size Used Avail Use% Montado em
/dev/sda5 977M 5,4M 972M 1% /mnt/sda5
Ext2...
# umount /dev/sda5
# mkfs.ext2 /dev/sda5
mke2fs 1.41.12 (17-May-2010)
/dev/sda5 alignment is offset by 512 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=0 blocks
62592 inodes, 250000 blocks
12500 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=260046848
8 block groups
32768 blocks per group, 32768 fragments per group
7824 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
# mount /dev/sda5 /mnt/sda5/
# df -h /dev/sda5
Sist. Arq. Size Used Avail Use% Montado em
/dev/sda5 962M 1,3M 912M 1% /mnt/sda5
# mkfs.ext2 /dev/sda5
mke2fs 1.41.12 (17-May-2010)
/dev/sda5 alignment is offset by 512 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=0 blocks
62592 inodes, 250000 blocks
12500 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=260046848
8 block groups
32768 blocks per group, 32768 fragments per group
7824 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
# mount /dev/sda5 /mnt/sda5/
# df -h /dev/sda5
Sist. Arq. Size Used Avail Use% Montado em
/dev/sda5 962M 1,3M 912M 1% /mnt/sda5
Ext4...
# umount /dev/sda5
# mkfs.ext4 /dev/sda5
mke2fs 1.41.12 (17-May-2010)
/dev/sda5 alignment is offset by 512 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=0 blocks
62592 inodes, 250000 blocks
12500 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=260046848
8 block groups
32768 blocks per group, 32768 fragments per group
7824 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
# mount /dev/sda5 /mnt/sda5/
# df -h /dev/sda5
Sist. Arq. Size Used Avail Use% Montado em
/dev/sda5 974M 30M 896M 4% /mnt/sda5
# mkfs.ext4 /dev/sda5
mke2fs 1.41.12 (17-May-2010)
/dev/sda5 alignment is offset by 512 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=0 blocks
62592 inodes, 250000 blocks
12500 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=260046848
8 block groups
32768 blocks per group, 32768 fragments per group
7824 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
# mount /dev/sda5 /mnt/sda5/
# df -h /dev/sda5
Sist. Arq. Size Used Avail Use% Montado em
/dev/sda5 974M 30M 896M 4% /mnt/sda5
E o novo sistema Btrfs...
# umount /dev/sda5
# mkfs.btrfs /dev/sda5
WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using
fs created label (null) on /dev/sda5
nodesize 4096 leafsize 4096 sectorsize 4096 size 976.56MB
Btrfs Btrfs v0.19
# mount /dev/sda5 /mnt/sda5/
# df -h /dev/sda5
Sist. Arq. Size Used Avail Use% Montado em
/dev/sda5 977M 56K 851M 1% /mnt/sda5
# mkfs.btrfs /dev/sda5
WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using
fs created label (null) on /dev/sda5
nodesize 4096 leafsize 4096 sectorsize 4096 size 976.56MB
Btrfs Btrfs v0.19
# mount /dev/sda5 /mnt/sda5/
# df -h /dev/sda5
Sist. Arq. Size Used Avail Use% Montado em
/dev/sda5 977M 56K 851M 1% /mnt/sda5
Reparem que o tamanho real disponível para uso depende do sistema de arquivo. Geralmente, quanto mais seguro o sistema, maior o espaço utilizado para consistências e, consequentemente, menor o espaço "útil" disponível no disco. A excessão é o Ext2 se comparado ao Ntfs.
quinta-feira, 13 de dezembro de 2012
Disco com defeito? Use Myrescue
Se você está tendo problemas ao tentar ler um disco, pode ser que o disco esteja com defeito (badblock). Discos rígidos, pendrives, cd, dvd e qualquer tipo de midia pode sofrer problemas de corrosão, falhas magnéticas, riscos, etc. Todas essas falhas podem ser testadas, e quando possível corrigidas, com o comando badblocks, como expliquei em um artigo há alguns dias.
A saída acima está resumida.
Mas, e se mesmo após o badblocks e o fsck serem usados o disco continuar inacessível? Neste caso, tente usar o Myrescue.
O Myrescue lê todo o disco tentando várias vezes os setores com defeito e gera uma imagem do disco. Essa imagem pode ser montada via loopback.
Para exemplificar seu uso, eu estava com um cd do Ubuntu que não conseguia ler. Usei o Myrescue para tentar criar uma imagem deste cd.
# myrescue /dev/sr0 ubuntu.iso
block 000173028 (000000000-000179057) ok 000173028 bad 000000000 src read failed: Input/output error
block 000173085 (000000000-000179057) ok 000173084 bad 000000001 src read failed: Input/output error
block 000174281 (000000000-000179057) ok 000174279 bad 000000002 src read failed: Input/output error
block 000174292 (000000000-000179057) ok 000174289 bad 000000003 src read failed: Input/output error
block 000174303 (000000000-000179057) ok 000174299 bad 000000004 src read failed: Input/output error
block 000174304 (000000000-000179057) ok 000174299 bad 000000005 src read failed: Input/output error
block 000174305 (000000000-000179057) ok 000174299 bad 000000006 src read failed: Input/output error
block 000174306 (000000000-000179057) ok 000174299 bad 000000007 src read failed: Input/output error
block 000174307 (000000000-000179057) ok 000174299 bad 000000008 src read failed: Input/output error
block 000174308 (000000000-000179057) ok 000174299 bad 000000009 src read failed: Input/output error
block 000174309 (000000000-000179057) ok 000174299 bad 000000010 src read failed: Input/output error
block 000174310 (000000000-000179057) ok 000174299 bad 000000011 src read failed: Input/output error
...
#
A saída acima está resumida.
O Myrescue leu o cd e gerou um arquivo chamado ubuntun.iso. Esse arquivo eu pude montá-lo pelo comando mount.
# mount -o loop ubuntu.iso /media/cdrom
# ls /media/cdrom
autorun.inf dists isolinux pics preseed ubuntu
casper install md5sum.txt pool README.diskdefines wubi.exe
#
Isso não tornou o meu cd bootável, mas já foi possível ler alguns arquivos. Se esse cd contivesse arquivos realmente importantes eu conseguiria recuperá-los, pelo menos a maioria deles.
O uso do Myrescue não elimina outras opções de reparação profisisonais, mas já é uma grande ajuda. Tenha em mente também que você precisa ter espaço livre no disco suficiente para caber todo o drive/midia testada. Ou seja, para você recuperar um disco de 1Tb você precisará ter pelo menos 1Tb de espaço disponível.
quarta-feira, 12 de dezembro de 2012
IPv6 no Linux com Miredo
Se você quer ter suporte a IPv6 no Linux, basta instalar o Miredo.
apt-get install miredo
O Miredo fornece uma interface IPv6 do tipo Teredo. Com ele você pode navegar na Internet usando o novo protocolo IPv6.
Se você não sabe o que é IPv6, veja os artigos abaixo.
Não é necessário nenhuma configuração extra. Se você estiver atrás de um firwall, basta liberar o acesso a porta UDP 3544 para o endereço 83.170.6.76. E também adicione o dns do Google em teu arquivo /etc/resolv.conf.
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
apt-get install miredo
O Miredo fornece uma interface IPv6 do tipo Teredo. Com ele você pode navegar na Internet usando o novo protocolo IPv6.
teredo Link encap:Não Especificado Endereço de HW 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
endereço inet6: fe80::ffff:ffff:ffff/64 Escopo:Link
endereço inet6: 2001:0:53aa:64c:2009:5fca:3777:e46d/32 Escopo:Global
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Métrica:1
RX packets:31 errors:0 dropped:0 overruns:0 frame:0
TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:500
RX bytes:4353 (4.2 KiB) TX bytes:10545 (10.2 KiB)
endereço inet6: fe80::ffff:ffff:ffff/64 Escopo:Link
endereço inet6: 2001:0:53aa:64c:2009:5fca:3777:e46d/32 Escopo:Global
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Métrica:1
RX packets:31 errors:0 dropped:0 overruns:0 frame:0
TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:500
RX bytes:4353 (4.2 KiB) TX bytes:10545 (10.2 KiB)
Se você não sabe o que é IPv6, veja os artigos abaixo.
Não é necessário nenhuma configuração extra. Se você estiver atrás de um firwall, basta liberar o acesso a porta UDP 3544 para o endereço 83.170.6.76. E também adicione o dns do Google em teu arquivo /etc/resolv.conf.
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
terça-feira, 11 de dezembro de 2012
Descobrindo senhas com Medusa
Medusa é uma aplicação usada para ataques de força bruta. Esse tipo de ataque consiste em tentar vários login/senha contra um alvo até que a senha seja descoberta.
Esse tipo de ataque é útil quando os usuários utilizam senhas fáceis, como sequencias numéricas, datas, palavras do dicionário, etc. Mesmo com um link de internet ruim, é possível testar centenas de logins por segundo. Ou seja, basta que o invasor rode o programa antes de dormir que pela manhã um par de usuário/login terá sido descoberto pela manhã.
A maioria das grandes empresas usam técnicas para evitar esse tipo de ataque, como bloqueio de usuários com falhas de login sucessivas, ferramentas de detecção de intrução, checagem de log, etc. Mas sempre tem aqueles que não se preocupam com isso.
Abaixo, um exemplo do uso, onde fiz um ataque via ssh, usando um arquivo contendo os usuários e um outro com senhas. A saída está resumida.
$ medusa -h servidor -U tmp/user.txt -P tmp/password.txt -M ssh -f
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks
The default build of Libssh2 is to use OpenSSL for crypto. Several Linux
distributions (e.g. Debian, Ubuntu) build it to use Libgcrypt. Unfortunately,
the implementation within Libssh2 of libgcrypt appears to be broken and is
not thread safe. If you run multiple concurrent Medusa SSH connections, you
are likely to experience segmentation faults. Please help Libssh2 fix this
issue or encourage your distro to use the default Libssh2 build options.
ACCOUNT CHECK: [ssh] Host: servidor (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: M[E4]rchen (1 of 60 complete)
ACCOUNT CHECK: [ssh] Host: servidor (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: Aschenputtel (2 of 60 complete)
ACCOUNT CHECK: [ssh] Host: servidor (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: Br[FC]derchen (3 of 60 complete)
ACCOUNT CHECK: [ssh] Host: servidor (1 of 1, 0 complete) User: root (1 of 3, 0 complete) Password: D[E4]umling (4 of 60 complete)
ACCOUNT CHECK: [ssh] Host: servidor (1 of 1, 0 complete) User: teste (3 of 3, 2 complete) Password: Simeliberg (22 of 60 complete)
ACCOUNT CHECK: [ssh] Host: servidor (1 of 1, 0 complete) User: teste (3 of 3, 2 complete) Password: Sterntaler (23 of 60 complete)
ACCOUNT CHECK: [ssh] Host: servidor (1 of 1, 0 complete) User: teste (3 of 3, 2 complete) Password: Tischlein (24 of 60 complete)
ACCOUNT CHECK: [ssh] Host: servidor (1 of 1, 0 complete) User: teste (3 of 3, 2 complete) Password: Vom (25 of 60 complete)
ACCOUNT CHECK: [ssh] Host: servidor (1 of 1, 0 complete) User: teste (3 of 3, 2 complete) Password: teste (26 of 60 complete)
ACCOUNT FOUND: [ssh] Host: servidor User: teste Password: teste [SUCCESS]
Neste caso, no servidor existe um usuário "teste" com a senha "teste".
O Medusa tem módulos para vários aplicações, como ftp, pop3, Mysql, Web, etc. Com um man medusa você obtém uma lista dos parâmetros que podem ser passados ao medusa.
Para instalá-lo, use o famoso apt-get install medusa.
quarta-feira, 5 de dezembro de 2012
Lxde, um ambiente gráfico leve e bonito
No mundo Linux, estamos acostumados com praticamente três ambientes gráficos: Kde, Gnome e Unity (usado pelo Ubuntu). Mas existe uma infinidade de gerenciadores de janelas para os mais diversos gostos, como o Window Maker, Backbox, AfterStep, etc.
Um ambiente que está sendo cada vez mais usado é o Lxde, principalmente por que as últimas versões do Kde e Gnome são muito pesadas e não agradaram a muitos, sem falar no Unity que também não agradou
Uma ótima alternativa para o teu desktop Linux. Ele já é o meu segundo ambiente. Ainda prefiro o Gnome versão 2, mas a versão 3 não me agradou. Provavelmente eu vou migrar para o Lxde mais cedo ou mais tarde.Para instalá-lo, use apt-get install lxde.
terça-feira, 4 de dezembro de 2012
Como checar se seu disco tem erros físicos
No Linux, um utilitário que testa o disco em busca de erros físicos, semelhante ao Scandisk do Windows, é o Badblocks.
Entre as várias opções, as que eu mais uso são :
-w : faz o teste escrevendo no disco. Ela apaga todos os dados. Ideal para usar em um disco novo;
-n : faz o teste escrevendo no disco, mas não apaga os dados.
-v : mostra um pouco mais de informaçoes, visto que o programa é bem espartano.
Abaixo eu mostro a saída do comando onde testo um pendrive.
Se forem encontrados erros, o número do bloco será mostrado. Em um disco rígido grande, esse teste opde demorar algumas horas. Em um disco de 1Tb isso pode levar 3 dias.
Entre as várias opções, as que eu mais uso são :
-w : faz o teste escrevendo no disco. Ela apaga todos os dados. Ideal para usar em um disco novo;
-n : faz o teste escrevendo no disco, mas não apaga os dados.
-v : mostra um pouco mais de informaçoes, visto que o programa é bem espartano.
Abaixo eu mostro a saída do comando onde testo um pendrive.
root@notebook:/home/ricardo# badblocks -nv /dev/sdb1
Checking for bad blocks in non-destructive read-write mode
From block 0 to 779120
Testing with random pattern: Pass completed, 0 bad blocks found.
root@notebook:/home/ricardo#
Checking for bad blocks in non-destructive read-write mode
From block 0 to 779120
Testing with random pattern: Pass completed, 0 bad blocks found.
root@notebook:/home/ricardo#
Se forem encontrados erros, o número do bloco será mostrado. Em um disco rígido grande, esse teste opde demorar algumas horas. Em um disco de 1Tb isso pode levar 3 dias.
sexta-feira, 30 de novembro de 2012
Navegando na Internet em modo texto.
Para nevegação em modo texto temos três grandes softwares. O Links, o Lynx, e o Links2.
O Links é o mais espartano. Em sua configuração padrão, ele mostra as páginas com apenas um tipo de fonte e em uma única cor. Não mostra figuras, a menos que você recompile o programa. Veja como fica o site da Uol pelo Links:
Já o Lynx possuem um colorido mais elegante.
O Llinks2 basicamente é um Links compilado com o módulo gráfico habilitado.
Os três programa estão disponíveis via apt-get.
quinta-feira, 29 de novembro de 2012
Conversão de audio com Lame
Há algum tempo atrás eu publiquei um post mostrando como converter arquivos de video e audio usando o ffmpe. Agora eu vou mostrar o Lame.
No exemplo acima, eu converti um arquivo mp3 para wma. Esse programa é ótimo para usar em scripts, ou para converter vários arquivos de uma vêz.
O Lame é voltado para trabalhar com arquivos de audio, oferecendo várias opções de qualidade, tipo, tamanho, etc. Em sua forma mais simples, basta informar os arquivos de entrada e saída.
$ lame entrada.mp3 saida.wma
ID3v2 found. Be aware that the ID3 tag is currently lost when transcoding.
LAME 3.98.4 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding You're No Different (Album Version) .mp3
to saida.wma
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
13369/13371 (100%)| 0:12/ 0:12| 0:12/ 0:12| 27.542x| 0:00
------------------------------------------------------------------------------------------------
kbps LR MS % long switch short %
128.0 9.4 90.6 99.5 0.3 0.2
Writing LAME Tag...done
ReplayGain: -10.0dB
$
$
No exemplo acima, eu converti um arquivo mp3 para wma. Esse programa é ótimo para usar em scripts, ou para converter vários arquivos de uma vêz.
Para instalá-lo, use o tradicional apt-get install lame.
terça-feira, 27 de novembro de 2012
Cliente universal de vpn
O Kvpnc é um cliente vpn universal que funciona com a maioria dos servidores Vpn.
Ele tem suporte aos seguintes padrões:
- Cisco
- IPSec
- Freeswan
- Openswan
- StrongSwan
- Racoon
- Pptp (Microsoft)
- Openvpn
- L2TP
- Vtun
- OpenSSH
Faltou suporte ao Checkpoint. Mas nem a própria Checkpoint tem cliente para Linux, a não ser a vpn ssl deles.
Para instalar o cliente, basta digitar apt-get install kvpnc na linha de comando.
sexta-feira, 23 de novembro de 2012
Print de tela com Ksnapshot
Quem costuma escrever documentação de sistema, apostilas de software e tutoriais, deve estar acostumado a tirar print de tela. No Linux, uma ótima ferramernta para essa função é o Ksnapshot.
Com ele você pode tirar uma cópia da tela toda, somente de uma janela, de uma região selecionada com o mouse, ou de uma seção de uma janela; também pode programar um tempo de espera antes de tirar a "foto". Todos os meus posts são feitos usando essa ferramenta.
Quem usa o ambiente Kde já deve estar acostumado com esse aplicativo. Para os demais, um simples apt-get install ksnapshot instalará a programa.
quarta-feira, 21 de novembro de 2012
Gerenciamento gráfico de arquivos
No Linux, há dois ambiente gráficos principais: o Kde e o Gnome. Ambos possuem ferramentas gráficas para o gerenciamento de arquivos. Quem usa Kde está acostumado com o Konqueror, que tem suporte a abas, a divisão de janelas, a scp e ftp, como no print de tela abaixo, onde eu tenho aberto o ambiente de rede, um ftp e o meu diretório padrão, além de uma outra aba.
Quem usa Gnome provavelmente usa o Nautilus, que também tem suporte a rede e ftp, mas não a scp.
Independente do ambiente gráfico utilizado, você pode usar qualquer um dos gerenciadores de arquivos que quiser. Eu, por exemplo, uso Gnome, mas prefiro o Konqueror para administrar meus arquivos.
Quem usa Gnome provavelmente usa o Nautilus, que também tem suporte a rede e ftp, mas não a scp.
Independente do ambiente gráfico utilizado, você pode usar qualquer um dos gerenciadores de arquivos que quiser. Eu, por exemplo, uso Gnome, mas prefiro o Konqueror para administrar meus arquivos.
quarta-feira, 14 de novembro de 2012
Live cd Olonca - Versão 2012
Já faz algum tempo que eu trabalho numa distribuição personalizada do Linux contendo tudo o que eu preciso, desde ferramentas para manutenção em computadores e softwares para servidores, até jogos para demostrar para o meus amigos. Agora disponibilizo esse live cd.
Essa distro é baseada no Debian-CDD, mas foi praticamente feita do zero. Ainda não tem um instalador, afinal, não era essa a intensão; mas estou desenvolvendo um.
Entre os softwares, a distro contém:
E, claro, todos os softwares que já comentei aqui no meu blog, prontos para funcionar.
A iso está em http://dl.dropbox.com/u/1178568/olonca.iso, e o md5 é 91d8a12ba114d505e5699577562f6676
Essa distro é baseada no Debian-CDD, mas foi praticamente feita do zero. Ainda não tem um instalador, afinal, não era essa a intensão; mas estou desenvolvendo um.
Entre os softwares, a distro contém:
- Firefox;
- Google Chromium (integrado com Squid e Dansguardian);
- Tor navegator;
- Clamav;
- VirtualBox;
- ManDVD;
- 2ManDVD;
- Openshot;
- BROffice;
- Evolution;
- Supertux;
- Extreme Tux Racer;
- Samba;
- Webmin;
- Miredo (suporte ipv6);
- Apache2;
- Arpwatch;
- Metasploit;
- Snort;
- Fail2ban;
- Vários drivers, inclusive para controladoras scsi da HP;
- Várias ferramentas de manutenção.
E, claro, todos os softwares que já comentei aqui no meu blog, prontos para funcionar.
A iso está em http://dl.dropbox.com/u/1178568/olonca.iso, e o md5 é 91d8a12ba114d505e5699577562f6676
quarta-feira, 24 de outubro de 2012
Procurando arquivos com Kfind
Há duas semanas atrás eu publiquei um artigo mostrando como procurar arquivos através do find. Agora, prá você que acha muito complicado a interface de texto, o Kfind pode ser a opção melhor.
Através de uma interface gráfica é possível pesquisar por tipo de arquivo, por tamanho, data de criação, data de modificação, dono do arquivo, programa que o criou, e até pelo conteúdo dentro do arquivo. Uma mão na roda.
Se você use o Kde, já deve conhecer o Kfind. Senão, instale-o com:
Através de uma interface gráfica é possível pesquisar por tipo de arquivo, por tamanho, data de criação, data de modificação, dono do arquivo, programa que o criou, e até pelo conteúdo dentro do arquivo. Uma mão na roda.
Se você use o Kde, já deve conhecer o Kfind. Senão, instale-o com:
apt-get install kfind.
quinta-feira, 18 de outubro de 2012
Apostila de Shell Script
Está disponível em https://hotfile.com/dl/175732443/a39e87e/ShellScript.zip.html um conjunto de matérias da LInux Magazine sobre Shell Script.
São vários arquivos pdf em uma série muito boa escrita por Julio Cezar Neves, um mago no assunto. A série segue uma sequência parecida com a do livro que li mesmo autor e que me fez criar gosto por programação de scripts.
quarta-feira, 10 de outubro de 2012
Procurando arquivos com Find
Depois de um mes de férias, volto a escrever no blog. Agora vou falar do find, uma ferramenta muito útil para procurar arquivos pela linha de comando. Melhor que explicá-lo é ver alguns exemplos de sua utilização.
Para listar todos os ítens da pasta /home/ricardo cujo nome contenha 2012 e a extenção .txt, use:
Para encontrar o ítens da pasta /home/ricardo/Documentos modificados a menos de 3 dias e a mais de 1 dia, digite:
Para listar os ítens da pasta /home/ricardo que foram acessados a menos de 2 minutos, digite:
Listando arquivos (apenas arquivos, sem pastas, links simbólicos, etc) da pasta /home/ricardo que foram acessados a menos de 1 minutos:
É possível executar um comando para cada objeto encontrado (por exemplo, para compactar arquivos antigos). No exemplo abaixo, executo o comando stat em cada arquivo da pasta /home/ricardo/tmp que tenha sido criado e menos de 1 dia.
Para mover esses mesmos arquivos para a pasta /tmp, use:
O comando mv será executado para cada arquivo encontrado, e o {} será substituído pelo nome do arquivo no comando em questão.
Para apagar os arquivos criado a mais de 1 mes na área pública do servidor, digite:
ou
Também é possível encontrar os arquivos que possuem o atributo suid. No exemplo abaixo, listamos os arquivos da pasta /bin e executamos um ls -l em cada um.
Para mais detalhes sobre o find, use o man.
É bem provável que o comando find já faça parte de todas as distribuições Linux.
Para listar todos os ítens da pasta /home/ricardo cujo nome contenha 2012 e a extenção .txt, use:
$ find /home/ricardo -name *2012*.txt
/home/ricardo/tmp/20120101.txt
/home/ricardo/ProgramasRFB/IRPF2012/TryLock2012.txt
/home/ricardo/Documentos/Documentacao/Outros/Compensacao_2012.txt
/home/ricardo/Documentos/Documentacao/Feitos/Feitos_2012.txt
/home/ricardo/tmp/20120101.txt
/home/ricardo/ProgramasRFB/IRPF2012/TryLock2012.txt
/home/ricardo/Documentos/Documentacao/Outros/Compensacao_2012.txt
/home/ricardo/Documentos/Documentacao/Feitos/Feitos_2012.txt
Para encontrar o ítens da pasta /home/ricardo/Documentos modificados a menos de 3 dias e a mais de 1 dia, digite:
$ find /home/ricardo/Documentos/ -mtime -3 -mtime +1
/home/ricardo/Documentos/Contas
/home/ricardo/Documentos/Contas/Cartao_Credicard_20121008.pdf
/home/ricardo/Documentos/Contas/Bateria_celular.pdf
/home/ricardo/Documentos/Contas
/home/ricardo/Documentos/Contas/Cartao_Credicard_20121008.pdf
/home/ricardo/Documentos/Contas/Bateria_celular.pdf
Para listar os ítens da pasta /home/ricardo que foram acessados a menos de 2 minutos, digite:
$ find /home/ricardo/ -amin -2
/home/ricardo/.config/chromium/Local State
/home/ricardo/.mozilla/firefox/ht1sguqp.default/sessionstore.js
/home/ricardo/.purple/certificates/x509/tls_peers/api.twitter.com
/home/ricardo/.purple/blist.xml
/home/ricardo/.gconfd/saved_state
/home/ricardo/.config/chromium/Local State
/home/ricardo/.mozilla/firefox/ht1sguqp.default/sessionstore.js
/home/ricardo/.purple/certificates/x509/tls_peers/api.twitter.com
/home/ricardo/.purple/blist.xml
/home/ricardo/.gconfd/saved_state
Listando arquivos (apenas arquivos, sem pastas, links simbólicos, etc) da pasta /home/ricardo que foram acessados a menos de 1 minutos:
$ find /home/ricardo -amin -1 -type f
/home/ricardo/.mozilla/firefox/ht1sguqp.default/sessionstore.js
/home/ricardo/.mozilla/firefox/ht1sguqp.default/places.sqlite
/home/ricardo/.mozilla/firefox/ht1sguqp.default/places.sqlite-journal
/home/ricardo/.mozilla/firefox/ht1sguqp.default/Cache/0FB71300d01
/home/ricardo/.mozilla/firefox/ht1sguqp.default/Cache/AD773ACBd01
/home/ricardo/.mozilla/firefox/ht1sguqp.default/Cache/0F955364d01
/home/ricardo/.mozilla/firefox/ht1sguqp.default/Cache/8F923340d01
/home/ricardo/.purple/certificates/x509/tls_peers/api.twitter.com
/home/ricardo/.purple/blist.xml
/home/ricardo/.gconfd/saved_state
/home/ricardo/.evolution/mail/local/Noticias
/home/ricardo/.evolution/mail/local/folders.db
/home/ricardo/.evolution/mail/config/state
/home/ricardo/.mozilla/firefox/ht1sguqp.default/sessionstore.js
/home/ricardo/.mozilla/firefox/ht1sguqp.default/places.sqlite
/home/ricardo/.mozilla/firefox/ht1sguqp.default/places.sqlite-journal
/home/ricardo/.mozilla/firefox/ht1sguqp.default/Cache/0FB71300d01
/home/ricardo/.mozilla/firefox/ht1sguqp.default/Cache/AD773ACBd01
/home/ricardo/.mozilla/firefox/ht1sguqp.default/Cache/0F955364d01
/home/ricardo/.mozilla/firefox/ht1sguqp.default/Cache/8F923340d01
/home/ricardo/.purple/certificates/x509/tls_peers/api.twitter.com
/home/ricardo/.purple/blist.xml
/home/ricardo/.gconfd/saved_state
/home/ricardo/.evolution/mail/local/Noticias
/home/ricardo/.evolution/mail/local/folders.db
/home/ricardo/.evolution/mail/config/state
É possível executar um comando para cada objeto encontrado (por exemplo, para compactar arquivos antigos). No exemplo abaixo, executo o comando stat em cada arquivo da pasta /home/ricardo/tmp que tenha sido criado e menos de 1 dia.
$ find /home/ricardo/tmp -ctime -1 -type f -exec stat {} \;
File: "/home/ricardo/tmp/20120101.txt"
Size: 104 Blocks: 8 IO Block: 4096 arquivo comum
Device: 801h/2049d Inode: 655384 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ ricardo) Gid: ( 1000/ ricardo)
Access: 2012-10-10 14:20:21.877216007 -0300
Modify: 2012-10-10 14:20:21.877216007 -0300
Change: 2012-10-10 14:20:21.877216007 -0300
File: "/home/ricardo/tmp/20120101.txt~"
Size: 62 Blocks: 8 IO Block: 4096 arquivo comum
Device: 801h/2049d Inode: 655401 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ ricardo) Gid: ( 1000/ ricardo)
Access: 2012-10-10 14:20:21.877216007 -0300
Modify: 2012-10-10 14:20:21.877216007 -0300
Change: 2012-10-10 14:20:21.877216007 -0300
File: "/home/ricardo/tmp/20120101.txt"
Size: 104 Blocks: 8 IO Block: 4096 arquivo comum
Device: 801h/2049d Inode: 655384 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ ricardo) Gid: ( 1000/ ricardo)
Access: 2012-10-10 14:20:21.877216007 -0300
Modify: 2012-10-10 14:20:21.877216007 -0300
Change: 2012-10-10 14:20:21.877216007 -0300
File: "/home/ricardo/tmp/20120101.txt~"
Size: 62 Blocks: 8 IO Block: 4096 arquivo comum
Device: 801h/2049d Inode: 655401 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ ricardo) Gid: ( 1000/ ricardo)
Access: 2012-10-10 14:20:21.877216007 -0300
Modify: 2012-10-10 14:20:21.877216007 -0300
Change: 2012-10-10 14:20:21.877216007 -0300
Para mover esses mesmos arquivos para a pasta /tmp, use:
$ find /home/ricardo/tmp -ctime -1 -type f -exec mv {} /tmp \;
O comando mv será executado para cada arquivo encontrado, e o {} será substituído pelo nome do arquivo no comando em questão.
Para apagar os arquivos criado a mais de 1 mes na área pública do servidor, digite:
$ find /home/temporario -ctime +31 -type f -exec rm -f {} \;
ou
$ find /home/temporario -ctime +31 -type f -delete
Também é possível encontrar os arquivos que possuem o atributo suid. No exemplo abaixo, listamos os arquivos da pasta /bin e executamos um ls -l em cada um.
$ find /bin -perm /+s -exec ls -l {} \;
-rwsr-xr-x 1 root root 31360 Out 14 2010 /bin/ping
-rwsr-xr-x 1 root root 47304 Jan 25 2011 /bin/umount
-rwsr-xr-x 1 root root 35252 Out 14 2010 /bin/ping6
-rwsr-xr-x 1 root root 29152 Fev 15 2011 /bin/su
-rwsr-xr-x 1 root root 68316 Jan 25 2011 /bin/mount
-rwsr-xr-x 1 root root 31360 Out 14 2010 /bin/ping
-rwsr-xr-x 1 root root 47304 Jan 25 2011 /bin/umount
-rwsr-xr-x 1 root root 35252 Out 14 2010 /bin/ping6
-rwsr-xr-x 1 root root 29152 Fev 15 2011 /bin/su
-rwsr-xr-x 1 root root 68316 Jan 25 2011 /bin/mount
Para mais detalhes sobre o find, use o man.
$ man find
É bem provável que o comando find já faça parte de todas as distribuições Linux.
Assinar:
Postagens (Atom)













