Revista Do Linux
EDIÇÃO DO MÊS
 CD do Mês

 Capa
 Entrevista
 Corporativo
 Plataforma
 Evento
 Seguranca
 Hakers
 Sistema
 

Dicas e Dúvidas

Numlock ativo

Insira o script abaixo no arquivo rc.local. Sua localização depende da distribuição.

INITTY=/dev/tty[1-8]
for tty in $INITTY; do
  setleds -D +num < $tty
done

Permissões de acesso

Um desafio interessante foi postado na lista Linux-BR. Para mudar as permissões de arquivos e diretórios recursivamente, utiliza-se:

$ chmod -R permissões <diretório>

Por exemplo, se se quiser mudar todas as permissões do diretório cocada, seus subdiretórios e todos os arquivos para 411:

$ chmod -R 411 cocada

Mas, e como fazê-lo considerando APENAS os diretórios e deixando as permissões dos arquivos intactos? Bem, em resposta a esse desafio, Andreas Hasenack e Augusto Campos mandaram o seguinte comando:

find doc/ -type d -exec chmod 411 {} /;

Usando a opção -type do comando find, apenas os diretórios são considerados. As chaves {} serão substituídas pelo nome do diretório, e o ponto-e-vírgula ( ; ) indica o fim do comando chmod para o find.

Interfaces no login

Humm, então você instalou aquela interface gráfica diferente que você tanto queria! Para que ela apareça naquele login gráfico que você usa, siga esses passos:

  • Usando o GDM (login gráfico do Gnome)

    1. Logue-se como root:

    $ su -

    2. Entre no diretório de sessões do GDM. O caminho pode variar entre as distribuições.

    # cd /etc/X11/gdm/Sessions
    

    3. Crie um arquivo com o nome do novo gerenciador de janelas e configure usuário e grupo para root. O nome do arquivo é o nome que aparecerá no menu de login.

    # touch novowm
    # chown root.root novowm
    

    4. Edite o arquivo com seu editor favorito. Dentro do arquivo, coloque as seguintes linhas:

    #/bin/bash -login
    exec newwm
    

    onde newwm é o comando que executa o gerenciador de janelas que se quer adicionar. Note que o nome do arquivo que você está editando e o nome do comando que chama o gerenciador não precisam necessariamente coincidir. Para ter uma idéia de como editar o arquivo, abra um dos arquivos existentes, correspondentes aos outros gerenciadores de janelas.

  • Usando o KDM (login gráfico do KDE)

    No KDE 2 o procedimento é diferente. Logue-se como root, entre no KDE e abra o Centro de Controle. Escolha a opção Sistema, em seguida a opção Gerenciador de Login. Abre-se uma janela com as opções de configuração do KDM. Na aba Sessões, é possível configurar um novo gerenciador de janelas.

    Se você usa o KDE 1, essas opções não estão no Centro de Controle, mas num programinha chamado kdmconfig, que deve ser executado como root.

    Placas PCI

    Para obter informações sobre as placas PCI instaladas no computador, utilize o comando lspci. Esse comando retornará os nomes das interfaces e outras informações como número do barramento, posição no barramento e modelo/versão/revisão do dispositivo. Para informações mais detalhadas sobre cada dispositivo, há dois níveis de verbose:

    lspci -v e lspci -vv.
    

    Consulte a manpage do comando lspci para mais informações.

    "Debug" no bash

    Por Fernando Roxo - roxo@conectiva.com.br

    Por vezes um script é muito grande e nos interessa fazer um trace apenas em um trecho do programa. Como fazê-lo? Coloque no início do trecho uma instrução :

    set -x
    

    Dessa linha em diante o trace será ligado. Para desligar o trace mais adiante a fim de evitar listar partes sem importância, use:

     set +x
    

    Veja que por vezes nós sabemos que o "problema" só ocorre quando alguma variável assume um determinado valor. Nesse caso podemos ligar o trace condicionalmente:

    if [ $VARIAVEL = valor ]; then
       set -x
    fi
    {...trecho a debugar}
    set +x
    

    Como se pode ver o trace pode ser desligado mesmo que ele não esteja ligado.

    Essa forma de listar o script, durante a execução, vai listar o comando após a substituição das variáveis. Como identificar que variável tem que valor? Podemos usar a opção "-v" para listar as linhas durante a leitura. Na verdade eu prefiro usar uma combinação das duas opções:

    set -xv
    {trecho a "debugar"}
    set +xv
    

    Da mesma forma que antes, o "+" desliga a opção. Por fim, se um script "liga" o debug, apenas os "scripts" rodados com o comando "." terão o debug ligado. Para evitar que fique algum debug ligado quando se reutiliza o ambiente (através do comando "." ) é bom colocar no final do script um desligar geral, mesmo que ele não tenha sido ligado:

    #
    #  Desliga "debug" se tiver sido ligado
    set +xv
    #  Fim do script....
    

    Partições em Linux

    Por Rodrigo Pimentel - rbp@sp.conectiva.com.br

    Existem diversos utilitários para gerenciamento de partições. Os mais tradicionais são, pela ordem, fdisk, cfdisk e sfdisk. O mais inteligente e fácil de trabalhar é o cfdisk. A interface deste aplicativo é, na minha opinião, a melhor das três. Fácil de usar e bem intuitiva.

    Já o sfdisk é mais inteligente. Ao ser invocado sobre um disco com partições ativas e em uso, ele alerta que isso não é uma boa idéia e aconselha a desmontar os discos e desligar as partições de swap ativas.

    Mas para que isso?

    Estou instalando em meu computador o sistema de arquivo reiserfs. Fiquei cansado das intermináveis verificações que o comando fsck faz sobre partições ext2 quando de uma queda do sistema (queda por falta de energia, vamos deixar claro).

    O sistema de arquivos reiserfs mantém um log das transações efetuadas em disco. Esse log é gravado em disco e quando há quedas o log sempre nos fornece uma posição consistente do disco, ao contrário de sistemas ext2, em que a informação reside na memória e se perde quando ocorrem quedas. Daí a partição pode ficar em uma situação inconsistente, com blocos de dados perdidos, e outros problemas.

    Como filtrar o vírus do tipo iloveyou no sendmail

    Colaboração de Marcos Silva (masilva@masilva.ml.br)

    Apesar de um tanto antigo, o ILOVEYOU ainda não foi erradicado da Internet. O esquema abaixo serve para filtrá-lo, e de quebra ensina um pouco regras de filtragem. Acrescente a regra abaixo ao seu sendmail, descomentando ou alterando de acordo com a necessidade.

    Não se esqueça de reiniciar o sendmail.

    # Como bloquear mensagens com uma filtragem (patern match) de subject
    # Inicio:
    LOCAL_RULESETS
    # mostra ao sendmail onde incluir as regras no sendmail.cf
    HSubject: $>Check_Subject
    # Diz ao sendmail para fazer uma filtragem no subject: SMTP header
    D{Mpat}ILOVEYOU
    # Define o padrao de filtragem.
    # Voce pode implementar varios filtros definindo mais de um padrao.
    # Defina conforme a necessidade.
    # Descomente as linhas abaixo se julgar conveniente (Morfs do ILOVEYOU)
    #
    #D{Mpat2}Important message from
    #D{Mpat3}For You
    #D{Mpat4}Joke
    D{MMsg}Esta mensagem contem o virus ILOVEYOU.
    # Define a mensagem de erro que voce envia de volta a
    mensagem                  
    # se coincidir com o padrao definido)
    SCheck_Subject
    R${MPat} $*             $#error $: 553 ${MMsg}
    RRe: ${MPat} $*         $#error $: 553 ${MMsg}
    # Estas sao duas regras de filtragem que mostram que procuram
    # mensagens originais contendo o subject definido.
    # A linha RRe: procura por Replies da mensagem no subject.
    # Nao se esqueca de colocar um ou mais tabs entre
    #  $*  and the  $#error. O sendmail usa o tab para separar o
    # lado direito (RHS) e o lado esquerdo (LHS) da regra.
    # Descomente a linha de acordo com os padroes definidos 
    # acima (Mpat2, Mpat 3, etc)
    # Crie outros se necessario.
    #R${Mpat2} $*           $#error $: 553 ${MMsg}       
    #RRe: ${Mpat2} $*       $#error $: 553 ${MMsg}
    #R${Mpat3} $*           $#error $: 553 ${MMsg}
    #RRe: ${Mpat3} $*       $#error $: 553 ${MMsg}
    #R${Mpat4} $*           $#error $: 553 ${MMsg}
    #RRe: ${Mpat4} $*       $#error $: 553 ${MMsg}
    

    Use essas regras de forma não-permanente, removendo-as assim que tiver um antivírus apropriado. Lembre-se de que esse filtro, apesar de ser um excelente bouncer, pode interferir no desempenho do seu sendmail server.


  • A Revista do Linux é editada pela Conectiva S/A
    Todos os Direitos Reservados.

    Política de Privacidade
    Anuncie na Revista do Linux