O que separa os geeks super média de usuários de Linux? Simples: anos passados os tipos de hacks, truques, dicas e técnicas que transformar empregos longos trabalho de um momento de aprendizagem. Se você quiser chegar até a velocidade sem ter que colocar toda aquela perna-trabalho, reunimos mais de 50 fácil de aprender Linux Dicas para ajudá-lo a trabalhar mais esperto e obter o máximo de seu computador. Divirta-se!

#1: verificar os processos não executados por você

  • Dificuldade: perito
  • Aplicação: bash

Imaginar a cena – você se prepare para uma partida rápida de Crack ataque contra um colega no escritório, apenas para descobrir que o jogo se arrasta a um impasse assim como você está prestes a bater o seu subordinado arrogante – o que poderia estar acontecendo tornar sua máquina tão lenta? Deve ser algum desses outros usuários, roubando seu precioso tempo de CPU com suas experiências científicas, servidores Web ou outras coisas estranhas, nerds!

Okey, vamos listar todos os processos da caixa não está sendo executado por você!

ps aux | grep -v `whoami`

Ou, para ser um pouco mais inteligente, por que não apenas listar o top dez-desperdiçadores de tempo:

ps aux  --sort=-%cpu | grep -m 11 -v `whoami` 

É provavelmente melhor para isto execute como root, como isto irá filtrar a maioria dos processos vitais de fundo. Agora que você tem as informações, você só pode matar seus processos, mas é muito mais covarde para executar xeyes na sua área de trabalho. Várias vezes!

#2: substituindo o mesmo texto em vários arquivos

  • Dificuldade: intermediário
  • Aplicação: localizar/Perl

Se você tem o texto que você deseja substituir em vários locais, existem várias maneiras de fazer isto. Para substituir o texto do Windows com Linux em todos os arquivos no diretório atual chamado teste [algo] você pode executar isto:

perl -i -pe 's/Windows/Linux/;' test*

Para substituir o texto do Windows com Linux em todo o texto arquivos no diretório atual e para baixo, você podem executar isto:

find . -name '*.txt' -print | xargs perl -pi -e's/Windows/Linux/ig' *.txt

Ou se preferir esta vontade também funciona, mas somente em arquivos regulares:

find -type f -name '*.txt' -print0 | xargs --null perl -pi -e 's/Windows/Linux/'

Poupa muito tempo e tem um guru de alto classificação!

#3: consertar um terminal vacilante

  • Dificuldade: fácil
  • Aplicação: bash

Nós todos feito – acidentalmente usado menos ou gato para listar um arquivo e acabou que visualizaram o binário em vez disso. Isso geralmente envolve todos os tipos de códigos de controle que podem facilmente estragar seu display terminal. Lá vai estar tocando. Vai haver personagens engraçados. Vai haver combinações de cores estranhas. No final do mesmo, sua fonte será substituída com hieróglifos e não sabe o que fazer. Festança obviamente ainda está funcionando, mas você apenas não pode ler o que está acontecendo! Envie o terminal um comando de inicialização:

reset

e tudo ficará bem novamente.

#4: criação de palavras-chave do Mozilla

  • Dificuldade: fácil
  • Aplicação: O Firefox/Mozilla

No Konqueror, um recurso útil é a capacidade de tipo gg cebola para fazer uma busca no Google com base na cebola a palavra. O mesmo tipo de funcionalidade pode ser conseguido em Mozilla primeiro clique em Favoritos > gerir favoritos e depois adicionar um novo marcador. Adicione o URL como:

http://www.google.com/search?q=%s

Agora selecione a entrada no editor do marcador e clique no botão Propriedades. Agora, digite a palavra-chave como gg (ou este pode ser qualquer coisa que você escolher) e o processo está completo. O %s na URL será substituído com o texto após a palavra-chave. Você pode aplicar este corte para outros tipos de sites que dependem de você passando informações sobre o URL.

Como alternativa, clique com botão direito em um campo de pesquisa e selecione a opção de menu “Adicionar uma palavra-chave para esta pesquisa…”. A caixa de diálogo subsequente permitirá que você especificar a palavra-chave para usar.

#5: executando múltiplas sessões de X

  • Dificuldade: fácil
  • Aplicação: X

Se você compartilhar seu Linux caixa com alguém e você está cansado de continuamente log in e out, você pode ser aliviado por saber que isto não é realmente necessário. Supondo que o computador for iniciado no modo gráfico (runlevel 5), pressionando simultaneamente as teclas Control + Alt + F1 – você receberá um prompt de login. Insira seu login e senha e em seguida, execute:

startx -- :1

para entrar em seu ambiente gráfico. Voltar para a sessão do usuário anterior, pressione Ctrl + Alt + F7, enquanto para obter sua volta pressione Ctrl + Alt + F8.

Você pode repetir este truque: as teclas F1 a F6 identificam seis sessões de console, enquanto F7 a F12 identificar seis sessões X. Ressalva: embora isto seja verdade na maioria dos casos, diferentes distribuições podem implementar esse recurso em uma maneira diferente.

#6: navegação mais rápida

  • Dificuldade: fácil
  • Aplicação: KDE

No KDE, uma opção pouco conhecido mas útil existe para acelerar a sua experiência de navegação na web. Inicie o centro de controlo KDE e escolha sistema > desempenho KDE da barra lateral. Agora você pode selecionar para pré-carregar o Konqueror instâncias. Efetivamente, isto significa que o Konqueror é executado na inicialização, mas mantido escondido até que você tente usá-lo. Quando você fizer, ele aparece quase que instantaneamente. Bônus! E se você está procurando mais dicas do KDE.

#7: fazer backup de seu site facilmente

  • Dificuldade: fácil
  • Aplicação: Backups

Se você deseja fazer backup de um diretório em um computador e copie somente os arquivos alterados para o computador de backup em vez de tudo com cada backup, você pode usar o rsync tool para fazer isso. Você vai precisar de uma conta no computador remoto que você estiver fazendo backup de. Aqui é o comando:

rsync -vare ssh jono@192.168.0.2:/home/jono/importantfiles/* /home/jono/backup/

Aqui nós estiver copiando todos os arquivos em/home/jono/importantfiles/na 192.168.0.2 para /home/jono/backup na máquina atual.

#8: manter o seu relógio no tempo

  • Dificuldade: fácil
  • Aplicação: NTP

Se você achar que o relógio do seu computador parece se afastar o tempo, você pode fazer uso de uma ferramenta especial do NTP para assegurar que você está sempre sincronizado com o tipo de precisão que só as pessoas que desgaste branco casacos obter animados sobre. Você vai precisar instalar a ntpdate ferramenta que frequentemente é incluída no pacote NTP, e depois você pode sincronizar com um servidor NTP:

ntpdate ntp.blueyonder.co.uk

Uma lista de servidores NTP apropriados está disponível em http://www.eecis.udel.edu/~mills/ntp/clock1b.html. Se você modificar o processo de inicialização e scripts para incluir este comando você pode garantir que você está perfeitamente em tempo sempre que você iniciar o computador. Você também pode executar um trabalho do cron para atualizar a hora.

#9: encontrar os arquivos maiores

  • Dificuldade: fácil
  • Aplicação: Shell

Um problema comum com computadores é quando você tem um número de arquivos grandes (por exemplo, clipes de áudio/vídeo) que você pode querer se livrar. Você pode encontrar os maiores arquivos no diretório atual com:

ls -lSrh

O “r” faz com que os grandes arquivos a serem listados no final e o “h” dá saída legível humana (MB e tal). Você também pode procurar os MP3/MPEGs maiores:

ls -lSrh *.mp*

Você também pode procurar os maiores diretórios com:

du -kx | egrep -v "\./.+/" | sort -n

#10: atalhos do nautilus

  • Dificuldade: fácil
  • Aplicação: Nautilus

Embora a maioria dos gerenciadores de arquivos hoje em dia são projetados para ser usado com o mouse, também é útil ser capaz de usar o teclado, às vezes. Nautilus tem alguns atalhos de teclado que podem ter que voar através de arquivos:

  • Abrir um local – Ctrl + L
  • Abra a pasta pai – Ctrl + seta para cima
  • Teclas de seta para navegar pelo atual pasta.

Você também pode personalizar os ícones de arquivo com ‘emblemas’. Estas são pouco sobreposições gráficas que podem ser aplicadas a arquivos individuais ou grupos. Abra o Edit > item de menu Backgrounds e emblemas e arrastar e soltar as imagens que você quer.

#11: defrag seus bancos de dados

  • Dificuldade: fácil
  • Aplicação: MySQL

Sempre que você alterar a estrutura de um banco de dados MySQL, ou remove uma grande quantidade de dados, os arquivos podem ficar fragmentados resultando em perda de desempenho, especialmente quando executar consultas. Lembre-se toda vez que você alterar o banco de dados para executar o otimizador:

mysqlcheck -o <databasename>

Você também pode achar vale a pena desfragmentar regularmente suas tabelas de banco de dados, se você estiver usando campos VARCHAR: essas colunas de comprimento variável são particularmente propensas à fragmentação.

#12: e-mails mais rápidos

  • Dificuldade: fácil
  • Aplicação: KMail

Não podemos desperdiçar três segundos localizar seu cliente de e-mail? Não pode ser incomodado, encontrando o mouse sob todas aquelas montanhas suavemente podres de desordem em sua mesa? Tudo o que você está fazendo no KDE, você está apenas alguns pressionamentos de teclas longe do envio de um e-mail. Pressione Alt + F2 para abrir a caixa de diálogo “Executar comando”. Tipo:

mailto:plop@ploppypants.com

Pressione retorno e KMail automaticamente irá acender, pronto para suas palavras de sabedoria. Não precisas de preencher o endereço de e-mail inteiro. Isso também funciona para endereços da Internet: tente digitar http://www.slashdot.org para iniciar o Konqueror.

#13: complementar sua compilação

  • Dificuldade: fácil
  • Aplicação: GCC

Se você estiver executando um sistema multiprocessador (SMP) com uma quantidade moderada de RAM, normalmente vê benefícios significativos, realizando um paralelo faz ao criar o código. Em comparação com a fazer compilações seriais quando correndo fazer (que é o padrão), uma compilação paralela é uma grande melhoria. Para dizer fazer para permitir mais do que uma criança de cada vez enquanto construção, use a opção -j:

make -j4; make -j4 modules

#14: poupar energia da bateria

  • Dificuldade: intermediário
  • Aplicação: hdparm

Você provavelmente está familiarizado com usando o hdparm para um disco rígido de tuning, mas também pode salvar a vida da bateria em seu laptop, ou tornar a vida mais calmo para você, girando para baixo drives.

hdparm -y /dev/hdb
hdparm -Y /dev/hdb
hdparm -S 36 /dev/hdb

Na ordem, esses comandos serão: causar a unidade para alternar para o modo Standby, alternar para o modo de sono e finalmente, definir o tempo limite automático spindown. Esta última inclui uma variável numérica, cujas unidades são blocos de 5 segundos (por exemplo, um valor de 12 seria igual a um minuto).

Aliás, este hábito de especificando spindown tempo em blocos de 5 segundos, realmente deve ser um candidato para um prémio especial de facilidade de utilização – há provavelmente alguma razão histórica para isso, mas estamos perplexos. Escreva e diga-nos se acontecer de você saber de onde veio.

#15: wireless gestão de velocidade

  • Dificuldade: intermediário
  • Aplicação: iwconfig

A velocidade no qual um pedaço de equipamento de transmissão/receptor de rádio pode se comunicar com outro depende de quanto o sinal está disponível. A fim de manter as comunicações como desvanece-se o sinal disponível, os rádios precisam transmitir dados a uma taxa mais lenta. Normalmente, os rádios tentam resolver o sinal disponível por conta própria e selecionar automaticamente a velocidade mais rápida possível.

Em áreas de franja com um sinal de mal adequada, os pacotes podem ser desnecessariamente perdidos enquanto os rádios renegociar continuamente a velocidade do link. Se você não pode adicionar mais ganho da antena, ou reposicionar seu equipamento para obter um sinal melhor o suficiente, considere forçando seu cartão para sincronizar em uma taxa mais baixa. Isto significará menos repetições e pode ser consideravelmente mais rápida do que usando um link de trocar continuamente. Cada condutor tem seu próprio método para definir a velocidade do link. No Linux, defina a velocidade do link com iwconfig:

iwconfig eth0 rate 2M

Isso força o rádio sempre sincronizar a 2Mbps, mesmo que outras velocidades estão disponíveis. Você também pode definir uma velocidade particular como um teto e deixa o cartão, para automaticamente dimensionado para qualquer velocidade mais lenta, mas não mais depressa. Por exemplo, você pode usar isto no link exemplo acima:

iwconfig eth0 rate 5.5M auto

Usando a diretiva de auto assim diz o driver para permitir velocidades de até 5.5Mbps e para ficar mais lento, se necessário, mas nunca vai tentar sincronizar em algo mais rápido. Para restaurar o cartão para dimensionamento automático, basta especifica o auto, por si só:

iwconfig eth0 rate auto

Cartões em geral podem chegar muito mais longe no 1Mbps do que podem em 11Mbps. Há uma diferença de 12 dB entre as classificações de 1Mbps e 11Mbps do cartão Orinoco – que é quatro vezes a distância de potencial só por cair a taxa de dados!

#16: desentupir abrir portas

  • Dificuldade: intermediário
  • Aplicação: netstat

Gerar uma lista de portas de rede que estão em estado de escuta em um servidor Linux é simples com o netstat:

root@catlin:~# netstat -lnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name 
tcp 0 0 0.0.0.0:5280 0.0.0.0:* LISTEN 698/perl 
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 217/httpd 
tcp 0 0 10.42.3.2:53 0.0.0.0:* LISTEN 220/named 
tcp 0 0 10.42.4.6:53 0.0.0.0:* LISTEN 220/named 
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 220/named 
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 200/sshd 
udp 0 0 0.0.0.0:32768 0.0.0.0:* 220/named 
udp 0 0 10.42.3.2:53 0.0.0.0:* 220/named 
udp 0 0 10.42.4.6:53 0.0.0.0:* 220/named 
udp 0 0 127.0.0.1:53 0.0.0.0:* 220/named 
udp 0 0 0.0.0.0:67 0.0.0.0:* 222/dhcpd 
raw 0 0 0.0.0.0:1 0.0.0.0:* 7 222/dhcpd

Isso mostra que o PID 698 é um processo de Perl que é ligado à porta 5280. Se você não é a raiz, o sistema não vai revelar quais programas estão sendo executados em quais portas.

#17: unidades de disco rígido mais rápidas

  • Dificuldade: perito
  • Aplicação: hdparm

Você pode saber que a ferramenta hdparm pode ser usada para acelerar a testar seu disco e alterar algumas configurações. Ele também pode ser usado para optimizar o desempenho do drive e ativar alguns recursos que não podem ser habilitados por padrão. Antes de começarmos, porém, esteja avisado que alterando opções de unidade pode causar corrupção de dados, então backup todos os seus dados mais importantes primeiro. Teste de velocidade é feita com:

hdparm -Tt /dev/hda

Você verá algo como:

/dev/hda:
Timing buffer-cache reads:   128 MB in  1.64 seconds =78.05 MB/sec
Timing buffered disk reads:  64 MB in 18.56 seconds = 3.45MB/sec

Agora podemos tentar acelerar. Para descobrir quais as opções de sua unidade está definido para usar, basta passar hdparm o nome do dispositivo:

hdparm /dev/hda
 /dev/hda:
 multcount    =  16 (on)
 I/O support  =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 40395/16/63, sectors = 40718160, start = 0

Este é um razoavelmente configuração padrão. A maioria das distros vai optar para opções de seguras que irão trabalhar com a maioria dos hardware. Para obter mais velocidade, você pode querer ativar o modo dma e certamente ajustar i/o apoio. Computadores mais modernos suportam o modo 3, que é um modo de transferência de 32 bits que pode quase dupla taxa de transferência. Você pode querer experimentar

hdparm -c3 -d1/dev/hda

Execute novamente a verificação de velocidade para ver a diferença. Confira os modos que apoiará o seu hardware e as páginas de man do hdparm para como defini-las.

#18: uptime em suas mãos

  • Dificuldade: perito
  • Aplicação: Perl

Em computação, desperdício de recursos é recursos que poderiam ser melhor gasto ajudando você. Por que não fugir de um processo que atualiza a barra de título do seu terminal com a actual média de carga em tempo real, independentemente de o que você está correndo?

Salvar como um script chamado tl e salvá-lo para o diretório ~/bin:

#!/usr/bin/perl -w

use strict;
$|++;

my $host=`/bin/hostname`;
chomp $host;

while(1) {

open(LOAD,"/proc/loadavg") || die "Couldn't open /proc/loadavg: $!\n";

my @load=split(/ /,<LOAD>);
close(LOAD);


print "$host: $load[0] $load[1] $load[2] at ", scalar(localtime);
print "\007";

sleep 2;
}

Quando você gostaria de ter sua barra de título substituída com o nome, média de carga e atual da máquina que você está conectado, basta executar o tl &. -Será feliz ir correndo no fundo, mesmo se você estiver executando um programa interativo como o Vim.

#19: agarrando um screenshot sem X

  • Dificuldade: fácil
  • Aplicação: Shell

Existem muitas ferramentas de captura de tela, mas muitos deles são baseados em X. Isto leva a um problema, quando executando um aplicativo X iria interferir com o aplicativo que você queria comer – talvez um jogo ou até mesmo um instalador de Linux. Se você usar o comando de importação de ImageMagick venerável, no entanto, você pode pegar de uma sessão X através do console. Basta ir a um terminal virtual (Ctrl + Alt + F1, por exemplo) e digite o seguinte:

chvt 7; sleep 2; import -display :0.0 -window root sshot1.png; chvt 1;

O comando chvt altera o terminal virtual, e o comando sleep dá-lhe um tempo para redesenhar a tela. O comando de importação então captura a tela inteira e salva em um arquivo antes do final chvt varas de comando que volta no terminal virtual novamente. Certifique-se de que digitar o comando inteiro em uma única linha.

Isto pode mesmo trabalhar em Linux instaladores, muitos dos quais deixar um console rodando em segundo plano – apenas carregaram um disquete/CD com importação e as poucas bibliotecas requer para um agarrador de primeira tela executar em qualquer lugar.

#20: acessar seus programas remotamente

  • Dificuldade: fácil
  • Aplicação: X

Se você gostaria de ficar na cama com seu laptop Linux e acessar seus aplicativos a partir de sua máquina Windows, você pode fazer isso com SSH. Primeiro, você precisa habilitar a seguinte configuração no /etc/ssh/sshd_config:

X11Forwarding yes

Nós agora pode executar o GIMP em 192.168.0.2 com:

ssh -X 192.168.0.2 gimp

#21: fazer homem páginas úteis

  • Dificuldade: fácil
  • Aplicação: homem

Se você estiver procurando por ajuda sobre um determinado assunto ou comando, páginas de manual são um bom lugar para começar. Você normalmente acessar uma página de homem com homem < comando >, mas você também pode pesquisar as descrições de página do homem para uma determinada palavra-chave. Por exemplo, procure por páginas que abordam os logons:

man -k login

Quando você acessar uma página, você também pode usar a tecla de barra invertida para pesquisar uma determinada palavra dentro da página do homem em si. Basta pressionar no seu teclado e digite em termo de busca.

#22: converse com seu médico!

  • Dificuldade: fácil
  • Aplicação: Emacs

Dizer que o Emacs é que apenas um editor de texto é como dizer que um triunfo é apenas uma moto, ou a Copa do mundo é um evento de futebol quadrienal. É verdade, mas juuuust simplificado um pouco mais. Um exemplo? Abrir o editor, pressione a tecla Esc, seguida por X e digite no médico: você será engajado em uma conversa surreal por um imaginário e super-educado psicoterapeuta. E se você quer perder seu tempo em uma maneira melhor

Esc-X tetris

vai transformar seu ‘editor’ para o velho jogo de arcade favorito.

A loucura é que parar aí? Não! Confira a lista de pacotes da sua distro para ver o que mais eles têm empacotado para o Emacs: temos xadrez, integração de Perl, chat IRC, tradução francesa, conversão de HTML, um ambiente de desenvolvimento Java, compilação inteligente, e até mesmo algo chamado um bovinator”semântica”. Realmente não temos a primeira pista que faz o último, mas desafiamos você a experimentá-lo de qualquer maneira! (Por favor, leia o aviso primeiro!)

#23: gerar diagramas de relacionamento de pacote

  • Dificuldade: fácil
  • Aplicação: Debian

A parte mais crítica do sistema Debian é a capacidade de instalar um pacote e ter as dependências automaticamente satisfeitos. Se você gostaria de uma representação gráfica das relações entre estes pacotes (isso pode ser útil para ver como o sistema se encaixa), você pode usar o Graphviz pacote do Debian non-free (apt-get install graphviz) e o comando a seguir:

apt-cache dotty > debian.dot

O comando gerado o arquivo gráfico que pode então ser carregado em dotty:

dotty debian.dot

#24: desmontar drives ocupados

  • Dificuldade: fácil
  • Aplicação: bash

Você está provavelmente todos muito familiarizados com a situação…-você está tentando desmontar um drive, mas continua recebendo disse pelo seu sistema, que é ocupado. Mas qual aplicativo é amarrá-lo? Um one-liner rápido irá dizer-lhe:

lsof +D /mnt/windows

Isto irá retornar o comando e identificação de quaisquer tarefas atualmente acessando o diretório /mnt/windows do processo. Então você pode localizá-los, ou usar o comando kill para acabar com eles.

#25: conversão de arquivos de texto

  • Dificuldade: fácil
  • Aplicação: recode

Recode é um pequeno utilitário que vai lhe poupar cargas de esforço quando usando arquivos de texto criados em plataformas diferentes. A principal fonte de descontentamento é quebras de linha. Em alguns sistemas, estas são assinaladas com um caractere de alimentação de linha. Em outros, é usado um retorno de carro. Em ainda mais sistemas, ambos são usados. O resultado final é que se você está trocando o texto de uma plataforma para outra, você acabar com muitos ou poucos quebras de linha e um monte de caracteres estranhos, além.

No entanto, os parâmetros de comando de recode são um pouco Arcanos, então porque não combinar este corte com 26 HACK neste recurso e configurar alguns aliases úteis:

alias dos2unix='recode dos/CR-LF..l1'
alias unix2win='recode l1..windows-1250'
alias unix2dos='recode l1..dos/CR-LF'

Existem muitas outras opções para recode – na verdade pode converter entre toda uma gama de conjuntos de caracteres. Confira as páginas de manual para obter mais informações.

#26: listagem de arquivos de hoje só

  • Dificuldade: fácil
  • Aplicação: diversos

Você provavelmente está familiarizado com o problema. Um dia mais cedo no dia, você criou um arquivo de texto, que agora é urgentemente necessário. No entanto, não se lembra que nome ridículo que você deu, e sendo um típico nerd, sua pasta de início é cheia de 836 arquivos diferentes. Como você pode encontrá-lo? Bem, existem várias maneiras, mas esta dica mostra-lhe o poder de canos e unindo dois comandos de shell poderosa:

ls -al --time-style=+%D | grep `date +%D`

Os parâmetros para o comando ls aqui causam o datestamp ser saída em um formato específico. O astuto bit é que a saída é então passada para o grep. O parâmetro grep é em si um comando (executado por causa da backticks), que substitui a data atual para a sequência de caracteres a ser correspondido. Você poderia facilmente modificá-lo para pesquisar especificamente para outras datas, vezes, filesizes ou qualquer outra coisa. Combine-o com 26 HACK para salvar digitando!

#27: evitar mistypes comuns e comandos longos

  • Dificuldade: fácil
  • Aplicação: Shell

O comando alias é útil para a criação de atalhos para comandos longos, ou mesmo mais coisas inteligentes. De 25 HACK, fizemos um novo comando, lsnew, ao fazer isso:

alias lsnew=" ls -al --time-style=+%D | grep `date +%D` "

Mas existem outros usos de alias. Por exemplo, erros comuns mistyping. Quantas vezes você acidentalmente deixou o espaço quando se muda para o diretório pai? Não se preocupe mais!

alias cd..="cd .."

Como alternativa, que tal reescrever alguns comandos existentes?

alias ls="ls -al"

economiza alguns pressionamentos de teclas se, como nós, você sempre quer a lista completa.

Para que estes atalhos habilitados para cada sessão, basta adicione os comandos do alias ao seu arquivo. bashrc de usuário em seu diretório home.

#28: configurações secretas do Mozilla Alter

  • Dificuldade: fácil
  • Aplicação: Mozilla

Se você encontrar o que você gostaria de mudar como Mozilla funciona mas as preferências para oferecer nada por meio de opções clicáveis que podem ajudá-lo, há um modo especial que você pode habilitar no Mozilla para que você pode mudar qualquer coisa. Para acessá-lo, digite o seguinte na barra de endereço:

about:config

Em seguida, você pode alterar cada configuração que você está interessado em alterando o campo valor na tabela.

Outros modos interessantes incluem informações gerais (sobre:), detalhes sobre plugins (sobre: plugins), credita a informação (sobre: créditos) e alguma sabedoria geral (sobre: mozilla).

#29: um pano de fundo das estrelas

  • Dificuldade: fácil
  • Aplicação: o KStars

Você já deve ter jogado com o KStars, mas que tal criar uma imagem de pano de fundo o KStars é atualizado toda vez que você iniciar o?

O KStars pode ser executado com o switch– despejo, que despeja uma imagem de suas configurações de inicialização, mas não carrega a GUI em tudo. Você pode criar um script para executar este e gerar uma imagem de desktop, que vai mudar todos os dias (ou você só pode usar esse método para gerar imagens).

Execute o KStars como este:

kstars --dump --width 1024 --height 768 --filename = ~/kstarsback.png

Você pode adicionar este para um script na pasta ~/.kde/Autostart para ser executado na inicialização. Localize o arquivo no Konqueror, arrastá-lo para o desktop e selecione ‘Definir como papel de parede’ para usá-lo como pano de fundo gerado aleatoriamente.

#30: abrir um SVG diretamente

  • Dificuldade: fácil
  • Aplicação: Inkscape

Você pode executar o Inkscape um shell e imediatamente editar um gráfico diretamente de uma URL. Basta digite:

inkscape http://www.somehost.com/graphic.svg

Lembre-se de salvá-lo como outra coisa, embora!

#31: edição sem um editor

  • Dificuldade: intermediário
  • Aplicação: diversos

Arquivos muito frequentemente são difíceis de manipular com um editor de texto. Se você precisa fazê-lo regularmente, as chances são que você vai encontrá-lo muito mais rápido para usar algumas ferramentas úteis de linha de comando em vez disso, como nos exemplos a seguir.

Para imprimir colunas, por exemplo, 1 e 3 a partir de um arquivo file1 em arquivo2, podemos usar awk:

awk '{print $1, $3}' file1 > file2

Para a saída somente caracteres da coluna 8 coluna 15 de arquivo1, podemos usar corte:

cut -c 8-15 file1 > file2

Para substituir a palavra word1 com a palavra word2 no arquivo file1, podemos usar o comando sed:

sed "s/word1/word2/g" file1 > file2

Isto é frequentemente uma maneira mais rápida para obter resultados do que até mesmo abrir um editor de texto.

#32: backup selecionado somente arquivos

  • Dificuldade: intermediário
  • Aplicação: alcatrão

Quer usar o tar para fazer backup somente determinados arquivos em um diretório? Então você vai querer usar o sinalizador -T da seguinte maneira. Primeiro, crie um arquivo com o arquivo que você deseja fazer backup:

cat >> /etc/backup.conf
# /etc/passwd
# /etc/shadow
# /etc/yp.conf
# /etc/sysctl.conf
EOF

Em seguida, execute alcatrão com o sinalizador -T apontando para o arquivo que acabou de criar:

tar -cjf bck-etc-`date +%Y-%m-%d`.tar.bz2 -T /etc/backup.conf

Agora você tem seu backup.

#33: mesclar colunas em arquivos

  • Dificuldade: intermediário
  • Aplicação: bash

Enquanto dividir colunas em arquivos é bastante fácil, fundi-las pode ser complicado. Abaixo está um script simples que faz o trabalho:

#!/bin/sh
length=`wc -l $1 | awk '{print $1}'`
count=1
[ -f $3 ] && echo "Optionally removing $3" && rm -i $3
while [ "$count" -le "$length" ] ; do
      a=`head -$count $1 | tail -1`
      b=`head -$count $2 | tail -1`
      echo "$a      $b" >> $3
      count=`expr $count + 1`
done

Dar a este script o nome merge.sh e torne-o executável com:

chmod u+x merge.sh

Agora, se você deseja mesclar as colunas de arquivo1 e arquivo2 arquivo3, é apenas questão de execução

/path/to/merge.sh file1 file2 file3

onde caminho/a tem de ser substituído com a localização do merge.sh em seu sistema de arquivos.

#34: caso a sensibilidade

  • Dificuldade: intermediário
  • Aplicação: bash

Apesar de no caso de uma palavra que não faz qualquer diferença para outros sistemas operacionais, no Linux “Comando” e “comando” é coisas diferentes. Isso pode causar problemas quando mover arquivos de Windows para Linux. TR é um pequeno utilitário de shell que pode ser usado para alterar o caso de um monte de arquivos.

#!/bin/sh
for i in `ls -1`; do
        file1=`echo $i | tr [A-Z] [a-z] `
        mv $i $file1 2>/dev/null
done

Executando-a, arquivo1 e arquivo2 serão renomeados respectivamente arquivo1 e arquivo2.

#35: macros no Emacs

  • Dificuldade: intermediário
  • Aplicação: Emacs

Quando a edição de arquivos, você irá encontrar muitas vezes que as tarefas são tediosas e repetitivas, então para poupar seu tempo, você deve gravar uma macro. No Emacs, você terá que percorrer as seguintes etapas:

  1. Pressione Ctrl + X para iniciar a gravação.
  2. Inserir todos os pressionamentos de teclas e comandos que você deseja
  3. Pressione Ctrl + X para parar quando terminar.

Agora, você pode executar isso com

Ctrl -u <number> Ctrl -x e

onde < número > é o número de vezes que você deseja executar a macro. Se você inserir um valor de 0, a macro será executada até o final do arquivo seja atingido. Ctrl – x e é equivalente a Ctrl -u 1 Ctrl-x e.

#36: matança de spam simples

  • Dificuldade: intermediário
  • Aplicação: KMail

Spam ou e-mail em massa não solicitadas, é um problema generalizado que quase todo mundo tem algum tipo de proteção contra spam, por necessidade. A maioria dos ISPs incluem a filtragem de spam, mas não está definido para ser demasiado agressivo e mais frequentemente simplesmente rotula o spam, mas permite através de (ISPs não querem ser culpado por perder seus e-mails).

O resultado é que, enquanto você pode ter coisas de anti-spam configurar do lado do cliente, você pode facilitar seu trabalho, escrevendo alguns filtros para remover o spam já rotulada como tal. O rótulo é incluído como um cabeçalho. No KMail, basta criar um filtro rápido para bin seu correio, ou direcioná-lo para uma pasta de lixo eletrônico. O cabeçalho exato usado dependerá do software seu ISP está usando, mas geralmente é algo parecido com X-Spam-Flag = YES para sistemas como o SpamAssassin.

Basta criar um filtro no KMail, escolher coincidir com qualquer uma das seguintes opções e digite os detalhes do cabeçalho e a ação que você precisar. Aplicar o filtro de entrada de emails, e você nunca precisa ser incomodado por cerca de metade do volume de seu spam novamente.

#37: Leia os documentos do OOo sem OOo

  • Dificuldade: intermediário
  • Aplicação: OpenOffice.org

Vocês já ficaram com um documento de OOo, mas nenhum OpenOffice.org em que lê-lo? Pensei que você guardou como texto sem formatação (. txt), mas usado o formato sxw do StarOffice em vez disso? O texto pode ser resgatado. Em primeiro lugar, o sxw arquivo é um arquivo zip, descompacte-o assim:

unzip myfile.sxw

O arquivo que você deseja é chamado ‘content.xml’. Infelizmente, é tão cheio de marcas xml é bastante ilegível, então filtrá-los com alguma magia de Perl:

cat content.xml | perl -p -e  "s/<[^>]*>/ /g;s/\n/ /g;s/ +/ /;"

Ele pode ter perdido muita formatação, mas pelo menos agora é legível.

#38: encontrar e executar

  • Dificuldade: intermediário
  • Aplicação: encontrar

O comando Localizar não só é útil para encontrar arquivos, mas também é útil para processar aqueles que encontra também. Aqui está um exemplo rápido.

Suponha que temos um monte de tarballs, e queremos encontrá-los todos:

find . -name '*.gz'

localizará todos os arquivos do gzip no caminho atual. Mas suponha que queremos verificar que eles são arquivos válidos? A opção de -vt gunzip farão isso por nós, mas podemos astuciosamente combinar ambas as operações, usando o xargs:

find . -name '*.gz' | xargs gunzip -vt

#39: usar o servidor de whois correto

  • Dificuldade: intermediário
  • Aplicação: whois

O comando whois é muito útil para rastrear depravados da Internet e os ISPs que estão fornecendo-lhes serviços. Infelizmente, existem muitos servidores de whois, e se você está consultando com um nome de domínio, você frequentemente tem que usar um que é específico para o TLD estão usando. No entanto, existem alguns proxies de whois que automaticamente irão encaminhar sua consulta para o servidor correto. Um destes está disponível em http://whois.geektools.com.

whois -h whois.geektools.com  plop.info

#40: onde aquela unidade apresentada?

  • Dificuldade: intermediário
  • Aplicação: bash

Um problema comum com pessoas que têm lotes de montagem em dispositivos (USB drives, cartões de memória flash, USB chave) está funcionando onde foi parar aquela unidade você só plugado?

Praticamente todos os dispositivos que invocar um driver – tais como usb-armazenamento – vão deixar algumas informações úteis nos logs. Tente

dmesg | grep SCSI

Isto irá filtrar especificações unidade reconhecida desde a saída do dmesg. Você provavelmente vai aparecer algum texto como:

SCSI device sda: 125952 512-byte hdwr sectors (64 MB)

Assim que o dispositivo está em sda.

#41: dispositivos USB Autorun

  • Dificuldade: perito
  • Aplicativos: scripts de hotplug

Deseja executar um aplicativo específico, sempre que um determinado dispositivo é adicionado? O daemon do hotplug USB pode ajudá-lo! Este serviço é notificado quando dispositivos USB são adicionados ao sistema. Para dispositivos que requerem drivers do kernel, o hotplug daemon irá chamar um script com o mesmo nome em /etc/hotplug/usb /, por exemplo, se existe um script chamado usb-armazenamento. Você pode simplesmente adicionar seus próprios comandos até o fim deste script (ou melhor ainda, marcar uma linha no final do mesmo para executar um script em outro lugar). Então você pode jogar um som, sincronização automática arquivos, busca de fotos ou qualquer coisa.

Para dispositivos que não dependem de drivers do kernel, uma tabela de pesquisa é usada combinando a identificação de USB produto e fabricante. Muitas distros já armou isso para fazer algo, mas você pode personalizar esses scripts muito facilmente. Consulte http://jphoto.sourceforge.net/?selected=sync para obter um exemplo do que pode ser feito.

#42: renomear e redimensionar imagens

  • Dificuldade: perito
  • Aplicação: bash

Gosta de sua nova câmera, mas não pode colocar-se com os terríveis nomes? Você quer também prepará-los para publicação na web? Não tem problema, um simples bash script é o que você precisa:

#!/bin/sh
counter=1
root=mypict
resolution=400x300
for i in `ls -1 $1/*.jpg`; do
        echo "Now working on $i"
        convert -resize $resolution $i ${root}_${counter}.jpg
        counter=`expr $counter + 1`
done

Salve o script em um arquivo chamado picturename.sh e torne-o executável com

chmod u+x picturename.sh

e armazená-lo em algum lugar no seu caminho. Agora, se você tem um monte de arquivos. jpg no diretório /path/to/pictdir, tudo o que você precisa fazer é executar

picturename.sh /path/to/pictdir

e no diretório atual, você encontrará mypict_1.jpg, mypict_2.jpg etc., que são as versões redimensionadas de seus queridos originais. Você pode alterar o script de acordo com suas necessidades, ou, se você está apenas procurando por redimensionamento da imagem super simples, tente olhar para o comando mogrify com seu – parâmetro de geometria.

#43: secure logout

  • Dificuldade: fácil
  • Aplicação: bash

Quando você estiver usando um console em um computador compartilhado, ou de fato, apenas na sua própria área de trabalho, você pode achar que quando você sair, a tela mostra ainda um traço de quem estava logado e o que estava fazendo. Um monte de distros irá limpar a tela, mas outros não. Você pode resolver isso editando o arquivo ~/.bash_logout e adicionar o comando:

clear

Você pode adicionar outros comandos úteis aqui também.

#44: transferência de arquivos sem ftp ou scp

  • Dificuldade: fácil
  • Aplicação: netcat

Precisa transferir um diretório para outro servidor, mas não tenho acesso FTP ou SCP? Bem, este pequeno truque vai ajudar usando o utilitário netcat. No servidor de destino executar:

nc -l -p 1234 | uncompress -c | tar xvfp -

E sobre o servidor de envio, execute:

tar cfp - /some/dir | compress -c | nc -w 3 [destination] 1234

Agora você pode transferir diretórios sem FTP e sem precisar de acesso root.

#45: backup de uma lista de pacotes Debian

  • Dificuldade: fácil
  • Aplicação: Debian

Se você estiver executando o Debian e ter perdido a noção de quais pacotes você está executando, poderia ser útil obter um backup dos seus pacotes instalados. Você pode obter uma lista executando:

dpkg --get-selections > debianlist.txt

Isso vai colocar toda a lista em debianlist.txt. Então, você poderia instalar os pacotes mesmos em um computador diferente com:

dpkg --set-selections < debianlist.txt

Você deve ter em mente que você também precisa copiar sobre arquivos de configuração do arquivo ao copiar seu sistema para um novo computador.

Para realmente instalar as seleções, use:

apt-get – u dselect-upgrade.

#46: endurecimento ssh

  • Dificuldade: fácil
  • Aplicação: ssh

Apesar de uma maneira bastante segura para se conectar ao seu servidor SSH, há duas mudanças simples você pode fazer que vão aumentar ainda mais sua segurança. Primeiro, você quase certamente não quer pessoas logar diretamente como root – em vez disso, eles devem efetuar logon como um usuário normal, em seguida, use o comando su para passar. Você pode mudar isso simplesmente no arquivo /etc/ssh/ssh_config adicionando a linha:

PermitRootLogin  no

Agora a única maneira de obter a raiz privilges é através de su, que significa biscoitos agora precisam quebrar duas senhas para obter acesso completo. Enquanto você estiver editando o arquivo, localize a linha que diz:

Protocol 2, 1

E alterá-lo para:

Protocol 2

Isso remove a opção de retorno sobre o protocolo SSH original, agora considerado muito vulnerável.

#47: parar de responder a pings

  • Dificuldade: fácil
  • Aplicação: sysctl

Enquanto o ping é um comando muito útil para descobrir a topologia de rede, a desvantagem é que ele faz exatamente isso e torna mais fácil para os hackers na rede ao vivo servidores de destino. Mas você pode dizer Linux para ignorar todos os pings – o servidor simplesmente não responde. Há um número de maneiras de alcançar este objectivo, mas o melhor é usar o sysctl. Para desativar respostas de ping:

sysctl -w net.ipv4.icmp_echo_ignore_all=1

Para ativá-la, use novamente:

sysctl -w net.ipv4.icmp_echo_ignore_all=0

Se desligar o ping é muito grave para você, dê uma olhada o próximo corte.

#48: diminuir taxas de ping

  • Dificuldade: fácil
  • Aplicação: sysctl

Você pode querer manter a capacidade de responder a pings, mas proteja-se de uma forma de ataque conhecido como um ‘ping flood’. Então, como você consegue tal façanha? A maneira mais fácil é para abrandar a taxa na qual o servidor responde de pings. Eles ainda são válidos, mas não vai sobrecarregar o servidor:

sysctl -w net.ipv4.icmp_echoreply_rate=10

Isto diminui a taxa na qual as respostas são enviadas para um único endereço.

#49: limpar o KDE em logout

  • Dificuldade: fácil
  • Aplicação: bash

No Windows existem muitos programas que fazem coisas como limpar seu cache de web, remover arquivos temporários e todos os tipos de outras coisas quando você logout. Não seria legal fazer isso no Linux também? Com o KDE, você não precisa nem instalar qualquer software novo, como o startkde script será executado automaticamente scripts de que te colocar em lugares especiais.

Primeiro, você precisa criar um diretório chamado desligamento em seu diretório KDE:

mkdir /home/username/.kde/shutdown

Agora crie um script para fazer qualquer coisa que você gosta no desligamento. Aqui está um exemplo:

#!/bin/bash
#clear up temp folder
rm -rf ~/tmp/*
#clear out caches
rm -rf ~/.ee/minis/*
rm -rf ~/.kde/share/cache/http/*
# delete konqueror form completions
rm ~/.kde/share/apps/khtml/formcompletions

Agora certifique-se que você definir as permissões corretas:

chmod ug+x ~/.kde/shutdown/cleanup.sh

(ou como lhe chama). Assim como a limpeza de arquivos confidenciais, você também pode ter scripts de desligamento global para todos os usuários, colocando o script na pasta padrão do KDE, em uma subpasta chamada desligamento. Para descobrir qual é o diretório padrão do KDE, tente:

kde-config --path exe

#50: sem senha ssh

  • Dificuldade: intermediário
  • Aplicação: ssh

Cansado de digitar sua senha cada vez que você entra no servidor? SSH também oferece suporte a chaves, então você só tem que digitar sua senha quando você fizer logon desktop. Gere um par de chaves na sua máquina desktop:

ssh-keygen -t dsa -C your.email@ddress

Digite uma senha para sua chave. Isto coloca a chave secreta no ~/.ssh/id_dsa e a chave pública no ~ /.ssh/id_dsa.pub. Agora vê se você tem um ssh-agent em execução no momento:

echo $SSH_AGENT_PID

A maioria dos gerenciadores de janelas serão executado automaticamente se ele está instalado. Se não, um arranque:

eval $(ssh-agent)

Agora, diz o agente sobre sua chave:

ssh-add

e digitar sua senha. Você precisará fazer esta cada vez que você efetuar login; Se você estiver usando o X, tente adicionar

SSH_ASKPASS=ssh-askpass ssh-add

ao seu arquivo Xsession. (Você pode precisar instalar ssh-askpass). Agora para cada servidor que você entrar, criar o diretório ~/.ssh e copie o arquivo ~/.ssh/id_dsa.pub para ele como ~/.ssh/authorized_keys. Se você começou o ssh-agent à mão, matá-lo com

ssh-agent -k

Quando você encerrar a sessão.

#51: usando rsync sobre ssh

  • Dificuldade: intermediário
  • Aplicação: Shell

Estruturas de diretório grande manter em sincronia rapidamente com o rsync. Enquanto o alcatrão sobre SSH é ideal para fazer cópias remotas das partes de um sistema de arquivos, rsync é ainda mais adequado para manter o sistema de arquivos em sincronia entre duas máquinas. Para executar um rsync sobre SSH, passá-lo a opção -e, como este:

rsync -ave ssh greendome:/home/ftp/pub/ /home/ftp/pub/

Observe à direita / sobre a especificação de arquivo do lado da fonte (em greendome). Na fonte de spec, uma rasteira / informa rsync para copiar o conteúdo do diretório, mas não o próprio diretório. Para incluir o diretório como no nível superior do que está sendo copiado, deixar de fora o /:

rsync -ave ssh bcnu:/home/six .

Isto irá manter uma cópia do diretório ~/six/ na aldeia em sincronia com o que está presente na bcnu: / home/seis /. Por padrão, rsync irá apenas copiar arquivos e diretórios, mas não lhes retire a cópia de destino quando eles são retirados da fonte. Para manter as cópias exatas, incluem a..–bandeira de excluir:

rsync -ave ssh  --delete greendome:~one/reports .

Agora quando relatórios antigos são removidos do ~one/reports/ na greendome, eles estão também removidos do ~six/public_html/reports/ na versão sincronizada, cada vez que este comando é executado. Se você executar um comando como este no cron, desligar o interruptor de v. Isto manterá a saída tranquila (a menos que o rsync tem um problema de execução, caso em que você receberá um e-mail com a saída de erro). Usando o SSH como seu transporte para o rsync tráfego tem a vantagem de criptografia dos dados através da rede e também tira proveito de quaisquer relações de confiança que você já tiver estabelecido usando SSH cliente chaves.

#52: digitalização de ativos

  • Dificuldade: intermediário
  • Aplicação: nmap

Normalmente, quando as pessoas pensam de usando o nmap, assumem que é usado para realizar algum tipo de reconhecimento de rede nefasto em preparação para um ataque. Mas como com todas as ferramentas poderosas, nmap pode ser feito para usar um chapéu branco, como é útil para muito mais do que invadir redes. Por exemplo, TCP simples conectar sensores pode ser realizado sem a necessidade de privilégios de root:

nmap rigel

Nmap também pode digitalizar intervalos de endereços IP, especificando o intervalo ou usando a notação CIDR:

nmap 192.168.0.1-254
nmap 192.168.0.0/24

Nmap pode fornecer muito mais informações… se ele é executado como root. Quando executar como root, ele pode usar os pacotes especiais para determinar o sistema operacional da máquina remota usando o sinalizador – O. Além disso, você pode fazer meio-abrir TCP digitalização usando o sinalizador -sS. Ao fazer uma varredura de semi-aberto, nmap irá enviar um pacote SYN ao host remoto e esperar para receber o ACK de Se receber um ACK, sabe que a porta está aberta.

Isso é diferente de um handshake TCP três vias normal, onde o cliente envia um pacote SYN e em seguida, enviar um ACK para o servidor, após ter recebido o servidor inicial ACK. atacantes normalmente usar esta opção para evitar ter seus exames registrados na máquina remota.

nmap -sS -O rigel
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on rigel.nnc (192.168.0.61):
(The 1578 ports scanned but not shown below are in state: filtered)
Port       State       Service
7/tcp      open     echo 
9/tcp      open     discard 
13/tcp     open     daytime 
19/tcp     open     chargen 
21/tcp     open     ftp 
22/tcp     open     ssh 
23/tcp     open     telnet 
25/tcp     open     smtp 
37/tcp     open     time 
79/tcp     open     finger 
111/tcp    open     sunrpc 
512/tcp    open     exec 
513/tcp    open     login 
514/tcp    open     shell 
587/tcp    open     submission 
7100/tcp   open     font-service 
32771/tcp  open     sometimes-rpc5 
32772/tcp  open     sometimes-rpc7 
32773/tcp  open     sometimes-rpc9 
32774/tcp  open     sometimes-rpc11 
32777/tcp  open     sometimes-rpc17 
Remote operating system guess: Solaris 9 Beta through Release on SPARC
Uptime 44.051 days (since Sat Nov  1 16:41:50 2003)
Nmap run completed -- 1 IP address (1 host up) scanned in 166 seconds

Com detecção de sistema operacional habilitado, nmap confirmou que o sistema operacional é o Solaris, mas agora você também sabe que é provavelmente a versão 9 em execução em um processador SPARC.

Uma característica poderosa que pode ser usada para ajudar a manter o controle de sua rede é capacidades de saída XML do nmap. Este é ativado usando a opção de linha de comando-boi, como este:

nmap -sS -O -oX scandata.xml rigel

Isso é especialmente útil quando digitalizando um intervalo de endereços IP ou sua rede inteira, porque você pode colocar todas as informações recolhidas do exame em um único arquivo XML que pode ser analisado e inserido em um banco de dados. Aqui é o que parece uma entrada XML para uma porta aberta:

<port protocol="tcp" portid="22">

<state state="open" />
<service name="ssh" method="table" conf="3" />
</port>

Nmap é uma ferramenta poderosa. Usando suas capacidades de saída XML, um pouco de scripts e um banco de dados, você pode criar uma ferramenta ainda mais poderosa que pode monitorar sua rede de serviços não autorizados e máquinas.

#53: seu setor de inicialização de backup

  • Dificuldade Expert
  • Shell do aplicativo

Mexer com bootloaders, dual-boot e vários outros processos assustadoras podem deixá-lo com um setor de inicialização confuso. Por que não criar um backup dele enquanto você pode:

dd if=/dev/hda of=bootsector.img bs=512 count=1

Obviamente você deve alterar o dispositivo para refletir sua unidade de inicialização (pode ser sda para SCSI). Também, tenha muito cuidado para não fazer as coisas ao contrário – pode facilmente danificar o seu carro! Para restaurar o uso:

dd if=bootsector.img of=/dev/hda 

#54: proteger os arquivos de log

  • Dificuldade: perito
  • Aplicação: diversos

Durante uma invasão, um invasor mais do que provavelmente vai deixar sinais de suas ações em vários logs do sistema: uma trilha de auditoria valioso que deve ser protegida. Sem registros confiáveis, pode ser muito difícil descobrir como o invasor entrou, ou de onde veio o ataque. Esta informação é crucial na análise do incidente e então responder a lo contactando as apropriado as partes envolvidas. Mas, se a invasão for bem sucedida, o que vai impedi-lo de remover os vestígios do seu mau comportamento?

É onde os atributos de arquivo entra para salvar o dia (ou pelo menos torná-lo um pouco melhor). Linux e os BSDs têm a capacidade de atribuir atributos extras para arquivos e diretórios. Isto é diferente do esquema de permissões padrão do Unix, em que os atributos definidos em um arquivo universalmente aplicam a todos os usuários do sistema, e eles afetam acessos de arquivo a um nível muito mais profundo do que as permissões de arquivo ou ACLs.

No Linux, você pode ver e modificar os atributos são definidos para um determinado arquivo usando os comandos lsattr e chattr, respectivamente. No momento da redação deste texto, atributos de arquivo no Linux estão disponíveis somente quando estiver usando os sistemas de arquivos ext2 e ext3. Também há patches do kernel disponíveis para suporte ao atributo em XFS e ReiserFS. Um atributo útil para proteger os arquivos de log é somente para acrescentar. Quando esse atributo estiver definido, o arquivo não pode ser excluído, e escreve só está autorizados a acrescentar ao final do arquivo.

Para definir o sinalizador acrescentar somente sob Linux, execute este comando:

chattr +a  filename

Veja como funciona o + um atributo: criar um arquivo e defina o atributo somente acréscimo:

touch /var/log/logfile
echo "append-only not set" > /var/log/logfile
chattr +a /var/log/logfile
echo "append-only set" > /var/log/logfile
bash: /var/log/logfile: Operation not permitted

A segunda tentativa de gravação falhou, já que ele substituiria o arquivo. No entanto, ainda é permitido anexar ao final do arquivo:

echo "appending to file" >> /var/log/logfile
cat /var/log/logfile
append-only not set
appending to file

Obviamente, um intruso que ganhou privilégios de root poderia perceber que atributos de arquivo estão sendo usados e apenas remover o sinalizador de opção append-only de nossos registros executando chattr – um. Para evitar isso, precisamos desabilitar a capacidade de remover o atributo somente acrescentar. Para fazer isso no Linux, use o seu mecanismo de recursos.

O modelo de recursos Linux divide até os privilégios dados conta root todo-poderoso e permite que você seletivamente desativá-los. Para impedir que um usuário remover o atributo acrescentar somente de um arquivo, precisamos remover a capacidade CAP_LINUX_IMMUTABLE. Quando presentes no sistema em execução, esse recurso permite que o atributo acrescentar somente a ser modificado. Para modificar o conjunto de recursos disponíveis para o sistema, vamos usar um simples utilitário chamado lcap (http://packetstormsecurity.org/linux/admin/lcap-0.0.3.tar.bz2).

Para descompactar e compilar a ferramenta, execute este comando:

tar xvfj lcap-0.0.3.tar.bz2 && cd lcap-0.0.3 && make

Em seguida, para não permitir a modificação da bandeira acrescentar somente, execute:

./lcap CAP_LINUX_IMMUTABLE
./lcap CAP_SYS_RAWIO

O primeiro comando Remove a capacidade de alterar o sinalizador de opção append-only, e a segunda remove a capacidade de fazer I/O-primas. Isto é necessário para que os arquivos protegidos não podem ser modificados, acessando o dispositivo de bloco que residem no. Ele também impede o acesso a /Disp/Memo. e /dev/kmem, que proporcionaria uma brecha para um intruso restabelecer a capacidade CAP_LINUX_IMMUTABLE. Para remover esses recursos na inicialização, adicione os dois comandos anteriores para seus scripts de inicialização do sistema (por exemplo, /etc/rc.local). Você deve garantir que os recursos são removidos no final, a ordem de inicialização, para evitar problemas com outros scripts de inicialização. Uma vez lcap retirou recursos do kernel, pode ser restabelecidos por apenas reiniciar o sistema.

Antes de fazer isso, você deve estar ciente de que adicionar somente acréscimo bandeiras para seus arquivos de log provavelmente causará log scripts de rotação para falhar. No entanto, fazendo isso irá aumentar consideravelmente a segurança de sua trilha de auditoria, que irá provar inestimável em caso de incidente.

#55: criptografado automaticamente conexões

  • Dificuldade: perito
  • Aplicação: Libera/WAN

Uma característica particularmente interessante suportada pelo FreeS/WAN é oportunista criptografia com outros hosts que executam o FreeS/WAN. Isso permite que o FreeS/WAN de forma transparente criptografar o tráfego entre todos os hosts que também oferecem suporte a encriptação oportunista. Para fazer isso, cada host deve ter uma chave pública gerada para usar com o FreeS/WAN. Esta chave pode ser armazenada em um registro DNS TXT para que o host. Quando um host que está configurado para a criptografia oportunista deseja iniciar uma conexão criptografada com outro host, vai procurar a chave pública do hospedeiro através de DNS e usá-lo para iniciar a conexão.

Para começar, você precisará gerar uma chave para cada host que você deseja usar esse recurso com. Você pode fazer isso executando o seguinte comando:

ipsec newhostkey --output /tmp/`hostname`.key

Agora, você precisará adicionar o conteúdo do arquivo que foi criado por esse comando para o arquivo:

cat /tmp/`hostname`.key >> /etc/ipsec.secrets

Em seguida, você precisará gerar um registro TXT para colocar em sua zona DNS. Você pode fazer isso executando um comando semelhante a este:

ipsec showhostkey --txt @colossus.nnc

Agora adicionar este registro para a sua zona e recarregá-lo. Você pode verificar se o DNS está funcionando corretamente executando este comando:

ipsec verify
Checking your system to see if IPsec got installed and started correctly
Version check and ipsec on-path  [OK]
Checking for KLIPS support in kernel   [OK]
Checking for RSA private key (/etc/ipsec.secrets)   [OK]
Checking that pluto is running   [OK]
DNS checks. 
Looking for TXT in forward map: colossus   [OK]
Does the machine have at least one non-private address   [OK]

Agora basta reiniciar o FreeS/WAN – você agora deve ser capaz de se conectar a qualquer outro host que suporta encriptação oportunista. Mas se quiserem outros hospedeiros para se conectar a você? Para permitir isso, você precisará criar um registro TXT para sua máquina em sua zona DNS reversa.

Você pode gerar o registro executando um comando semelhante a este:

ipsec showhostkey --txt 192.168.0.64

Adicionar este registro para a zona reversa para sua sub-rede, e outras máquinas serão capazes de iniciar a encriptação oportunista com sua máquina. Com encriptação oportunista em uso, todo o tráfego entre os hosts serão automaticamente criptografado, protegendo todos os serviços em simultâneo.

#56: eliminar binários suid

  • Dificuldade: intermediário
  • Aplicação: encontrar

Se o servidor tiver mais usuários de shell que você mesmo, você deve auditar regularmente os binários setuid e setgid no seu sistema. As chances são que você será surpreendido em quantas você encontrará. Aqui está um comando para encontrar todos os arquivos com um conjunto de bits setuid ou setgid:

find / -perm +6000 -type f -exec ls -ld {} \; > setuid.txt &

Isso criará um arquivo chamado setuid.txt que contém os detalhes de todos os arquivos correspondentes presentes em seu sistema. Para remover os bits s de todas as ferramentas que você não usa, digite:

chmod a-s program

#57: Mac filtragem Host AP

  • Dificuldade: perito
  • Aplicação: iwpriv

Enquanto você certamente pode executar MAC filtragem na camada de link usando iptables ou ebtables, é mais seguro deixar o Host AP fazê-lo para você. Isto não só bloqueia o tráfego que é destinado para a sua rede, mas também impede que depravados mesmo associando sua estação. Isso ajuda a impedir a possibilidade que alguém ainda poderia causar problemas para os outros clientes sem fio associados, mesmo se eles não têm mais acesso à rede.

Ao usar a Filtragem MAC, a maioria das pessoas fazer uma lista de dispositivos sem fio que desejam permitir e então negar todos os outros. Isso é feito usando o comando iwpriv.

iwpriv wlan0 addmac 00:30:65:23:17:05
iwpriv wlan0 addmac 00:40:96:aa:99:fd
  ...
iwpriv wlan0 maccmd 1
iwpriv wlan0 maccmd 4

A directiva addmac adiciona um endereço MAC para a tabela interna. Você pode adicionar endereços de MAC como muitos como você gosta de mesa emitindo comandos de addmac mais. Então precisa dizer Host AP o que fazer com a tabela que você construiu. O comando maccmd 1 diz Host AP para usar a tabela como uma lista de “permitidos” e negar todos os outros endereços MAC de associar. Finalmente, o comando maccmd 4 botas fora todos os clientes associados, forçando-os a reassociar. Isso acontece automaticamente para clientes listados na tabela, mas todos outra tentativa de associar serão negado.

Às vezes, você só precisa proibir um encrenqueiro ou dois, em vez de definir uma política explícita de dispositivos permitidos. Se você precisa de um par de endereço MAC específico de proibir, mas permitir que todos os outros, tente o seguinte:

iwpriv wlan0 addmac 00:30:65:fa:ca:de
iwpriv wlan0 maccmd 2
iwpriv wlan0 kickmac 00:30:65:fa:ca:de

Como antes, você pode usar addmac tantas vezes como você gosta. O comando maccmd 2 define a diretiva “negar”, e kickmac botas MAC especificado imediatamente, se ele passa a ser associado. Isso é provavelmente melhor do que arrancar todos e tornando-os reassociar apenas para proibir um encrenqueiro. Aliás, se você gostaria de remover completamente a filtragem de MAC, tente maccmd 0.

Se você cometer um erro de digitação em um endereço MAC, você pode usar o comando delmac apenas como você faria addmac, e exclui o determinado endereço MAC (previsivelmente) da tabela. Você precisa liberar a tabela MAC atual inteiramente mas manter a atual política, use este comando:

iwpriv wlan0 maccmd 3

Finalmente, você pode ver a tabela de MAC a execução usando/proc:

cat /proc/net/hostap/wlan0/ap_control 

O programa de iwpriv manipula o driver de Host AP a execução, mas não preserva as configurações entre reinicializações. Uma vez que você está feliz com o conteúdo da sua tabela de Filtragem MAC, certifique-se de colocar os comandos relevantes em um script do rc para ser executado no momento da inicialização.

Observe que os clientes ainda não associados ainda podem ouvir para tráfego de rede, por filtragem MAC, na verdade, faz muito pouco para evitar espionagem. Para combater as técnicas de escuta passivas, você precisará de criptografar seus dados.

Anúncios