Google

domingo, 14 de dezembro de 2008

MTA Exim


Hoje em dia, o e-mail executa um papel importantíssimo e absolutamente essencial na comunicação. A praticidade e rapidez com o que se podem enviar mensagens pela internet a vários destinatários, elegeram essa ferramenta como um dos principais recursos de comunicação utilizados na atualidades.

Com o seu crescimento, essa tecnologia trouxe consigo diversos benefícios, porém, trouxe malefícios também, como a grande proliferação de e-mails indesejados, ou seja, os Spams, os vírus e/ou códigos maliciosos que vêm acarretando prejuízos financeiros, seja por perda de tempo, com leituras de informações confidênciais ou com a destruição de informações preciosas da empresas.

O objetivo desse post e falar sobre o MTA (Mail Transfer Agent) Exim, juntamente com o anti-virus Clamav e anti-spam SpamAssassin.

O Exim é um MTA livre desenvolvido pela Universidade de Cambridge por Philip Hazel em 1995, para usos de serviços de computação da universidade e para ser usado por sistemas Unix conectados a internet. Esse software está disponível livremente sob os termos da Licença Pública Geral (GNU GPL).

Dentre as inúmeras vantagens do Exim sobre outros MTA do mercado, têm-se a segurança e a facilidade de controle e auditoria, além do poder das configurações e da facilidade de integração com bancos de dados e outras ferramentas.


O Clam Antivirus (Clamav) é um antivírus open source que possui versões para Windows (o ClamWin) e Linux, com atualizações diárias. É disponibilizado pela licença GPL. O Clamav para Linux, pode ser usado pela linha de comando, ou baixando um pacote especial para ser usada em uma interface gráfica, pelo pacote ClamTK.

O Clamav é um pacote de ferramentas anti-vírus específico para correio eletrônico em servidores de e-mail. O Clamav possui várias funcionalidades. Algumas delas:
· Análise em linha de comando;
· análise automática “ao acesso”;
· suporte incorporado da maioria dos formato de correio.

O SpamAssassin é um programa de computador licenciado por meio da licença Apache e utilizado como filtro de spam enviado através de mensagem eletrônica.

Esse post é uma parte do meu projeto de estágio da faculdade, o objetivo e na próxima postagem mostrar a instação e cofiguração do MTA na distribuição Slacwkare.

Abraços...



terça-feira, 18 de novembro de 2008

Firewall com iptables Linux

Imagine um cenário onde teremos uma interface de rede voltada para o roteador de saída(INTERNET) com o ip 192.168.100.2 eem eth1 para rede 192.168.254.0/24 em eth0 para rede local. Segue um exemplode firewall para esta situação.

Módulos necessários:

iptable_nat
ip_tables
ipt_state
ip_conntrack
ip_conntrack_ftp
ipt_multiport
ip_nat_ftp
iptable_mangle
ipt_tos
ipt_limit
ipt_ttl
iptable_filter
ipt_MASQUERADE
ipt_LOG
#ipt_layer7
nf_nat
iptable_mangle
xt_string
ts_kmp
xt_MARK
xt_mark
xt_CONNMARK

######## SCRIPT DE FIREWALL #################

#!/bin/bash
################################ Limpa tables e seta variaveis do kernel ############################
echo "Iniciando firewall.."
echo "Limpando tabelas e setando variaveis do kernel.."
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

### Variaveis ###
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 2 > /proc/sys/net/ipv4/conf/eth0/rp_filter
echo 2 > /proc/sys/net/ipv4/conf/eth1/rp_filter
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo "0" > /proc/sys/net/ipv4/conf/eth0/accept_source_route
echo "0" > /proc/sys/net/ipv4/conf/eth1/accept_source_route

### Seta Politicas de privacidade ###
echo "Setando politicas de privacidade.."
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# Abre a interface de loopback.
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

########################## SNAT - COMPARTILHAMENTO ########################
echo "Habilitando compartilhamento.."
iptables -t nat -A POSTROUTING -s 192.168.254.0/24 -j SNAT --to-source 192.168.100.2
More...
########################## Seta prioridades TOS ##########################
echo "Dando prioridades TOS para portas e ips importantes.."
PRIO="20 21 25 53 80 110 137 139 445 443 8046 20000"
IPSPRIO="192.168.10.0/24 192.168.3.0/24"

for i in $PRIO; do
echo " -Prioridade para porta $i tcp/udp"
iptables -t mangle -A PREROUTING -p tcp --dport $i -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p udp --dport $i -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p tcp --sport $i -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p udp --sport $i -j TOS --set-tos 16
done

for i in $IPSPRIO; do
echo " -Dada prioridade para ip $i"
iptables -t mangle -A PREROUTING -s $i -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -d $i -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p icmp -s $i -j TOS --set-tos 16
iptables -t mangle -A PREROUTING -p icmp -d $i -j TOS --set-tos 16
done

##################### Bloqueio de sites por string ##################
echo "Fazendo bloqueio por palavras.."
PALAVRAS="putaria putas gays playboy superiorpics"

for i in $PALAVRAS; do
echo " -Bloqueio feito para a string $i"
iptables -t mangle -A FORWARD -p tcp --dport 80 -m string --string "$i" --algo kmp -j DROP
done

################### Libera serviços para este roteador #############
echo "Liberando portas de servicos a para esse roteador.."
PORTSALLOW="53 80 123 8046 8081 8082 20000 4445 5550"

for i in $PORTSALLOW; do
iptables -A INPUT -p tcp --dport $i -j ACCEPT
iptables -A INPUT -p udp --dport $i -j ACCEPT
iptables -A INPUT -p tcp --sport $i -j ACCEPT
iptables -A INPUT -p udp --sport $i -j ACCEPT
done

############################### REDIRECIONAMENTO DE PORTAS ###############
echo "Redirecionando portas da internet para micros da rede interna.."
EXTIP="192.168.100.2"

iptables -A PREROUTING -t nat -i eth1 -p tcp -d $EXTIP --dport 8081 -j DNAT --to 192.168.10.5:80

iptables -A PREROUTING -t nat -i eth1 -m multiport -p tcp -d $EXTIP --dport 4550,5550,3650,3550,90 -j DNAT --to 192.168.254.31
iptables -A PREROUTING -t nat -i eth1 -m multiport -p udp -d $EXTIP --dport 4550,5550,3650,3550,90 -j DNAT --to 192.168.254.31

######################Protege contra pacotes danificados e alguns ataques
## PROTECOES
# ------------------------------------------------------
# CONTRA TROJANS
echo "Bloqueando contra trojans e logando pacotes.."
iptables -N TROJAN
iptables -A TROJAN -j LOG --log-prefix '** TROJANS E WORMS **' --log-level debug
iptables -A FORWARD -p tcp --dport 666 -j TROJAN
iptables -A FORWARD -p tcp --dport 4000 -j TROJAN
iptables -A FORWARD -p tcp --dport 6000 -j TROJAN
iptables -A FORWARD -p tcp --dport 6006 -j TROJAN
iptables -A FORWARD -p tcp --dport 16660 -j TROJAN
iptables -A FORWARD -p tcp --dport 135 -i eth1 -j TROJAN
iptables -A FORWARD -p tcp --dport 137 -i eth1 -j TROJAN
iptables -A FORWARD -p tcp --dport 139 -i eth1 -j TROJAN
iptables -A FORWARD -p udp --dport 69 -i eth1 -j TROJAN
iptables -A TROJAN -j DROP

####### #BLOQUEIA PING EM EXCESSO

echo "Bloqueando ping flood.." iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
# Libera pacotes tcp e udp de conexoes ja estabelecidas ou relacionadas

iptables -A FORWARD -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

### Bloqueia Tudo Que chega a esse roteador e bloqueia FORWARD para rede interna #######################
echo "Bloquando tudo que restou.."
iptables -A INPUT -p tcp -j DROP
iptables -A INPUT -p udp -j DROP
iptables -A FORWARD -i eth1 -p tcp -j DROP
iptables -A FORWARD -i eth1 -p udp -j DROP
echo "Firewall iniciando!"



Esse artigo tem como fonte o site: www.marcelosantana.com.br, é de um grande amigo/parceiro grande conhecedor do mundo linux, espero que aproveitem e tirem o máximo de informação possível.

Abraços..

segunda-feira, 8 de setembro de 2008

Crontab - Tarefas virtuais


Crontab é um software do tipo Unix capaz de realizar tarefas, ou seja, um programa que executa comandos agendados no sistema sem a intervenção de operador.
O Cron é um sevidor que executa tarefas agendadas no arquivo /etc/crontab. O Cron permite a criação de scripts que podem ser repetidos de acordo com a necessidade do administrador da rede, ou seja, diaramente, semanalmente, quinzenalmente, entre outras.
Para que um usuário comum (que não seja o super usuário - root) é necessário usar o parâmetro -e:
Ex: crontab -e 00 07 * * * alberto service samba start
A sintaxe do crontab acima, o parâmetro -e signica que o usuário alberto e que é o responsável pela execução do comando, o valor 00 refere-se aos minutos e o segundo 07 refere-se á horas. Os três asteristicos (*) significa que o comando executará todos os dias da semana.
Sendo assim o serviço samba será inicializado todos os dias as 07:00hs da manhã de domingo a sabádo pelo usuário alberto.
O servidor Cron é de vital importância para um administrador de redes linux, pois facilita o adminstração da rede, como inicialização e paradas de serviços.
Bem espero que façam o uso desse servidor, é super importante.
Abraços a até a próxima.


domingo, 24 de agosto de 2008

O kernel do Linux

Independente de qual Sistema Operacional seja, todos possuem um kernel. Trata-se de um item fundamental, que antes do Linux era conhecido apenas por estudantes de computação de grandes universidades ou por desenvolvedores da área. Após o surgimento do Linux, o termo kernel ficou mais conhecido e qualquer um que já tenha se aventurado no Linux provavelmente sabe de sua existência. Porém, os conceitos que envolvem o kernel não são claros a muita gente e, por isso, poucas pessoas sabem exatamente o que é kernel. O objetivo desta postagem é dar explicações sobre isso, mas com ênfase no kernel do Linux.

O que é kernel

Kernel pode ser entendido com uma série de arquivos escritos em linguagem C e em linguagem Assembly que constituem o núcleo do sistema operacional. É o kernel que controla todo o hardware do computador. Ele pode ser visto como uma interface entre os programas e todo o hardware. Cabe ao kernel as tarefas de permitir que todos os processos sejam executados pela CPU e permitir que estes consigam compartilhar a memória do computador.

O kernel do Linux

Para entender melhor tudo o que envolve o kernel do Linux é interessante ver um pouco da história do sistema. O kernel do Linux foi idealizado pelo finlandês Linus Torvalds, em 1991. Torvalds era um estudante de ciência da computação que, em seus estudos, teve a necessidade de criar uma nova versão do Minix, um sistema operacional baseado no Unix e desenvolvido por Andy Tannenbaum.

Linus começou a trabalhar nesse projeto e, quando desenvolveu algo concreto, enviou uma mensagem para um grupo de usuários do Minix na Usenet (a antecessora da internet). Na mensagem, Torvalds notificou sobre sua criação e avisou que disponibilizaria o código-fonte do que tinha desenvolvido a todos os interessados.

O que Linus Torvalds tinha criado, na verdade, era a primeira versão do kernel do Linux. Assim, falando grossamente, bastava juntar uma série de aplicativos com o kernel para que um sistema operacional fosse criado.

Linus Torvalds tinha vontade de ter um sistema operacional no qual fosse possível alterar conforme a necessidade. Ao criar a "nova versão" do Minix, Torvalds tinha desenvolvido um meio de usar o hardware de um computador por software e, portanto, restava agora a cada interessado adicionar os aplicativos e as funcionalidades desejadas, para assim constituir um sistema operacional. Em outras palavras, o "chassis" do sistema estava criado, bastava adicionar a "carroceria".

O nome Linux é uma mistura de Linus com Unix.

Periodicamente, novas versões do kernel do Linux são lançadas. Isso ocorre para prover melhorias em uma determinada função da versão anterior, para corrigir vulnerabilidades e para adicionar recursos ao kernel, principalmente compatibilidade com novos hardwares.

As versões do kernel

Cada versão do kernel é representada por 3 números distintos separados por pontos, sendo que um quarto número pode ser aplicado (você já saberá o porquê), por exemplo: 2.6.21.3. O primeiro número indica a versão do kernel. Note que esse número muda raramente: a última alteração ocorreu em 1996, quando o kernel passou da versão 1 para a versão 2. O segundo número indica a última revisão feita até o momento naquela versão do kernel. O terceiro número, por sua vez, indica uma revisão menor, como se fosse uma "revisão da última revisão" do kernel. Note que o terceiro número pode ser acompanhado de pequenas siglas. Uma que costuma aparecer com freqüência é a sigla "rc" (release candidate), que indica a disponibilização de uma versão ainda não oficial, por exemplo: 2.6.22-rc1. Há siglas que apontam uma versão trabalhada por um desenvolvedor em específico, como a "mm", que indica as alterações feitas por Andrew Morton.
Como já dito, um quarto número pode ser usado. Ele é aplicado quando uma falha grave no kernel foi descoberta, sendo, portanto, necessário atualizá-lo. Porém, não faz sentido lançar uma revisão completa apenas por causa de algumas correções, razão esta que levou à utilização de um quarto número.

É importante frisar que antes da série 2.6.x, o esquema de numeração do kernel tinha o seguinte esquema: se o segundo número da representação fosse ímpar, significava que aquela série ainda estava em desenvolvimento, ou seja, era uma versão instável e em fase de testes e aperfeiçoamentos. Se o número fosse par, significava que aquela série já tinha estabilidade para ser disponibilizada para uso.

Mais uma nota importante: você não precisa usar sempre a última versão do kernel. Só é recomendável fazer uma atualização em caso de necessidade de compatibilidade com novo hardware ou em casos de melhorias de recursos. Em alguns casos, principalmente com computadores antigos, o desempenho é melhor se usado um kernel antigo. Em situações simples, talvez seja melhor apenas aplicar um patch (uma correção para um problema) do que adicionar um kernel novo.

Compatibilidade

O kernel do Linux permite que o sistema operacional seja compatível com uma série de plataformas, desde palmtops até mainframes. Até mesmo nos computadores da Apple é possível instalar o Linux. As principais plataformas compatíveis são: Apple, Sun, Sparc, Alpha, PowerPC, i386 (Intel), ARM, entre outras.

Também existe compatibilidade com sistemas de arquivos. Acredite, apesar de não ser recomendável por questões de desempenho, é possível instalar o Linux até mesmo em partições FAT32. As principais compatibilidades neste aspecto são com os seguintes sistemas de arquivos: FAT, FAT32, ext2, ext3, ReiserFS, JFS, XFS, NTFS, entre outros.

Atuação do kernel

Obviamente, o kernel "começa a trabalhar" no processo de inicialização (boot) do sistema, a partir das instruções que são lidas na MBR (Master Boot Record), um recurso responsável por indicar ao BIOS do computador como e onde carregar o sistema operacional. Quando isso ocorre, o kernel começa a detectar os dispositivos de hardware essenciais do computador, como a placa de vídeo, por exemplo. Se até aí tudo ocorrer sem problemas, toda a imagem do kernel passa a ser carregada. Findo esse processo, o kernel checa a memória e a prepara para o uso através de uma função de paginação. As interrupções (IRQs), os discos, memória-cache, entre outros, são acionados em seguida.

Após realizar todas essas etapas, o sistema operacional está pronto para funcionar. O kernel carrega as funções responsáveis por checar o que deve ser inicializado em nível de software e processos, como, por exemplo, o conteúdo do arquivo /etc/init. Geralmente o que é carregado é a tela de login do usuário.

Usuário logado, sistema operacional trabalhando" O kernel agora executa suas funções, como a de controlar o uso da memória pelos programas ou a de atender a chamada de uma interrupção de hardware.

É interessante notar que as distribuições Linux montam o kernel com recursos e drivers básicos para hardware, afinal carregar o suporte a todo tipo de dispositivo é algo inviável. O kernel ficaria extremamente grande e somente os drivers relacionados ao hardware do computador em questão é que seriam usados. Para lidar com esse tipo de problema, os drivers são carregados como módulos após o kernel ser ativado. A questão é que carregar recursos por módulo gera uma queda de desempenho (pouco significativa em computadores rápidos) e, por isso, muitos usuários preferem recompilar o kernel de seus sistemas para que esse carregue os drivers junto com sua inicialização, ou seja, sem usar módulos.
Fonte: http://www.infowester.com

sexta-feira, 11 de julho de 2008

Compilar Software no Linux

Ola Pessoal,

Como ja instamos o linux, conhecemos a estrutura de arquivos e comandos, agora vamos conhecer um pouco sobre compilacao de software no linux.

Abaixo segue os passos para compilar um programa no linux.

Para a compilação de um programa são necessários 3 comandos básicos:

./configure
make
make install

O primeiro comando (./configure) é um script que irá configurar a compilação, isto é, faz uma pesquisa à procura de dependências, se existe algum compilador no sistema e se este compilador consegue criar executáveis e ainda procura outras exigências do próprio programa. Se algo de errado acontecer com esta pesquisa, o script automaticamente pára e mostra uma mensagem de erro. Estas mensagens são simples e diretas, se uma pessoa conhecer um pouco de inglês facilmente identifica o erro.

O segundo comando (make) vai juntar o (os vários) arquivo(s) “makefile” que é (são) criado(s) pelo configure. Nestes arquivos estão todas as configurações que vão ser aplicadas no momento da compilação, iso é, após iniciar-mos o “make”, a compilação começa, no configure nada está sendo compilado… ainda. Se acontecer algum erro (caso raro) temos várias opções: Mandar um email ao pessoal que desenvolveu o programa, ou então poderá ser a falta de uma biblioteca que não foi verificada quando fez o ./configure. O processo de compilação poderá ser demorado conforme da aplicação.

Por fim, o terceiro comando (make install) é o mesmo que o “make install” mas com outra finalidade. É com este comando que vamos instalar os executáveis já compilados e outros arquivos necessários ao programa. Como este comando instala um programa, é necessário que seja executado como root, pois o programa copia pastas que o utilizador “normal” não tem acesso de escrita.

Estes são os comandos básicos para se compilar qualquer programa em Linux. Convém é ler o arquivo README ou INSTALL que acompanha o arquivo zipado para mais detalhes.

ahhh antes que me esqueça, aqui deixo algumas dicas de ultima hora:

=> Existem programas que não trazem o tal script do “configure”, estes arquivos normalmente são drivers. Quando tal acontecer, pode começar o processo de compilação pelo segundo comando.

=> Se gosta de ter o seu sistema organizado, pode utilizar um prefixo comum. Para utilizar este prefixo, adicione –prefix= no ./configure. Geralmente usa-se o –prefix=/usr, ficando o comando: ./configure –prefix=/usr

=> Para saber mais sobre o ./configure, digite ./configure –help

Até a próxima!! Utilizem, compilem. Só assim aparecão dúvidas e aprenderemos mais com elas.

Abraços.

Sistema de Arquivos

A principal diferença entre o sistema de Linux e um sistema Windows é o sistema de arquivos. No linux não são utilizadas letras para os drivers, para identificar as diferentes partições. Sob o Linux, existe apenas um único diretório principal. Você pode relacionar isto com o drive C: do ambiente DOS. Cada partição em seu sistema é montada como um diretório dentro do diretório principal. É como se você tivesse um disco rígido expansível.

Chamamos o diretório principal de diretório root (ou raiz), e o mesmo é representado por uma barra (/). Este conceito pode soar estranho, mas isso torna sua vida mais fácil quando você quer adicionar mais espaço. Por exemplo, vamos dizer que você ficou sem espaço em disco no diretório /home. Muitas pessoas ao instalarem o linux criam uma única partição raiz. Bem, como uma partição pode ser montada para qualquer diretório, você só precisa ir até a loja mais próxima e comprar um disco rígido novo e montá-lo como /home. Você agora colocou mais espaço em seu sistema. E tudo sem precisar mover nada de lugar.

Abaixo, você irá encontrar as descrições dos diretórios mais importantes:

bin - Programas essenciais para os usuários são armazenados aqui. Isso representa um conjunto mínimo de programas requeridos pelo usuário para a utilização do sistema. Coisas como o shell e os comandos do sistema de arquivos (ls, cp, e assim por diante) são armazenados aqui. O diretório /bin também não recebe modificação após a instalação.

boot - Arquivos que são utilizados pelo Linux Loader (LILO). Esse diretório também recebe pequenas modificações após a instalação.

dev - Tudo no Linux é tratado como arquivo, inclusive dispositivos de hardware como as portas seriais, discos rígidos, etc. Em ordem de acessar esses dispositivos, um arquivo especial chamado de dispositivo de conexão tem de estar presente. Todos os dispositivos de conexão são armazenados no diretório /dev. Você vai descobrir que isso é verdade através dos muitos sistemas operacionais baseados em Unix.

etc - Esse diretório mantém os arquivos de configuração do sistema. Todos os arquivos de configuração do X Window, o banco de dados do usuário, até o sistema de inicialização de scripts. Com o tempo, o administrador do sistema ficará bastante familiarizado com este diretório.


home - O Linux é um sistema operacional multi-usuário. A cada usuário no sistema é dado uma conta e um diretório único para seus arquivos pessoais. Este diretório é chamado de diretório raiz do usuário. O diretório /home é fornecido como localização padrão para os diretórios raiz do usuário.

lib - As bibliotecas do sistema que são necessárias para operações básicas do sistema são armazenadas aqui. A biblioteca C, o carregador dinâmico, as bibliotecas ncurses e os módulos do kernel estão entre as coisas aqui armazenadas.

mnt - Este diretório contém pontos de montagem temporários para discos rígidos em operação ou drivers removíveis. Aqui você encontrará os pontos de montagem para o seus derives de CD-ROM e de disquete.

opt - Pacotes de software opcionais. A idéia por trás do diretório /opt é que cada pacote de software instalado no diretório /opt/pacote de software, que seja fácil de remover depois.

proc - Este é um diretório único. Ele não é realmente parte do sistema de arquivos, mas sim um sistema de arquivos virtual que provê acesso às informações do kernel. Vários pedaços de informação que o kernel quer que você conheça são transportados a você através de arquivos no diretório /proc. Você pode enviar informação para o kernel através desses mesmos arquivos. Tente o comando cat /proc/cpuinfo.

root - O administrador do sistema é conhecido como root no sistema. O diretório raíz do usuário root é mantido em /root em vez de /home/root. A razão é simples. O que acontece se o diretório /home estiver em uma partição diferente do diretório / e não puder ser montado? O usuário //root irá querer logar e repara o problema. Se o seu diretório de usuário raíz estiver no sistema de arquivos danificado, será meio difícil para ele conseguir logar-se.

sbin - Programas essenciais que são rodados pelo usuário root e durante o processo de boot do sistema são mantidos aqui. Usuários normais não irão rodar programas neste diretório.

tmp - Local de armazenagem temporária. Todos os usuários possuem acesso de leitura e escrita neste diretório.

usr - Este é o maior diretório em um sistema Linux. Tudo o mais vem aqui, programas, documentação, o código-fonte do kernel. Este é o diretório que você mais irá gostar de estar instalando programas.

var - Arquivos de log do sistema, informações de cache, e arquivos protegidos de programas são armazenados aqui. Este é o diretório para mudanças freqüentes de informação.
Depois da instalação e da descrição do sistema de arquivos você já tem uma boa noção do funcionamento do linux, não tenha medo, instale, reinstale só assim você aprenderá.

Lembre-se é com os erros e que aprendemos mais, por isso tente, nunca desanime.

Comandos do Linux

Comandos do Linux:

É importante frisar que, dependendo de sua distribuição Linux, um o outro comando pode estar indisponível. Além disso, alguns comandos só podem ser executados por usuários com privilégios de administrador.

Abaixo a relação com alguns comandos básicos:

cal – exibe um calendário;

cat arquivo: mostra o conteúdo de um arquivo;

cd – abre um diretório;

chmod – comando para alterar as permissões de arquivos e diretórios;

clear – limpa a tela, limpa a linha de comando até o topo;

cp origem destino – copia um arquivo ou diretório para outro local;

date – mostra a data e a hora atual;

df – mostra as partições usadas;

du diretório – mostra o tamanho de um diretório;

emacs – abre o editor de textos emacs;

file arquivo – mostra informações de um arquivo;

find diretório parâmetro termo – O comando find serve para localizar informações, de acordo com o termo da busca, abaixo os parâmetros;

name – busca por nome;

type – busca por tipo;

size – busca pelo tamanho do arquivo;

mtime – busca por data da modificação;

finger usuário – exibe informações sobre o usuário indicado;

free – mostra a quantidade de memória RAM disponível;

halt – Desliga o computador;

history – mostra os últimos comandos inseridos;

id usuário – mostra qual o número de identificação do usuário especificado no sistema;

kill – encerra processos em andamento;

ls – lista os arquivos e diretórios da pasta atual;

lpr arquivo – imprime o arquivo especificado;

lpq – mostra o status da fila de impressão;

lprm – remove trabalhos da fila de impressão;

lynx – abre o navegador da internet apenas em modo, desde que instalado no sistema;

mv origem destino – tem a mesma função do comando cp, só que ao inveés de copiar, move o arquivo ou o diretório para o destino especificado;

mkdir diretório – cria um diretório;

passwd – altera sua senha;

ps – mostra os processos em execução;

pwd – mostra o diretório em que você está;

reboot – reinicia o sistema;

rm arquivo – apaga o arquivo especificado;

rmdir diretório – apaga o diretório especificado, desde que vazio;

shutdown -h now – desliga o computador;

shutdown –r now – reinicia o sistema imediatamente, recomendável;

su – para o usuário administrador;

tar –xzvf arquivo.tar.gz – extrai um arquivo compactado em tar.gz;

telnet – ativa o serviço Telnet em uma máquina;

top – exibe a lista de processos, conforme os recursos de memória consumidos;

uname – mostra informações do sistema operacional e do computador;

useradd usuário – cria uma nova conta usuário;

userdel usuário – apaga a conta do usuário especificado;

uptime – mostra a quantas horas seu computador está ligado;

vi – inicia o editor de textos vi;

whereis nome – procura pelo binário do arquivo indicado;

w – mostra os usuários logados;

who – mostra também quem está usando o sistema;
Desativar e ativar uma placa de rede:

Desativa link de rede - ip link set dev eth0 down

Ativa link de rede - ip link set dev eth0 up

Desativa - ifconfig eth1 down

Ativa - ifconfig eth1 up

Apagar LOG - cat /dev/null > /var/log/debug

Esses são alguns comandos que são extremamente úteis para um usuário linux.

Abraços e até a próxima.

quarta-feira, 9 de julho de 2008

Instalação do Linux - Parte II

O programa setup

Uma vez criada as partições, estamos prontos para instalar o Slackware. O próximo passo da instalação é executar o programa setup. Para executá-lo simplesmente digite setup no prompt. O setup possui um sistema de menu na qual permite que você instale os pacotes do Slackware e configure seu sistema.

O processo de instalação é algo do tipo:

Selecione as opções de acordo como elas são listadas no programa setup. (É claro que você pode mudar a ordem de escolha das opções, não seguindo passo-a-passo o programa.) Os itens do menu são selecionados usando as teclas seta para cima e seta para baixo, e os botões OK e Cancel são usados para proseguir ou para voltar. Como alternativa, você pode escolher a opção desejada, teclando a letra correspondente destacada do menu para cada opção. Para selecionar as opções utiliza-se a barra de espaço.

Na seção help do setup você pode ver mais descrições.

HELP

Caso seja a primeira vez que você esteja instalando o Slackware, você pode dar uma olhada na tela de ajuda. Assim terá uma descrição de cada parte do programa setup e instruções para navegação e para o restante da instalação.

KEYMAP

Caso necessite de um teclado diferente do padrão americano qwerty, você deverá alterá-lo nessa seção. Existe uma grande quantidade de modelos de teclado que poderá escolher.

ADDSWAP

Caso você tenha criado uma partição de swap, é aqui que você deverá habilitá-la para utilizar. As partições de swap existentes em seu disco serão exibidas automaticamente, permitindo que você selecione, pelo menos uma, para formatar e habilitar.

TARGET

Na seção target você formatará suas partições e mapeará os pontos de montagens dos sistemas de arquivos. Uma lista com as partições de seu disco rígido são mostradas. Para cada partição, poderá escolher formatar ou não. Dependendo do kernel utilizado, você poderá escolher os seguintes sistemas de arquivos reiserfs (padrão), ext3, ext2, jfs e xfs. A maioria das pessoas utilizam reiserfs ou ext3.

A partição a ser selecionada é onde o sistera root (/)deverá ser instalado. Após isso, você poderá escolher e mapear cada partição para cada sistema de arquivos de acrodo com a sua escolha. (Por exemplo, você pode querer que a sua terceira partição /dev/hda3, seja o sistemas de arquivos para o home. Isto é apenas um exemplo; crie os pontos de montagens de acordo com o seu gosto.)

SOURCE

A seção Source é onde selecionamos a mídia a partir da qual o Slackware será instalado. Atualmente, há quatro opções disponíveis. São elas: CD-ROM, uma partição no disco rígido, NFS, ou um diretório pré-montado.

A opção CD-ROM permite a instalação a partir de um CD-ROM. Há a opção de procurar automaticamente um drive de CD-ROM ou exibir uma lista da qual pode-se escolher o tipo do drive. Assegure-se de ter o CD do Slackware no seu drive antes de começar a busca.

A opção NFS pede informações da sua rede e de seu servidor NFS. O servidor NFS já deve estar configurado. Note também que não é possível usar nomes de máquina (hostnames), deve-se usar endereços IP tanto para a sua máquina, quanto para o servidor NFS (não há um serviço de resolução de nomes no disco de instalação). Naturalmente, deve ser usado o disquete network.dsk para dar suporte para a sua placa de rede.

O diretório pré-montado oferece maior flexibilidade. Use este método para instalar a partir de dispositivos como Jaz disks, pontos de montagem NFS sobre PLIP, e sistemas de arquivos FAT. Monte o sistema de arquivos em um local de sua escolha antes de executar a instalação, e então especifique esse local aqui.

SELECT

A seção Select permite escolher as séries de software que desejamos instalar. É obrigatória a instalação da série A para ter um sistema base funcional. Todas as outras séries são opcionais.

INSTALL

Considerando que tenhamos passado pelas seções "target", "source", and "select", a seção install permite selecionar pacotes dentre as séries de software escolhidas. Se não, pedirá que você volte e complete as outras seções do programa de instalação. Esta seção permite escolher dentre seis diferentes métodos de instalação: //full, newbie, menu, expert, custom, e tag path.

A opção full (completo) instala todos os pacotes das séries escolhidas na seção select. Não há mais perguntas. Este é o método de instalação mais fácil, já que não é necessário tomar quaisquer decisões quanto aos pacotes a instalar de fato. É claro que esta opção também é a que ocupa maior espaço no disco rígido.

A próxima opção é newbie (novato). Esta opção instala todos os pacotes requeridos pelas séries selecionadas. Em todos os outros pacotes há um prompt onde podemos selecionar Yes (sim), No (não), ou Skip (pular). Yes e No fazem o óbvio, enquanto Skip pula para a próxima série de software. Além disso, é exibida uma descrição e o tamanho de cada pacote para ajudar a decidir se o mesmo é necessário. Recomendamos esta opção para os novos usuários, já que ela assegura que os pacotes desejados sejam instalados. Contudo, ela é um pouco mais lenta devido às perguntas.

Menu é uma versão mais rápida e mais avançada da opção newbie. Em cada série, aparece um menu, a partir do qual pode-se selecionar todos os pacotes não requeridos que se deseja instalar. Os pacotes requeridos não aparecem nesse menu.

Para os usuários mais avançados, a instalação oferece a opção expert. Isto permite total controle sobre quais pacotes são instalados. É possível remover da seleção pacotes que são absolutamente necessários, o que resulta em um sistema entrar em colapso. Por outro lado, é possível controlar exatamente o que entra em seu sistema. Simplesmente selecione os pacotes de cada série que deseja que sejam instalados. Isto não é recomendado para os novos usuários, já que é muito fácil dar um tiro no próprio pé.

Após escolher o seu método de instalação, uma coisa ou outra abaixo vai acontecer. Se tiver selecionado full ou menu, uma tela com um menu aparecerá, permitindo a seleção dos pacotes a ser instalados. Se tiver selecionado full, os pacotes começarão a ser instalados no destino imediatamente. Se tiver selecionado newbie, os pacotes serão instalados até que se alcance um pacote opcional. Observe que é possível que o espaço em disco acabe durante a instalação. Se selecionar pacotes demais para a quantidade de espaço livre no dispositivo alvo, você terá problemas. É mais seguro selecionar alguns programas e adicionar mais depois, se necessário. Isto pode ser feito facilmente usando as ferramentas de gerenciamento de pacotes do Slackware.

CONFIGURE

A seção configure permite fazer algumas configurações básicas do sistema, agora que os pacotes já foram instalados. O que você vê depende em grande parte de que programas foram instalados. Contudo, sempre será exibido o conteúdo abaixo:

Kernel selection (Seleção do kernel)

Aqui você deverá escolher um kernel para ser instalado. Você pode instalar o kernel do disco de boot usado na instalação, do CD-ROM do Slackware, ou de outro disquete que você (sempre se antecipando) tiver preparado. Ou você pode decidir pular, sendo que então o kernel padrão será instalado e o processo continuará.

Make a boot disk (Fazer um disco de boot)

Provavelmente será uma boa idéia fazer um disco de boot para usar no futuro. Você terá a opção de formatar um disquete e, então, criar um dos dois tipos de disco de boot. O primeiro tipo, simple (simples), simplesmente (como é de se esperar) grava um kernel no disquete. Uma opção mais flexível (e altamente recomendada) é lilo, que, é claro, cria um disco de boot do lilo. É claro, você também pode decidir simplesmente continuar, de modo que não será criado um disco de boot.

Modem

Serão solicitadas informações sobre o seu modem. Mais especificamente, se você possui um modem, e, se possuir, em qual porta serial ele está.

As próximas sub-seções de configuração podem aparecer ou não, dependendo se os seus pacotes correspondentes tiverem sido instalados.

Timezone (Fuso horário)

Aqui é bem direto: será perguntado em qual fuso horário você está. Se estiver no horário Zulu, sentimos muito; a lista (extremamente longa) está em ordem alfabética, e você está no final dela.

Mouse

Esta sub-seção simplesmente pergunta que tipo de mouse você tem, e se você quer ter suporte ao mouse no console com o gpm(8) habilitado na inicialização.

Hardware clock (Relógio de hardware)

Esta sub-seção pergunta se o relógio de hardware do seu computador está ajustado no Tempo Universal Coordenado (UTC ou GMT). A maioria dos PCs não estão, então provavelmente você deve dizer "no" (não).

Font

A sub-seção font permite que se escolha dentre de uma lista de fontes personalizadas para o console.

LILO

Aqui é perguntado sobre a instalação do LILO.

Se o Slackware for o único sistema operacional em seu computador, a opção simple (simples) deve funcionar perfeitamente. Se houver dual-boot, a opção expert é uma melhor escolha. A terceira opção, do not install (não instalar), não é recomendada, a não ser que você saiba o que está fazendo e que tenha uma ótima razão para não instalar o LILO. Se o modo de instalação for "expert", você poderá escolher onde o LILO será instalado. O LILO pode ficar na MBR (Master Boot Record) do seu disco rígido, no superbloco da sua partição raíz do Linux, ou em um disquete.

Network

Na verdade, a sub-seção de configuração network é o netconfig.

X Window Manager (Gerenciador de Janelas do X)

Esta sub-seção permite a escolha de um gerenciador de janelas padrão para o X.

Não importa quais pacotes tenham sido instalados, a última coisa que será feita na seção configure será perguntar se você quer continuar e criar uma senha para o root . Por razões de segurança, provavelmente está será uma boa idéia; todavia, como tudo mais no Slackware, você decide.

Abraços e até a próxima.

sábado, 28 de junho de 2008

Emprego

Pessoal, estou terminando a segunda parte do artigo sobre instalação do Linux, porém através de algumas reportagens lidas descobri um site onde pode-se hospedar currículos e vagas para profissionais do software livre.

Se você está interressado em emprego ou de recrutar algum profissional cadastre-se no site. O endereço é http://curriculo.4linux.com.br.

É um site criado pela 4Linux, sendo que o espaço é gratuito.

Bom esse era o recado que eu queria transmitir para os leitores.

Há a segunda parte da instalação está quase pronta.

Um grande abraço e até a proxima.

quarta-feira, 25 de junho de 2008

Instalação do Linux - Parte I

Bem, amigos nessa nova postagem,quero falar sobre a instalação do Linux.

Antes disso quero falar um pouco sobre as diversas distribuições que existe no mercado, que é como uma religião para alguns usuários, porém essa não o objetivo dessa postagem masno futuro postarei sobre as diversas distribuiçõs que existem no mercado hoje.

Vou apenas citar três distribuições mais comuns que é o Debian, o Mandriva e o Kurumim, essas distruibições se parecem muito em suas instalações e possuem um passo a passo. Todas as instalações do Linux necessita um conhecimento no minímo básico para que seja efetuada de forma correta.

Bom, o foco é a instalação e logo abaixo estarei mostrando como instalar o GNU Linux distribuição Slackware,veja só estou falando de uma quarta distribuição temos produtos para todos os usuários.

Antes de começarmos e colocar-mos a mão na massa vamos conhecer um pouco da historia do Slackware.

O Slackware, criado por Patrick Volkerding no fim de 1992, e inicialmente lançado para o mundo em 17 de Julho de 1993, foi a primeira distribuição Linux a alcançar um uso bastante difundido.

Esta distribuição privada ganhou rapidamente a popularidade, assim que Volkerding decidiu nomeá-lo para Slackware e distribui-lo publicamente. Ao longo, Patrick adicionou coisas novas ao Slackware;
  • Um programa de instalação amigável para o usuário e baseado em um sistema de menu, também com o conceito de gerênciamento de pacote, na qual permite que os usuários facilmente adicionem, removam ou atualizem um programa ou o seu sistema inteiro.
Há muitas razões porque o Slackware é a distribuição Linux mais antiga em atividade. Não tenta imitar o Windows, tenta ser o mais similar ao Unix possível. Ele não esconde seus processos atrás de uma interface gráfica de apontar e clicar, ao invés disso ele põe os usuários no controle e mostra para eles exatamente o que está acontecendo. Seu desenvolvimento não é acelerado artificialmente para cumprir prazos - cada versão só é lançada quando realmente está pronta.

O Slackware é para as pessoas que gostam de aprender e fazer com o sistema exatamente o que quer, simples e estável, além de uma rápida estação de trabalho. Você poderá encontrar desktops com Slackware funcionando quase todos com um gerenciador de janelas ou com ambiente de trabalho.

Olha, não é o foco defender ou não certa distribuição aqui, porém optei por mostra a instalação do Slackware para vocês sentirei realmente como o Linux funciona, como diz um grande amigo na unha.

Nota: Para se instalar o Slacware é necessário um bom conhecimento do hardware que se tem na máquina.

Vamos lá:

Para efeitos de organização, os softwares do Slackware são dividos em séries. Essa séries são usadas para categorizar os pacotes inclusos no Slackware.

Abaixo segue as séris dos pacotes:


Série Conteúdo

  • A -> Base do sistema. Contêm um grande parte do softwares utilizados para se ter um sistema básico.
  • AP ->Diversos aplicativos que não necessitam de um Servidor X.
  • D ->Ferramentas de desenvolvimento de programas. Compiladores, debugadores, interpretadores e a grande parte das man pages.
  • E ->GNU Emacs.
  • F ->FAQs, HOWTOs e outros tipos de documentação.
  • GNOME ->O ambiente gráfico GNOME.
  • K ->O código fonte do kernel do Linux.
  • KDE -> O ambiente gráfico K. Um ambiente gráfico que possui muitas características visuais em comum com o MacOS e o Windows. A biblioteca Qt, requerida para este ambiente, é encontrada nesta série.
  • KDEI -> Pacotes de internacionalização para o ambiente KDE.
  • L ->Bibliotecas. Bibliotecas dinâmicas lincadas necessárias para muitos outros programas.
  • N ->Programas de Rede. Daemons, programas de e-mail, telnet, leitor de news e alguns outros.
  • T -> Sistema de formatação de documentos teTeX.
  • TCL -> Ferramenta de Linguagem de comando. Tk, TclX, e TkDesk.
  • X -> Sistema base para o X Window.
  • XAP -> Aplicações gráficas que não fazem parte de um ambiente de desktop principal (como por exemplo: Ghostscript e Netscape).
  • Y -> Jogos de console BSD
Existe vários formas de Boot,porém vou fazer comentarios apenas com o CD-ROM, mais comum atualmente, mas se alguém necessitar de fazer com alguma outra mídia e em mandar um email e/ou postar comentarios no blog.

As midias de instalação podem ser conseguidas no siteonto para gravação no site ftp://ftp.slackware-brasil.com.br e gravá-las, em seguida configurar o seu micro para dar boot via CD.

Feito isso vamos particionar o seu Hard Disk. Recomendo fazer duas particões, uma para o sistema de arquivos root (/) e outra para a área de troca (swap).

Ao terminar de dar o boot com o CD aparecerá um prompt de login. Entre no sistema como usuário root (sem senha). No shell, execute fdisk. No linux em vez de letras de drive, eles são representados por arquivos. O primeiro disco rigido da IDE é /dev/hda, o primario slave /dev/hdb e assim suscessivamente. Discos SCSI seguem o mesmo esquema mas no formato /dev/sdX. Vou considera um disco IDE.

# fdisk /dev/hda

A primeira coisa a se fazer é examinar o seu esquema de particões. Digite p** no prompt do fdisk.

Command (m for help): p

AVISO: É imprensidivel fazer backup dos arquivos caso os tenha no Hard Disk em que vai ser feita a remoção e criação das particóes.

Para remover as particões existentes digite d:

Command (m for help): d Partition number (1-4): 1

Repita este processo para cada uma das partições que você possua no HD. Após removê-las, estaremos prontos para criar as do Linux. Decidimos criar uma partição para o nosso sistema de arquivos root e uma para o swap.

Eu utilizo dois esquemas básicos de particionamento. O primeiro é para um desktop. Faço 4 partições, /, /home, /usr/local, e swap. Assim posso re-instalar ou atualizar tudo que está instalado em / sem remover os meus arquivos de dados no /home ou os meus aplicativos personalizados compilados no /usr/local. Em servidores, geralmente substituo a partição /usr/local por uma partição /var. Muitos servidores diferentes armazenam informações nesta partição e mantê-la separada do / traz benefícios quanto ao desempenho. Por enquanto, vamos ficar com apenas estas duas partições: / e swap.

Agora podemos criar as partições com o comando n:

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4):1

First cylinder (0-1060, default 0):0

Last cylinder or +size or +sizeM or +sizeK (0-1060, default 1060):+64M

Assegure-se de ter criado partições primárias. A primeira partição será a nossa partição swap. Diremos ao fdisk para tornar a partição número 1 uma partição primária. Ela começará no cilindro 0 e, para o cilindro final, digitamos +64M. Isto criará uma partição de 64 megabytes para swap. (Na verdade, o tamanho da partição de swap depende da quantidade de RAM do seu sistema. Por convenção se usa uma partição de swap com o dobro do tamanho da RAM do seu sistema.) Então, definimos a partição primária número 2 começando no primeiro cilindro disponível e indo até o final do drive.

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4):2

First cylinder (124-1060, default 124):124

Last cylinder or +size or +sizeM or +sizeK (124-1060, default 1060):1060

Está quase pronto. Precisamos alterar o tipo da primeira partição para tipo 82 (Linux swap). Digite t para alterar o tipo, selecione a primeira partição, e digite 82. Antes de gravar as suas alterações em disco. Use o p no fdisk para exibir a tabela de partições. Se tudo parecer estar bem, digite w para salvar as suas alterações e sair do fdisk.

Bem estamos prontos para iniciar a instalação.

O nosso próxima passo e executar o programa setup que ficará para o nova postagem.

Devido a grandiosidade desse artigo, resolvi dividi-los em partes para um melhor entendimento.

Abraços.

segunda-feira, 23 de junho de 2008

Usar ou Não o LINUX

Nessa minha primeira postagem, quero promover uma discussão sobre a questão de usar ou não o Linux, tive o prazer de conhecer esse sistema operacional a dez anos, que naquele momento já despontava como um grande e robusto sistema a fim de suprir as necessidades dos profissionais de TI (Tecnologia da Informação).

Hoje não existe nenhuma dúvida nos departamentos de TI das pequenas, médias e grandes empresas, pois com o Linux existe uma redução significativa dos gastos, aumento de peformace e uma maior segurança das informações.

Existe vários rumore e "boatos" que dizem que usar Windows é mais barato, pois existem muitos profissionais qualificados, ou seja, que existem bem menos profissionais qualificados em Linux, por isso os honórarios desses profissionais tendem a ser maiores. Outro grande boato e que o número de vulnerabilidades do Windows é maior pelo simples fato do sistema ser mais utilizado pelos hackeres, portanto conhece mais seus pontos fracos.

Diante desse cenário em que vivemos na área de TI hoje, ter conhecimentos avançados em Linux torna-se menos um diferencial, mas sim uma necessidade para que o profissional de informática consiga uma posição de destaque nesse mercado.

O meu objetivo nesse blog e proporcionar ao profissional que deseja utilizar o Linux em suas corporações conhecimento sobre instalação, manutenção e administração de redes Linux.

Um grande abraço a até a proxima.

sábado, 21 de junho de 2008

Linux

Em Construção!!!

Em breve cheio de novidades!!!

Escola Técnica de Viçosa - R. Dr. Milton Bandeira 160 3º andar