+--------------------------------+ | LINUX - Notas de Usuário | +--------------------------------+ ############## # Introdução # ############## O LINUX é um sistema opereacional, multitarefa, multiusuário e multithreading padrão POSIX, desenvolvido para rodar sobre a arquitetura IBM/PC a partir de processadores 80386. Sua primeira versão 0.02 foi lançada no dia 5/10/1991 e LINUS TORVALDS foi seu desen volvedor, com base no MINIX. Todos os sistemas citados são padrão UNIX, sendo o LINUX apenas o kernel do sistema operacional, ou seja, a parte que interpreta os comandos do shell e controla o hardware, gerencia arquivos, separa porcessos e etc. O LINUX continua em desenvolvimento seguindo os termos da GNU General Public License (GPL) e unindo programadores de todas as partes do mundo no desenvolvimento do kernel e nos aplicativos que são incorporados as distribuições. No link http://www.kernel.org você pode pegar novas versões do kernel e acompanhar o crescimento desse espetacular sistema operacional. ############### # Arquitetura # ############### +-------------------------+ | | | Usuários | | +----------------| --- | | Aplicativos | S |------------------+ | O | Shell | | F |------------------+------| T | KERNEL | |-------------------------| --- | Hardware(Circutos) | +-------------------------+ ####################### # O primeiro processo # ####################### INIT - é o primeiro processo com PID = 1, ele cria um processo chamado MINGETTR ou GETTR que irá logar o usuário e abrir uma sessão do BASH. As teclas (ALT + F1 ou F2 ou F3 ou F4 ou F5 ou F6) abrem novas sessões(bash) e nesse momento já fica explícito a caracteristica do LINUX de multitarefa e multiusuário. ############ # Comandos # ############ -> ps root@zircom:/# ps -> monitora os processos root@zircom:/# ps -xf -> lista todos os processos com estruta em árvore pstree root@zircom:/# ps -aux -> lista todos os processos abertos ? -> # man ps -> w ou who root@zircom:/# who ou só w -> lista os usuários logados ? -> man who -> adduser root@zircom:/# adduser spock // (nome do usuário) -> criar usuário -> passwd root@zircom:/# passwd spock // (senha para spock) -> define senha para login -> userdel root@zircom:/# userdel spock -> deleta usuário spock -> cd root@zircom:/# cd -> muda de diretório -> mkdir root@zircom:/# mkdir -> cria um diretório -> rmdir root@zircom:/# rmdir -> deleta um diretório -rf deleta diretório a força -D deleta diretório com conteúdo -> pwd root@zircom:/# pwd -> mostra o diretório corrente -> Referência a um diretório - Relativa: A partir do local corrente. - Absoluta: A partir da raiz. root@zircom:/# . -> diretório corrente root@zircom:/# .. -> diretório de nível superior, isto é, aproximar da raiz, subir um nível -> touch root@zircom:/# touch -> cria um arquivo root@zircom:/# touch .arquivo.*i ->cria arquivo oculto -> file root@zircom:/# file -> informa o tipo do arquivo -> login root@zircom:/# login spock //(nome do usuário) -> logar spock -> logout root@zircom:/# logout spock -> encerrar sessão de spock -> write root@zircom:/# write spock -> mandar menssagem para spock -> find root@zircom:/# find / -name nome do arquivo.* -> procurar arquivo -> ls root@zircom:/# ls -> lista arquivos e diretórios -A -> lista arquivos ocultos -ls -> lista mais informações sobre os arquivos -> df root@zircom:/# df -TH -> informa dados sobre disco rígido -> cat root@zircom:/# cat arquivo.* -> apresenta o conteúdo do arquivo -> grep root@zircom:/# grep -> filtra o conteúdo root@zircom:/# ping -c 5 192.168.0.3 | grep loss | cut -d" " -f7 -> chmod root@zircom:/# chmod --- arquivo.* -> muda a permissão do arquivo -> Modos -Literal: chmod u+x arquivo.* -> concede permissão de execução ao dono chmod u+x+w arquivo.* chmod u-x arquivo.* -> retira permissão de execução - UID: u -> Dono - GID: g -> Grupo - ALL: a -> Todos -Numérico: chmod 777 arquivo.* Dono | Grupo | Outros 1 1 1 | 1 1 1 | 1 1 1 - - - - - - - - - r w x r w x r w x chmod 420 arquivo.* Dono | Grupo | Outros 1 0 0 | 0 1 0 | 0 0 0 - - - - - - - - - r w x r w x r w x / r - ler -> Permissões - w - escrever \ x - executar Dono Grupo Outros Dono Grupo r w x r w x r w x root root -> chown root@zircom:/# chown spock arquivo.* -> troca dono do grupo -> chgrp root@zircom:/# chgrp none do grupo arquivo.* -> troca grupo -> shutdown root@zircom:/# shutdown -h now -> desliga o sistema -> ifconfig root@zircom:/# ifconfig -> lista informações sobre as configurações de rede -> cp root@zircom:/# cp (local do arquivo.*) e (destino do arquivo.*) -> copia arquivos cp teste.c(está no diretório corrente) /home/spock cp /etc/teste.c /mnt/floppy cp /etc/*.* /home/spock/backup -> mv root@zircom:/# mv (local do arquivo.*) e (destino do arquivo.*) -> move arquivos -R ->Move todo diretorio root@zircom:/# mv nome_arquivo.* novo_nome_arquivo.* -> remonear arquivos -> date root@zircom:/# date -> informa data(dia/mes/ano) e hora(hora:minuto:segundo) -> calendar ou cal root@zircom:/# calendar -> informa o calendário -> clear root@zircom:/# clear -> limpa a tela -> finger root@zircom:/# finger -> lista informações sobre usuários root@zircom:/# finger @host usuário root@zircom:/# finger @zircom.com.br root -> tree root@zircom:/# tree -> exibe estrutura de diretário em árvore -> rm root@zircom:/# rm -> remove(deleta) arquivos ou diretorios vazios root@zircom:/# rm -rf -> remove(deleta) arquivos ou diretorios -> cp root@zircom:/# cp -> copia arquivos root@zircom:/# cp -R -> copia diretorios com conteúdo -rf -> top root@zircom:/# top -> lista processos rodando -> cut root@zircom:/# cut -> corta conteudo de arquivos root@zircom:/# cut -c 10 arquivo.txt -> 10 primeiras linhas ? -> man cut -> ping root@zircom:/# ping 192.168.0.10 -> informações sobre a conexão root@zircom:/# ping -s 16000 -F 192.168.0.10 -> -> tar root@zircom:/# tar -cpvf backup.tar /home/backup -> compacta o diretório backup root@zircom:/# tar -xvf backup.tar -> descompacta o arquivo backup.tar root@zircom:/# tar -xzvf backup.tar.gz -> descompacta o arquivo backup.tar.gz root@zircom:/# tar -xvjf backup.tar.bz2 -> descompacta -> gzip root@zircom:/# gzip -df backup.gz -> descompacta ######################################### # Organização e Estrutura de Diretórios # ######################################### / -> raiz /bin -> arquivos binários básicos /sbin -> arquivos binários dos administradores /dev -> devices(acesso aos dispositivos) /etc -> arquivos de configuração /root -> pasta do super-usuário /usr -> arquivos: binários, gráficos, ajuda, documentação /boot -> arquivo de inicialização /opt -> aplicações fora do padrão /tmp -> arquivos temporários /var -> arquivos de informações variáveis /mnt -> ponto de montagem /proc -> informações do sistema de processos /home -> pasta onde cada usuário tem sua pasta pessoal ##################################### # Sistema de Arquivos - File System # ##################################### O LINUX suporta vários sistemas de arquivo, inclusive o MSdos, FAT16, FAT32 e NTFS. Os sistemas de arquivos mais usados no mundo UNIX/LINUX são: ext2, ext3, reiserfs. Obs.: Os diretórios são arquivos que contem informações sobre outros arquivos. ############################ # Montagem de Dispositivos # ############################ No LINUX o acesso a dispositivos(floppy/cdrom/pen-driver) se dá se forma assíncrona, por isso existe a necessidade de pontos de montagem para os mesmos. Você pode achar isso uma coisa ruim do ponto de vista de usuário, entretando para o sistema isso garante maior desempenho, pois não tem que executar acessos consecutivos a esses dispositivos que em geral são mais lentos e fazem cair a performace de qualquer sistema. Como montar um floppy(Driver de Disquete): root@zircom:/# mount /mnt/floppy root@zircom:/# mount -t msdos dev/fd0 /mnt/floppy Como montar um CD-ROM: root@zircom:/# mount /mnt/cdrom root@zircom:/# mount -t vfat /dev/cdrom /mnt/floppy Como montar um Pen-Driver: root@zircom:/# mount -t vfat /dev/sda1 /mnt/pendriver Para desmontar use o comando umount seguido de argumentos ou pontos de montagem Obs.: O arquivo de configuração do sistema de dispositivos se encontra no diretório etc e seu nome é fstab. Nele você pode verificar como está configurado e configurar os dispo sitivos que compõem seu PC. Exemplo: /dev/sda1 /mnt/pendriver default -> ponto de montagem pronto ############################## # Instalando novos Programas # ############################## Existem várias formas de distribuição de programas para linux. A mais comum e por código fonte, onde é necessário compilar o mesmo sobre a arquitetura atual do sistema seguindo os passos relacionados abaixo: -Código Fonte- *.tar *.tar.gz = *.tgz -Como Instalar???- 1 - Descompactando o código fonte root@zircom:/# tar -xvf nome_do_arquivo.tar ou root@zircom:/# tar -xzvf nome_do_arquivo.tar.gz ou root@zircom:/# tar -zxpvf nome_do_arquivo.tgz Depois do procedimento de descompactação são criados vários arquivos, os principais para realizar o processo de instalação são: configure, make e MakeFile. Dependendo da distribuição linux que você está usando ou do software que vai instalar esses arquivos sofrem alterações e algumas vezes nem são criados, pois a instalação é feita via script ou já são pré-compilados. O arquivo configure verifica as dependências, criar arquivo de log da configuração e criar o arquivo make. Verifique e mude a permissão se necessário do arquivo configure para execução. 1 -> root@zircom:/# ./configure 2 -> root@zircom:/# ./make(Compila) 3 -> root@zircom:/# ./make install(Move arquivos para os locais apropriados) Tudo bem!!! Seu novo programa foi instalado e está pronto para ser usado. root@zircom:/# nome_do_programa ########################################################################################### # # # Exemplo: Vamos instalar o compilar free pascal que não constuma ser instalado durante # # a instalação padrão do sistema operacional. # # O compilador foi copiado para o diretorio home. # # # # 1 -> root@zircom:/home# tar - xvf fpc-1.0.6.ELF.tar # # # # Será criado um diretório dentro do home tipo fpc-1.0.6 # # Vá para esse diretório, pois é lá que está o arquivo configure e os demais. # # # # 2 -> root@zircom:/home/fpc-1.0.6# ./configure # # # # 3 -> root@zircom:/home/fpc-1.0.6# MakeFile # # # # 3 -> root@zircom:/home/fpc-1.0.6# make # # # # 4 -> root@zircom:/home/fpc-1.0.6# make install # # # # Pronto!!! O compilador para pascal(Free-Pascal) está instalado. # # # # root@zircom:# fpc ou root@zircom:# man fpc # # # ########################################################################################### Outras formas de instalar novos programas esta relacionada com a distribuição que você utiliza. /-> Fonte Pacotes - | \-> Pre-Compilados | | | |-----> .rpm (Red Hat, Conectiva, TurboLinux, ...) | |-----> .deb (Debian, Kurumin, Knoppix, ...) | |-----> ... -> Usando a ferramenta rpm root@zircom:/# rpm -qa -> lista pacotes instalados root@zircom:/# rpm -ivh nome_do_pacote.rpm -> instala root@zircom:/# rpm -e nome_do_pacote.rpm -> remove root@zircom:/# rpm -ql nome_do_pacote.rpm -> lista arquivos do pacote -> Usando a ferramenta apt-get root@zircom:/# cd /etc/apt/source.list -> define o repositório root@zircom:/# apt-get update -> sincroniza com o repositório root@zircom:/# apt-get upgrade -> atualiza os pacotes root@zircom:/# apt-get install nome_do_pacote -> instala o pacote root@zircom:/# apt-get install libstdc++ -> instala as bibliotecas c++ -> Usando a ferramenta dpkg root@zircom:/# dpkg -i nome_do_pacote.deb -> instala o pacote root@zircom:/# dpkg -iGE *.deb ->instala varios pacotes de forma segura e minimizada root@zircom:/# dpkg -get-selections -> lista os pacotes instalados root@zircom:/# dpkg -l ->lista os pacotes instalados root@zircom:/# dselect install -> define lista de pacotes root@zircom:/# dpkg -l | grep pacote -> mostra o estado do pacote root@zircom:/# dpkg-reconfigure pacote -> configura o pacote apos a instalação ################### # Truques e Dicas # ################### -> Formatando disquetes: root@zircom:/# fdformat /dev/fd0H11440 ou root@zircom:/# mke2fs -c /dev/fd0 -> Matando processos: root@zircom:/# kill -l -> lista opcoes para matar processos root@zircom:/# killall -> idem ao anterior root@zircom:/# kill -9 pid_do_processo -> Executando em background: Usa-se o caracter & espaçado do comando que sera executado root@zircom:/# cat linuxnu.txt > tutorial.txt & root@zircom:/# find -name linuxnu.txt & -> Executando em foureground: root@zircom:/# fg -> mostra os processos em background -> Arquivo CORE: O sistema operacional fotografa a area de memória do processo e grava no core(em disco) e faz o processo parar de executar. -> Estrutura de um processo: Todos os programas executados sao vistos pelo sistema operacional como processos, que são formados por tres seguimentos: dados, texto e pilha. Processo _____________ | Dados | |-------------| | Texo | |-------------| | Pilha | |_____________| ####################### # Configurando o LILO # ####################### O LILO(Linux Boot Loader) é um gerenciador de boot do sistema que fica instalado nos primeiros setores do disco rígido(HD) conhecido como MBR. Ele tem a capacidade de gerenciar o inicialização de vários sistemas operacionais instalados em um PC, em um ou mais HD's. Seu uso é bem simplificado bastando escolher o sistema desejado com as setas direcionais e sua configuração é feita no arquivo /etc/lilo.conf onde você pode colocar mensagens e labels diversos para identificar os sistemas e o time out(tempo) de espera para inicializar o sistema escolhido. Apos a edição desse arquivo, digite o comando: root@zircom:/# lilo Com isso as modificações estarão válidas para o próximo boot do sistema. ########################### # Usando o compilador gcc # ########################### O linux foi escrito na linguagem C e a maioria de seus aplicativos tambem sao escritos nessa poderosa linguagem de programação. Segundo o estigma que ronda o linux, os seus usuários também são programadores e para poder criar um programa em C para executar no linux, dois passos tem que ser seguidos: * Escrever o codigo fonte em um editor de texto qualquer(O vi e o mais usado) e salvar com a extensao .c * Compilar o arquivo nome_do_arquivo.c com um compilador para a linguagem c(O gcc e o mais usado e tido como padrao para o linux) A principal forma de compilar e gerar um executável diretamente deve seguir os parâmetros root@zircom:/# gcc nome_do_arquivo.c -o nome_do_programa_executável ------------------------------------------------------------------- O argumento -o linka o objeto gerado para um executável com o nome desejado pelo programador Para executar o programa, verifique sua permissão e execute de seguinte maneira root@zircom:/# ./nome_do_programa_executável -------------------------------------------- O argumento -O otimiza o código fonte e o executável, gerando uma saáda padrão(a.out) root@zircom:/# gcc -O nome_do_arquivo.c --------------------------------------- Para saber mais sobre o compilador e suas formas de uso: root@zircom:/# man gcc O gcc foi escrito por Richard Stallman, fundador do projeto GNU e da Free Foundation Sofware na década de 60 e continua em constante desenvolvimento e evolução. ######################## # Gerenciando Serviços # ######################## O linux e um sistema que permite total controle dos serviços que estao rodando e portas de protocolos de rede que disponibilizam conexões e serviços. Os aplicativos que provêem esses serviços são chamados de servidores e seu controle e configuração, de forma geral e feito por scripts ou manualmente. Segue abaixo o exemplo de controle do servidor web apache. root@zircom:/# /etc/rc.d/rc.httpd stop -> Para o servidor web apache e o serviço web(http) pela porta baixa 80. root@zircom:/# /etc/rc.d/rc.httpd start -> Inicializa o servidor web apache. root@zircom:/# /etc/rc.d/rc.httpd restart -> Reinicializa o servidor web apache. O rc.httpd e um script que executa esse controle no servidor e serve para sua administração. Com esse controle você pode evitar invasões ou acessos indevidos por portas(altas ou baixas) que não estao sendo usadas. Para manter um servidor com o mínimo de seguranca esse controle deve ser feito, disponibilizando os serviços de forma racional e objetiva para o que esta sendo realmente usado. Deixar serviços e portas habilitados sem uso e um chamariz para invasores. O arquivo que habilita os serviços de rede para o daemon inetd no SLACKWARE é o inetd.conf que se encontra no diretório /etc. Se você descomentar a linha referente aquele serviço então o mesmo fica ativo(funciomando) caso contrário(comentado) então o serviço fica fora da rede. ######################### # Usando o ZIP no LINUX # ######################### Um fato corriqueiro que as vezes nos deixa embaraçados: um arquivo zipado(.zip) que não conseguimos descompactar(deszipar) para ter acesso ao seu conteudo. Vamos resulver esse problema e para que você nao precise pedir arrego para o Windows. Se na sua distribuição LINUX nao tiver o zip instalado, entao voce tera que instalar. Tudo bem isso já foi superado. Irei listar o uso básico do zip e unzip para compactar(zipar) e descompactar(deszipar) alguns arquivos, maiores informacoes: root@zircom:/# man zip -> Deszipar um arquivo: root@zircom:/# unzip -a file.zip -> Zipar um diretorio: root@zircom:/# zip -r etc etc -> Zipar todo conteúdo de um diretório(backup): root@zircom:/# zip -r backup * ############### # Usando o VI # ############### -> Linha de Comando: * Copiando e Colando: -> Posicione o cursor sobre a linha que você deseja copiar o bloco de texto abaixo e conte o número de linhas que será copiado. -> Entre no modo de comando: ESC -> Infome o número de linhas que quer copiar: 14(Número de Linhas) -> Tecle: yy -> Posicione o cursor onde deseja colar o texto. -> Tecle: p -> Entre no modo de comando: ESC -> Tecle: u -> Desfaz ultima operação -> Entre no modo de comando: ESC -> Tecle: Shift +j ->Retorna a linha quebrada -> Entre no modo de comando: ESC -> Tecle: cw ->substitui os caracteres do ponto do cursos em diante -> Entre no modo de comando: ESC -> Tecle: Shift +i ->início da linha +a ->final da final ########################## # Configurando pelo /etc # ########################## A configuração manual do sistema linux se concetra no diretorio /etc. Vamos configurar uma tela de login. Primeiro vamos colocar uma imagem para de exibida no diretório /etc que se chama issue, depois vamos ao diretorio /etc/rc.d onde ficam todos os daemons de inicialização de servidores e do sistema em geral. O /etc/rc.d/rc.local e o local para colocar script's de inicialização. Exemplo: root@zircom:/# vi /etc/rc.d/rc.local Adicione a linha: cat issue Pronto!!! Você ja tem uma tela de login personalizada. ######################################## # Scripts de configuracao do Slackware # ######################################## Scripts são ferramentas de administracao muito poderosas em sistemas UNIX. Com eles tarefas manuais e que exigem um certo detalhamento, isto e, sao muito especificas passam a ser mais funcio- nais e objetivas no auxílio de tarefas e rotinas de administração, configuranção e manutenção do sistema. Cada distribuição possui um pacote de scripts com essa finalidade: -> Slackware: root@zircom:/# pppsetup -> script para configurar conexão Point To Point Protocol. root@zircom:/# netconfig -> script para configurar a LAN(Local Area Network). root@zircom:/# liloconfig -> script para configurar o lilo. root@zircom:/# xwmconfig -> script para configurar o gerenciador de janelas X Window. root@zircom:/# timeconfig -> script para configurar a hora do sistema. root@zircom:/# mouseconfig -> script para configurar a mouse. root@zircom:/# alsaconf -> script para configurar o som. root@zircom:/# pkgtool -> script visualizar, instalar e desintalar pacotes e softwares. root@zircom:/# /var/log/packages -> local onde fica o log dos pacotes instalados no sistema. root@zircom:/# /var/log/syslog -> log's do sistema. -> Debian: root@zircom:/# /sbin/network/netenv -> script para configurar a rede. root@zircom:/# root@zircom:/# root@zircom:/# -> Red Hat: root@zircom:/# root@zircom:/# root@zircom:/# root@zircom:/# -> Conectiva: root@zircom:/# linuxconf -> centraliza o configurações. root@zircom:/# root@zircom:/# root@zircom:/# ############################### # Sistema de Janelas X Window # ############################### Se você estiver migrando do mundo Windows ou MacOS, voce podera estar confuso sobre todas essas coisas como gerenciador de janelas, sistemas de janelas X, etc... Dentro do mundo UNIX a tarefas de fornecer uma interface grafica para o usuário(GUI) e normalmente dividida em 3 componentes diferentes: * O servidor de janelas; * O gerenciador de janelas; * A aplicacao propriamente dita. O servidor de janelas e padrao e se refere o Sistema de Janelas X. Sua funcao e fornacer um acesso portável, de alto nivel, a dispositivos como teclado, mouse e monitor de vídeo. Permite que as aplicações mostrem informações gráficas no monitor, através de áreas retangulares chamadas janelas. A maioria dos objetos da interface, como botões, menus e barras de rolagem fazem parte de janelas. Se você deseja modificá-los, pode utilizar o conjunto de ferramentas de interface do usuário. Para maiores informações, leia a página de manual do X11 e a documentação para Xlib. A função básica de um gerenciador de janelas e controlar o layout de janelas na tela. ############################# # Personalizando o Blackbox # ############################# O Blackbox e um ambiente gráfico muito leve se comparado a outros. E uma ótima opção para quem possui uma máquima fraca ou para quem esta atras de um ambiente simples e rápido. Para personalizar o ambiente siga os passos: -> Passo 1: Editar como root o arquivo .blackboxrc -------------------------------------- root@zircom:~# vi .blackboxrc *Procurar a linha(25 aproximadamente): session.imageDither: False *Alterar para: session.imageDither: True Agora o arquivo .blackboxrc que contem as definições para aparencia do ambiente esta pronto para receber imagens como pano de fundo e voce pode definir outras possibilidades. -> Passo 2: Editar o arquivo que define o estilo(style) ------------------------------------------- Ir para o diretório de estilos do blackbox root@zircom:/# cd /usr/X11R6/share/blackbox/styles Neste diretório estao os arquivos que definem os diferentes estilos para ambiente blackbox e devemos informar o path que contem nossos panos de fundo. Para isso vamos criar um diretório padrão para colocar as imagens. root@zircom:/# mkdir /home/wallpapers -> Passo 3: Informar o caminho da imagem ---------------------------- Editar o arquivo style de sua preferência na seguinte linha(a ultima): rootCommand: bsetbg --full /home/wallpapers/imagem.jpg -> Passo 4: Execute ------- root@zircom:/# bsetbg -r /home/wallpapers/image.jpg Se tudo correr bem, nesse monento o ambiente esta com a sua cara. Exemplo de menu: vi /usr/X11R6/share/blackbox/menu # example: [begin] (Blackbox) [submenu] (Terminais) [exec] (xterm) {xterm -bg black -fg white -ls} [exec] (rxvt) {rxvt -tr -bg black -fg white -ls} [exec] (minicom) {xterm -e minicom} [end] [submenu] (Texto) [exec] (Vim) {xterm -bg black -fg white -e vim} [exec] (XEmacs) {xterm -e xemacs} [exec] (Xpdf) {xpdf} [exec] (GhostView) {gv} [exec] (Edit) {xedit} [exec] (Jed) {xterm -e jed} [exec] (Joe) {xterm -e joe} [end] [submenu] (Graphics) [exec] (XV) {xv} [exec] (Xfig) {xfig} [exec] (The GIMP) {gimp} [exec] (Image Magick) {display} [exec] (XPaint) {xpaint} [exec] (GNUPlot) {xterm -e gnuplot} [exec] (Xmaq) {xmap} [end] [submenu] (E-mail) [exec] (Elm) {xterm -bg black -fg white -e elm} [exec] (Pine) {xterm -bg black -fg white -e pine} [end] [submenu] (Internet) [exec] (amsn) {amsn} [exec] (Lynx) {xterm -bg black -fg white -e lynx www.geocities.com/fabiounix} [exec] (Netscape) {netscape} [exec] (Mozilla Navigator) {mozilla} [submenu] (More...) [exec] (Mozilla Mail) {mozilla -mail} [exec] (Mozilla News) {mozilla -news} [exec] (Mozilla Composer) {mozilla -edit} [end] [end] [submenu] (Media) [exec] (Xine) {xine} [exec] (Xmms) {xmms} [end] [submenu] (X Utilities) [exec] (Xman) {xman} [exec] (Explorer) {xfm} [exec] (Xfontsel) {xfontsel} [exec] (Xman) {xman} [exec] (Xcalc) {xcalc} [exec] (Xload) {xload} [exec] (Xeyes) {xeyes} [exec] (Xroach) {xroach} [exec] (Xsnow) {xsnow} [end] [submenu] (Screensaver) [exec] (Glmatrix) {/usr/X11R6/lib/xscreensaver/glmatrix -root} [exec] (Xmatrix) {/usr/X11R6/lib/xscreensaver/xmatrix -root -trace -small -delay 3000 -density 10 -both} [end] [submenu] (Games) [exec] (XLander) {xlander} [exec] (XMazer) {xterm -e xmazer} [exec] (XChess) {xboard} [end] [submenu] (Styles) {Choose a style...} [stylesdir] (/usr/X11R6/share/blackbox/styles) [end] [workspaces] (Workspace List) [config] (Configuration) [reconfig] (Reconfigure) [restart] (Restart) [submenu] (Others) {Other Window Managers} [restart] (Start FVWM) {fvwm} [restart] (Start WindowMaker) {wmaker} [restart] (Start Afterstep) {afterstep} [restart] (Start Enlightenment) {enlightenment} [restart] (Start TWM) {twm} [restart] (Start KWM) {kwm} [end] [exit] (Exit) [end] # End of example menu. Combinação de teclas e suas ações respectivas: root@zircom:/# Ctrl +ALt +Backspace ->derruba o servidor X root@zircom:/# Ctrl +ALt +F1 ->desabilita o servidor X root@zircom:/# ALt + | | ... ->abre outros terminais root@zircom:/# X -query 200.167.208.8 ->login via X ###################### # Configurando o PHP # ###################### No Slackware 9.1 o PHP e instalado durante a instalação do sistema operacional, devemos portanto habilitar no servidor web(apache) a interpretacao de scripts em php e para isto e so carregar o modulo para PHP que esta disponivel no arquivo httpd.conf que e quem configura o daemom do servidor web. Segue abaixo o procedimento: Va ao diretorio onde se encontra o http.conf root@zircom:/# cd /etc/apache Depois: root@zircom:/# vi httpd.conf Agora descomente a linha: -> Include /etc/apache/mod_php.conf E pronto. Para finalizar restart o servidor: root@zircom:/# httpd restart root@zircom:/# httpd start ->inicializa o servidor /usr/sbin/httpd start ->caminho completo root@zircom:/# httpd stop ->para o servidor /usr/sbin/httpd stop ->caminho completo ######################## # Configurando o MySQL # ######################## Para o slackware 9.1 o banco de dados instalado e o MySQL Server 4.0.15a que precisa de alguns ajustes para seu bom funcionamento. É preciso mudar a permissão do grupo de: /var/lib/mysql root@zircom:/# chown -R mysql.mysql mysql *obs.: O argumento -R executa recursivamente garantido o mudança para subdiretórios Depois de mudar a permissão devemos executar um script que faz a criação de tabelas inicias e arquivos do banco de dados necessários para que sua execução seja perfeita. root@zircom:/# mysql_install_db Agora iremos reinicializar o banco de dados: root@zircom:/# /etc/rc.d/rc.mysql restart Tudo bem agora, só que você deve definir uma senha de acesso para o banco de dados. Isso e feito da seguinte forma: root@zircom:/# mysqladmin -u root password 'fabio00' Por fim, agora é só conectar-se ao banco de dados: root@zircom:/# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 4.0.15a Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> Só por IP: root@zircom:/# mysql -u root -p12345 -h 192.168.0.1 Agora você pode aproveitar todo o poder desse exelente banco de dados. Alguns comandos básicos para tarefas simples: +---------------+ | Base de dados | +---------------+ -> Visualizar as bases de dados: mysql> show databases; -> Usar uma base de dados: mysql> use nome_da_base_de_dados; Exemplo: mysql> use mysql; -> Criando uma base de dados: mysql> create database nome_da_base_de_dados; Exemplo: mysql> create database contato; //nome no singular. -> Excluindo uma base de dados: mysql> drop database nome_da_base_de_dados; Exemplo: mysql> drop database contato; +---------+ | Tabelas | +---------+ -> Visualizar tabelas de uma base de dados: mysql> show tables; -> Criando uma tabela: mysql> create table nome_da_tabela (campo tipo(..), campo tipo(..)); //nome no plural. Exemplo: mysql> create table login (nome varchar(50), senha varchar(8)); Via script: Crie um arquivo que contenha as instruções SQL para criação das tabelas; Isso evita erros e ajuda na manutenção do banco de dados. Em caso de crash, rapidamente você instala outro banco e roda os scripts em seus respctivos data bases. mysql> \. gera_tabela.sql (sem ;) *obs.: está no diretório corrente(atual). -> Visualizar a estrutura da tabela: mysql> desc nome_da_tabela; Exemplo: mysql> desc login; -> Excluindo uma tabela: mysql> drop table nome_da_tabela; Exemplo: mysql> drop table login; +-----------------------+ |Alguns comandos em SQL:| +-----------------------+ -> Visualizando os campos de uma tabela: mysql> select * from nome_da_tabela; // mostra todos os campos dessa tabela. mysql> select Host, User from user; // mostra dois campos da tabela user. -> mysql> -> mysql> -> mysql> -> mysql> Se preferir voce pode usar um front para o MySQL via web, que e o phpMyAdmin. Para fazer uso dessa poderosa ferramenta descompacte no /var/www/htdocs(diretorio do servidor web) e edite o arquivo config.inc.php $cfg['PmaAbsoluteUri'] = 'http://localhost/mysql/'; $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'senha_do_banco_de_dados'; ###################### # Conectando com PPP # ###################### Para fazer conexões usando modem a provedores de internet o ppp(Point To Point Protocol) e usando para prover esse serviço. Algumas distribuições tem seus próprios discadores, contúdo aqui iremos tratar de uma ferramemta composta de varios scripts que realiza todos esses processos de conexão, monitoramento, configuração, desconexão e etc... A leitura do manual que faz que parte da documentação do linux(LDP) e o primeiro passo. root@zircom:/# man pppd Outra fonte importante de informação esta no docs do ppp*. No Slackware o local e: root@zircom:/# vi /usr/docs/ppp* Iremos trabalhar de forma mais rapida e objetiva Inicialmente vamos usar o pppsetup que e um script que configura o ppp. root@zircom:/# pppsetup Depois de tudo configurado, execute o daemon: root@zircom:/# ppp-on -> Estabelece a conexão root@zircom:/# ppp-off -> Desfaz a conexão ########################### # Seguranca em Redes Unix # ########################### ________ <-> Domínios <-> ________ (http://registro-br.org): registro de domínios FAPESP-Fundação de Amparo a Pesquisa do Estado de São Paulo-: orgão gestor da internet no Brasil. Aqui você levantar dados iniciais do tipo: DNS e etc... _________________________________________ <-> Técnicas para levantamento de informações <-> _________________________________________ ->Footprinting: root@zircom:/# traceroute 200.244.3.241 -> Informa a rota de roteamento atual. -> Enumeração: root@zircom:/# finger -> lista informações sobre usuários root@zircom:/# finger @root root@zircom:/# finger @host usuário Exemplo: root@zircom:/# finger @ucam-campos.br root root@zircom:/# ping + IP da maquina... root@zircom:/# nmap -sP 10.0.2.254 root@zircom:/# nmap -sP 10.0.2.2-254 -> Verifica do host 2 ao 254. root@zircom:/# nmap -O 10.0.2.9 -> Informa o OS da máquima e especificações. -> Serviços: 1 - 255 } Porta 256 - 1024 } Baixa 1025 - 65535} Porta Alta root@zircom:/# nmap IP -> Scannear Portas Aberta. root@zircom:/# nmap 192.168.0.10 root@zircom:/# nmap -P 10.0.2.5 root@zircom:/# nmap -p 10.0.2.5 root@zircom:/# nmap -sTUR -D 10.0.2.5,200.244.10.1 root@zircom:/# nmap -sU -cS 10.0.2.5,200.244.10.1 root@zircom:/# netstat -vxt 192.168.0.1 root@zircom:/# ping -s 16000 -F 192.168.0.1 -> Conexões Remotas: .::Telnet::. root@zircom:/# telnet 192.168.0.3 21 .::SSH::. root@zircom:/# ssh -l root 192.168.0.1 .::SSH::. root@zircom:/# ssh root@200.167.208.8 -> Habilitar e Desabilitar Portas/Serviços: root@zircom:/# /etc/rc.d/rc.httpd stop -> Para o servidor web apache e o serviço web(http) pela porta baixa 80. root@zircom:/# /etc/rc.d/rc.httpd start -> Inicializa o servidor web apache. root@zircom:/# /etc/rc.d/rc.httpd restart -> Reinicializa o servidor web apache. ________________ <-> Network Sniffing <-> ________________ Os sniffer de rede e um programa que fica cheirando todo o conteúdo presente na rede sem que nada possa ser feito para impedi-lo, pois o sniffer realiza essa operação pagando o pacote inteiro. Os sniffer's foram desenvolvidos para ajudar na detecção de problemas e monitorarmento do fluxo de informação na rede. O tcpdump é um dos mais usados e conhecidos. root@zircom:/# tcpdump -i eth0 dst port 23 -x root@zircom:/# tcpdump -i lo dst port 21 -x root@zircom:/# tcpdump \(10.10.100.100 and 10.10.200.200\) -scaneia os dois IP root@zircom:/# tcpdump port 386 and not 192.168.0.2 -scaneia o porta 386 mas descarta host x.x.x.x root@zircom:/# tcpdump -n icmp -o argumento -n evita name service queries root@zircom:/# tcpdump icmp -mostra qualquer pacote icmp => root@zircom:/# tcpdump -X -vvv -mostra usuários e senhas e pacotes no formato hexadecinal root@zircom:/# tcpdump net 10.10.0.0 mask 255.255.0.0 -scaneia restritamente a network especificada root@zircom:/# tcpdump -n -t tcp or udp -scaneia restritamente TCP ou UDP root@zircom:/# tcpdump -n icmp and ip src 10.0.0.1 -scaneia especifico source IP e trafego de ICMP somente root@zircom:/# tcpdump tcp port 22 -scaneia restritamente TCP port 22 -> Filtros ==> root@zircom:/# tcpdump 'ip[0] & 0x0f > 5' -filtra pacotes com cabeçalhos maiores de 20 bytes root@zircom:/# tcpdump 'ip[8] > 5' -filtra pacotes com valores TTL maiores de 5 root@zircom:/# tcpdump 'ip[9] = 6' -filtra o décimo byte ou nono offset (protocol field) - TCP = port 6 UDP=port 17 root@zircom:/# tcpdump -vv -n -x src host 192.168.0.24 -filtra pacotes da fonte especificada root@zircom:/# tcpdump -F filter_file -usa o arquivo filter_file.txt para especifica filtragem * Arquivo filter_file.txt ######Inicio tcp[13]=2 and (ip[2:2] - ((ip[0] & 0x0f*4) - ((tcp[12] & 0xf0/4) )!= 0 ######Fim root@zircom:/# tcpdump 'icmp[0] != 8 and icmp[0] != 0' -filtra ICMP mas ignora echo request/replies root@zircom:/# tcpdump 'ip[19] = 0xff or ip[19] = 0x00' -filtra .255 ou .0 broadcast root@zircom:/# tcpdump 'ip[13] = 2 ' -filtra TCP com flag SYN 1 = FIN, 2 = SYN, 4 = RST, 8 = PSH, 16 = ACK, 32 = URG, 64/128 = REServed. root@zircom:/# tcpdump 'ip[0] & 0x0f > 5' ________________ <-> Tipos de Ataques <-> ________________ -> Ataque DOS(Denial of Service - Negação de Serviço): Os ataques desse tipo consistem em impedir o funcionamento de uma máquina ou de um serviço especifico. DoS não e um ataque propriamente dito, e um tipo de ataque, o qual inclui ataques como sobrecarga de rede, exclusivos pedidos de abertura de conexão(SYN Flooding) etc. 10/100Mbps +---------+ +---------| Cliente | | +---------+ | +--------+ 56Kbps +----------+ | +--------+ | Host A |--------------| internet |------------------| Vitima | +--------+ +----------+ 1MByte +--------+ | |10Mbps | +----------+ | Servidor | +----------+ -> Ataque DDOS Tem o mesmo conceito do DoS so que e realizado dentro da rede, com uma eficiência mais abrangente, pois a velocidade na intranet e maior e o administrador costuma deixar falhas. +----+ +----+ +----+ +----+ | S6 | | S1 | | S2 | | S5 | +----+ +----+ +----+ +----+ \ | | / \ | | / \ | | / +--------+ 56Kbps +------------+ 1MByte +--------+ | Host A |--------------| internet |------------------| Vitima | +--------+ +------------+ +--------+ / | | \ / | | \ / | | \ +----+ +----+ +----+ +----+ | S7 | | S3 | | S4 | | S8 | +----+ +----+ +----+ +----+ -> Ataque Buffer Overflow(Estouro de Buffer): Os estouro de buffer se aproveitam do fato de que a maioria dos programas reserva blocos de memória de tamanho fixo para criar uma área de armazenamento temporário chamada buffer, na qual os programas processam as informações oriundas da rede. Frequentemente, esses buffers são programados com tamanho fixo ou para confiar na mensagem do pacote que indicaria seu tamanho corretamente. Os estouros de buffers ocorrem quando uma mensagem "mente" sobre seu tamanho ou foi deli- beradamente maior que o tamanho maximo permitido. +----------------------------------------------------------+ | | +-------+ | | | Servico | | SHELL | |limite| | | +-------+ | | +----------------------------------------------------------+ ^ ^ | | | | | | | | | | +--|------------------------------+ | +---------------------------------+ -> Reset - Programa debub: para tirar senha do setup root@zircom:/# debug 0 70 E2 0 71 FF -> Usando o NESSUS: Depois de devidamente instalado execute: root@zircom:/# nessusd -D -> start o servidor nessus root@zircom:/# nessus-adduser -> cria um usuário para logar root@zircom:/# nessus-mkcert -> cria um certificado SSL criptografado root@zircom:/# nessus -> start uma GUI muito facil e intuitiva. Log no sistema e vá para a 7 aba chamada Target um informa o IP da máquina alvo Exemplo: 192.168.0.100/24 Feito isso clique no botão esquero inferior Start The Scan e vá tomar um café, pois o processo é demorado, contudo funciona e é poderoso. O relatório é muito show. -> Usando o John root@zircom:/# john shadow -> Usando o Snort: root@zircom:/# snort -v root@zircom:/# snort -vde root@zircom:/# snort -i eth0 -vde Descomente a linha abaixo no arquivo de configuração do snort root@zircom:/# vim /var/snort-2.3.2/etc/snort.conf # [Unix flavours should use this format...] output alert_syslog: LOG_AUTH LOG_ALERT root@zircom:/# snort -D -c /var/snort-2.3.2/etc/snort.conf -A fast ################## # Usando o SAMBA # ################## O samba e um software criado por Andrew Tridgell, que veio para facilitar a integração do mundo UNIX e o mundo Windows, por meio do protocolo SMB(Service Message Blocks). Iremos configurar o samba de maneira prática e sintetizada para compartilhar serviços em uma rede Linux e Windows, afim de compartilhar diretórios de máquinas Linux para Windows e vice-versa. Com o samba devidamente instalado e com seu daemon rodando, fazendo o servidor samba funcionar, vamos acessar o arquivo smb.conf e descomentar uma linha que nos irá permitir configurar utilizando em front-end conhecido por SWAT. root@zircom:/# vi /etc/inetd.conf Localize a seguinte linha e retire a # para que esta fique descomentada e ativa #swat stream tcp nowait.400 root /usr/sbin/swat swat Ficando assim: swat stream tcp nowait.400 root /usr/sbin/swat swat Agora restart o daemon inetd: root@zircom:/# /etc/rc.d/rc.inetd restart ou root@zircom:/# /etc/rc.d/rc.inetd stop root@zircom:/# /etc/rc.d/rc.inetd start Starting Internet super-server daemon: /usr/sbin/inetd Aparecendo a seguinte menssagem acima, fica caracterizado que esta tudo bem. Depois acesse um browser(netscape) e digite http://localhost:901 Em seguida ira aparecer uma janela pedindo nome e senha do root e para fazer toda configuração você deve logar como super-usuário(root). Pronto, agora você esta no SWAT. Dentro do SWAT existem várias seções para fazer as configurações necessárias. -> HOME -> GLOBALS -> SHARES -> PRINTERS -> WIZARDS - STATUS -> VIEW -> PASSWORD root@zircom:/# smbclient -L 192.168.0.10 ################ # Ripando CD's # ################ root@zircom:/# man cdparanoia root@zircom:/# cdparanoia -B -- "3" -> Ripa a track 03.wav root@zircom:/# cdrecord -v speed="$speed" dev="$dev" -data -eject "${dir_temp}/001.iso" -> Grava arquivo *.iso root@zircom:/# cdrecord -v speed="$speed" dev="$dev" -dao -pad -audio -eject *.wav root@zircom:/# cdrecord -v speed="$speed" dev="$dev" -pad -audio -eject *.wav -> Grava cd wav root@zircom:/# cdrecord -v blank=all dev="$dev" -> Apaga CD-RW ########################## # Gravado CD's de musica # ########################## root@zircom:/# man cdrdao root@zircom:/# ######################### # Gravado CD's de dados # ######################### root@zircom:/# man cdrecord root@zircom:/# ##################### # Construindo Cabos # ##################### Exitem dois padrões que seguem as especificações definidas pelas normas de redes de computadores. A IEEE e um dos orgãos de ditam essas especificações e regulamentam padrões na engenharia e arquitetura de redes de computadores. Segue abaixo a sequencia organizada dos fios e seus respectivos padrões. Esquema: 1 +-----+ +-----+ ^ | Tx+ |-------------| Rx+ | +----------+ | Tx- |-------------| Rx- | | |||||||| | | Rx+ |-------------| Tx+ | | | | Rx- |-------------| Tx- | | | Frente +-----+ +-----+ | | | | +--+ +--+ | | | | | | | | 568B 568A 1.Tx+ Branco Verde 1. Branco Laranja 2.Tx- Verde 2. Laranja 3.Rx+ Branco Laranja 3. Branco Verde 4. Azul 4. Azul 5. Branco Azul 5. Branco Azul 6.Rx- Laranja 6. Verde 7. Branco Marrom 7. Branco Marrom 8. Marrom 8. Marrom Para construir um cabo CrossOver e so climpar um padrao em cada ponta. Esquema: +--------+ +--------+ | 586A |-----------------------| 586B | \_______+ +_______/ ######################### # Ajustando a Data/Hora # ######################### Um elemento muito importante para os servidores e estações de trabalho e estar com a hora e o calendário corretos. Aqui no Brasil ainda temos que nos adequar ao horário de verão e fazer esses ajuates no linux e muito fácil. E preciso estar logado como root e seguir os seguintes procedimentos. -> Acertar a data: Padrao americano - (mes/dia/ano) root@zircom:/# date -s 11/05/2004 O calendário fica ajustado para o dia 5 de novembro de 2004. -> Acertar a hora: Padrão americano - (23:11:20) root@zircom:/# date -s 23:11:20 A hora fica acertada para as vinte e três horas, onze minutos e vinte segundos. ################ # Conexao ADSL # ################ root@zircom:/# adsl-setup -> configura root@zircom:/# adsl-start -> inicializa root@zircom:/# pppoe -A -I eth0 -> teste e informações ################### # Cliente de DHCP # ################### root@zircom:/# /etc/rc.d/rc.inet1 ################## # Usando o SQUID # ################## Inicializa o squid: root@zircom:/# /usr/local/squid/sbin/squid start Para o squid: root@zircom:/# /usr/local/squid/sbin/squid stop ########################### # Terminais Transparentes # ########################### Definicoes: (xterm) -> xterm -bg black -fg white -ls (rxvt) -> rxvt -tr -bg black -fg white -ls ############################### # Compartilhamento de Conexão # ############################### Com a advento das conexões em banda larga... > Configurações de Hardware: Servidor: * Placa de Rede #1: eth0 * Placa de Rede #2: eth1 * Modem xDSL * HUB 8 portas ou mais, depende de sua demanda Clientes: * 1 Placa de Rede para receber a conexão da rede local > Configurações de Rede: Primeiro e preciso entender como e feita o configuração logica da rede local, pois existem diversas formas de ser feito o compartilhamento. * Compartilhamento usando DHCP e DNS: Essa e a forma mais simples de fazer o compartilhamento, pois para eth0 nao atribuimos nenhum IP, para eth1 por exemplo o IP:192.168.0.1, porém sem gateway e para a comexão ppp0 defi nimos o gateway 192.168.0.1, que como você pode perceber e o IP de eth1. Os demais dados como máscara de rede:255.255.255.0, endereço de broadcast:192.168.0.254 são os padrões de rede classe C. Então para o slackware a configuração das placas ficam assim: root@zircom:/# netconfig -> eth0 <- Host Name : nome_do_seu_host Domain : nome_do_dominio_do_seu_provedor IP: - : selecione a opcao static IP e deixe em branco NetMask : 255.255.255.0 Gateway : deixe em branco NameServer : deixe em branco -> eth1 <- Host Name : nome_do_seu_host Domain : nome_do_dominio_do_seu_provedor IP: - : 192.168.0.1 NetMask : 255.255.255.0 Gateway : deixe em branco NameServer : deixe em branco -> ppp0 <- Host Name : nome_do_seu_host Domain : nome_do_dominio_do_seu_provedor IP: - : 192.168.0.1 NetMask : 255.255.255.0 Gateway : 192.168.0.1 NameServer : 192.168.0.1 *obs.: Se o script nao aceitar uma opcao e branco para o IP use: root@zircom:/# vi /etc/dhcpd.conf Exemplo: # Configuração feita pelo script compartilhar conexão do Kurumin ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { #define a sub-rede e sua mascara range 192.168.0.100 192.168.0.200; #define intervalo para IP's dinamicos option routers 192.168.0.1; #define o fluxo de roteamento option domain-name-servers 200.255.1.34,200.255.1.50; #define DNS do seu provedor option broadcast-address 192.168.0.255; #define endereco de broadcast } O rede deve ficar configurada assim: root@zircom:/# ifconfig Exemplo: eth0 Encapsulamento do Link: Ethernet Endereço de HW 00:08:54:15:31:1F endereço inet6: fe80::208:54ff:fe15:311f/64 Escopo:Link UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1 RX packets:258 errors:0 dropped:0 overruns:0 frame:0 TX packets:206 errors:0 dropped:0 overruns:0 carrier:0 colisoes:0 txqueuelen:1000 RX bytes:199734 (195.0 KiB) TX bytes:28529 (27.8 KiB) IRQ:10 Endereço de E/S:0xf000 eth1 Encapsulamento do Link: Ethernet Endereço de HW 00:50:FC:98:2C:8E inet end.: 192.168.0.1 Bcast:192.168.0.255 Masc:255.255.255.0 endereço inet6: fe80::250:fcff:fe98:2c8e/64 Escopo:Link UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 colisoes:0 txqueuelen:1000 RX bytes:588 (588.0 b) TX bytes:378 (378.0 b) IRQ:11 Endereço de E/S:0xf000 lo Encapsulamento do Link: Loopback Local inet end.: 127.0.0.1 Masc:255.0.0.0 endereço inet6: ::1/128 Escopo:Máquina UP LOOPBACKRUNNING MTU:16436 Métrica:1 RX packets:30 errors:0 dropped:0 overruns:0 frame:0 TX packets:30 errors:0 dropped:0 overruns:0 carrier:0 colisoes:0 txqueuelen:0 RX bytes:1956 (1.9 KiB) TX bytes:1956 (1.9 KiB) ppp0 Encapsulamento do Link: Protocolo Ponto-a-Ponto inet end.: 10.0.0.212 P-a-P:192.168.255.9 Masc:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Métrica:1 RX packets:169 errors:0 dropped:0 overruns:0 frame:0 TX packets:184 errors:0 dropped:0 overruns:0 carrier:0 colisoes:0 txqueuelen:3 RX bytes:187591 (183.1 KiB) TX bytes:23470 (22.9 KiB) ################ # Vim colorido # ################ Ideal para quem programa no vim. Use o comando para copiar um exemplo em seu $HOME root@zircom:/# cp /usr/doc/vim*/doc/vimrc_example.vim ~/.vimrc ##################################################### # Instalando e Configurando uma impressora no linux # ##################################################### O processo de instalação de uma impressora no linux já não é tão difícil. Primeiro instale o servidor de impressão CUPS. Se seu servidor de impressão nao estiver starting no boot, então: root@zircom:/# /etc/rc.d/rc.cups start Depois abra um browser e digite a URL: http://localhost:631 A porta 631 e a usada para fazer administração web do servidor de impressão. Entre com usuário root e sua respectiva senha. Siga os passos: 1 - Administration No item Printer, clique no botão: 2 - Add Printer Na tela Add New Printer e informe as informações de sua impressão em espaços em branco. Name: nome_de_sua_impressora Location: nome_do_servidor Description: Impressora da Rede 3 - Clique no botão Continue 4 - Device: selecione o porta que a impressora esta conectada Na tela seguinte selecione a marca da sua impressora, e em seguida o drive. Se nao funcionar selecione outro drive. 5 - Continue respondendo as perguntas ate a messangem final Feito isso, tudo pronto. Agora va para o menu na opcao Printers e imprima uma pagina de teste. ############################# # NFS - Network File System # ############################# Vamos montar um servidor de arquivos para Linux, *nix, *BSD, SCO Unix, Solaris, SunOS, IRIX, AIX, HP-UX, True64, OS/2, etc... abrangendo uma grande quantidade de plataformas sem a necessidade de configurações complicadas e muitos programas adicionais. -> O SERVIDOR: Edite o arquivo /etc/exports, colocando o IP da máquina cliente que vai acessar o diretório compartilhado. O servidor ira exportar esse diretório para a máquina cliente seguindo as permissões definidas; *(rw)_ para leitura e escrita. *(ro)_ somente leitura. Exemplo: root@zircom:/# vim /etc/exports # See exports(5) for a description. # This file contains a list of all directories exported to other computers. # It is used by rpc.nfsd and rpc.mountd. # Exporta o home da minha máquina para o cliente(192.168.0.200) /home 192.168.0.200(rw) # Exporta o DVD do servidor para o cliente(192.168.0.200) /mnt/dvd 192.168.0.200(sync,rw,insecure,all_squash) -> O CLIENTE: Edite o arquivo /etc/fstab da seguinte forma: Exemplo: /dev/hda2 swap swap defaults 0 0 /dev/hda1 / reiserfs defaults 1 1 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 proc /proc proc defaults 0 0 # Compartilhmento do HOME 192.168.0.1:/home /mnt/pub nfs defaults 0 0 # Compartilhamento do DVD 192.168.0.1:/mnt/dvd /mnt/dvd nfs users,noauto,nodev,noexec 0 0 Coloque o IP do servidor, com o path para o diretório que será compartilhado, o ponto de mountagem e etc.. Agora no cliente é só montar o compartilhamento para acessar o /home do servidor de arquivos do tipo NFS definido no ip 192.168.0.1 root@zircom:/# mount -a -t nfs root@zircom:/# umount -a -t nfs *obs.: depois o cliente tem que mountar o DVD: root@zircom:/# mount /mnt/dvd ##################### # TALK - Chat local # ##################### Os programas de mesagens em tempo real estão na moda, só que no mundo do *nix eles fazem parte do seu universo e o comando talk proporciona a abertura de um canal de comunicação em tempo real com a tela divida ao meio, uma para cada pessoa. root@zircom:/# talk spock tty2 -> chat para spock no terminal 2 root@zircom:/# talk spock tty1 -> chat para root no terminal 1 ############################## # xdm - todos em uma máquima # ############################## root@zircom:/# X -query 200.167.208.8 -> login ########################## # Configurando o FIREFOX # ########################## Vá para a barra de endereço e digite: -> about:config Clique com o botão direito do mouse e escolha a opção: / String... (digite o nome do programa - ex: xine) -> Nova opção - Inteira... \ Booleana... ################################### # Programando Interfaces Gráficas # ################################### A falta de interface gráfica em alguns programas GPL serve como desculpa ou dificuldade para usuário comuns não utilizarem programas GPL. Cabe aos programadores proverem esse ambiente amigável e funcional para dinamizar sua utilização. Compilação: root@zircom:/# gcc ola.c -o ola `pkg-config --libs --cflags gtk+-2.0` #################### # Usando o Mplayer # #################### Baixe o código fonte e as fontes(letras) para o mplayer poder rodar legenda -> mplayerPre7.tar.bz2 Compile e faça a instalação. -> font-arial-iso-8859-1.tar.bz2 Crie em diretório em /etc root@zircom:/# mkdir /etc/mplayer Descomprima o arquivo das fontes e vá para arquivo de configuração do mplayer root@zircom:/# vim ~/.mplayer/config Então configure set o path para ele encontrar as fontes e exibir as legendas: # Write your default config options here! font=/etc/mplayer/font-arial-iso-8859-1/font-arial-28-iso-8859-1/font.desc Feito isso, salve a sai do arquivo de configuração e tá tudo beleza!!! Bons filmes... root@zircom:/# root@zircom:/# ################################# # Computação Gráfica com OpenGL # ################################# Instalação do OpenGL Pegar os seguintes arquivos no FTP: * MesaDemos-6.2.1.zip * MesaLib-6.2.1.zip Descompactar na seguinte ordem dentro da pasta /root: MesaDemos-6.2.1.zip MesaLib-6.2.1.zip depois abrir o konsole e seguir os seguintes passos: cd Mesa (pasta descompactada) chmod a+x bin/mklib make linux-x86 Entre dentro do Diretório na Lib na pasta Mesa e digite: export LD_LIBRARY_PATH=${PWD} Entre na pasta /progs/demos ./gears Tem que aparecer as engrenagens na tela Para compilar com gcc: root@zircom:/# gcc -o arquivo arquivo.c -IGL -IGLU -Iglut ou root@zircom:/# gcc file.c -o file -L/usr/X11R6/lib/ -IGL -IGLU -lglut Você tem uma boa ferramenta para trabalhar com computação gráfica. ############################ # Debugando no LINUX - gdb # ############################ root@zircom:/# gdb nome_do_programa (gdb) run -> roda o programa para testes (gdb) q -> sai de debugger ################### # Usando do Snort # ################### Introdução - SNORT Vamos abordar uma simples forma de se instalar o Snort e deixá-lo rodando para ir verificando o que se passa na rede. Ele vai funcionar da forma mais simples possível, sem interagir com nenhum outro programa, pois o mesmo pode ser configurado para usar banco de dados(MySQL) e ferramentas visuais para análise(ACID- Analysis Console for Intrusion Databases). Download do Snort Você pode achar o Snort para se baixar no próprio site http://www.snort.org. Existe a versão 2.3.3 e a 2.4.0, neste momento vamos usar a versão 2.3.2. root@zircom:/# wget -c http://www.snort.org/dl/snort-2.3.2.tar.gz Instalando o Snort Com o tarball em mãos, digite os seguintes comandos: root@zircom:/# tar zxvf snort-2.3.2.tar.gz root@zircom:/# cd snort-2.3.2 Agora estamos prontos para instalar, certifique-se que seu sistema tenha a libpcap instalada, caso não tenha, baixe-a na seguinte URL: root@zircom:/# wget -c http://www.tcpdump.org/release/libpcap-0.8.3.tar.gz Para instalar é simples: root@zircom:/# ./configure root@zircom:/# make root@zircom:/# make install root@zircom:/# ldconfig Agora vamos continuar a instalação do Snort da forma simples: root@zircom:/# ./configure root@zircom:/# make root@zircom:/# make install Vamos criar o diretório para que os logs sejam armazenados: root@zircom:/# mkdir /var/log/snort Iniciando o Snort Primeiro vamos arrumar o diretório do Snort pra gente poder usar a regras e o arquivo de configuração que vem nele próprio: zircom@root:/# mv snort-2.3.2 snort Agora edite o snort/etc/snort.conf e descomente a seguinte linha: output alert_syslog: LOG_AUTH LOG_ALERT Agora vamos iniciar o Snort: zircom@root:/# snort -D -c snort/etc/snort.conf -A fast Agora o Snort vai rodar como daemon e vai ficar logando todas as ocorrências no arquivo /var/log/snort/alert. Se por exemplo, alguém rodar um portscan no seu IP, você vai receber algumas mensagem no arquivo alert da seguinte maneira: 09/29-14:46:53.372042 [**] [1:1420:11] SNMP trap tcp [**] [Classification: Attempted Information Leak] [Priority: 2] {TCP} 192.168.1.100:39111 -> 192.168.1.2:162 09/29-14:46:53.375268 [**] [1:1421:11] SNMP AgentX/tcp request [**] [Classification: Attempted Information Leak] [Priority: 2] {TCP} 192.168.1.100:39111 -> 192.168.1.2:705 09/29-14:46:58.423072 [**] [1:1226:4] X11 xopen [**] [Classification: Unknown Traffic] [Priority: 3] {TCP} 192.168.1.100:41967 -> 192.168.1.2:6000 09/29-14:46:58.463005 [**] [1:1228:6] SCAN nmap XMAS [**] [Classification: Attempted Information Leak] [Priority: 2] {TCP} 192.168.1.100:39124 -> 192.168.1.2:1 Conclusões Bom, agora o Snort já vai estar funcionando de forma satisfatória pra controlar o que está ocorrendo externamente contra o seu computador. Dessa maneira o Snort não estará funcionando com 100% de sua capacidade, mas vai ajudar um pouco. ################### # Usando o NESSUS # ################### -> Usando o NESSUS: Depois de devidamente instalado execute: root@zircom:/# nessusd -D -> start o servidor nessus root@zircom:/# nessus-adduser -> cria um usuário para logar root@zircom:/# nessus-mkcert -> cria um certificado SSL criptografado root@zircom:/# nessus -> start uma GUI muito facil e intuitiva. Log no sistema e vá para a 7 aba chamada Target um informa o IP da máquina alvo Exemplo: 192.168.0.100/24 Feito isso clique no botão esquero inferior Start The Scan e vá tomar um café, pois o processo é demorado, contudo funciona e é poderoso. O relatório é muito show. ################################### # Execução automatica de comandos # ################################### Sintaxe: * watch -> comando. * --interval=2 -> intervalo de 2s. * " " -> informe o comando que deseja ser executado automaticamente. Exemplo: root@zircom:/# watch --interval=2 "showmount -e 10.0.1.0"