Comandos Linux
10
Acertar a data/hora do sistema
Iniciar e encerrar o sistema
10
Fazer mapeamento do samba ao iniciar
03
rlogin
10
Comandos do VI
03
passwd
11
Servidor de arquivos NFS
03
su
11
Servidor Samba
04
finger
11
Diretório Compartilhado
04
shutdown
11
Acrescentar mais um HD no LINUX instalado
Comandos Informativos
13
Alguns Comandos do RPM
04
Man
13
Diretório Share Public - linux
04
Who
14
Configuração da Crontab
04
tail
15
Como configurar o Speedy no Linux
Diretórios
15
Instalando o rp-pppoe
05
Ls
16
Quando já estiver conectando pelo adsl-start
05
Du
17
Como colocar minha rede intranet na internet com adsl
05
Pwd
17
Como montei meu arquivo para Start-Speed
05
Mkdir
17
Sobre ADSL rotear para outras
05
Rmdir
Vamos preparar um cabo invertido (ou seja crossover cable):
06
tree
18
DIAGRAMA DE CABOS DE REDE:
Arquivos
21
Configurar placa de rede e saida
06
Cp
22
Reconhecendo um Arquivo de Configuração do LILO
06
mv
24
Instalando o Lilo
06
rm
25
Problemas com o Lilo
06
cat
26
Pormenores do LILO
06
more
26
Recuperando o LILO
07
sort
27
Configurando um Cliente NFS
07
ln
27
E-mail com anexo
07
find
31
Particinar usando fdisk
07
grep
32
IPCHAINS - Tire suas dúvidas
Controle de acesso
39
Formatando partições
08
Chown
39
Criar discos de inicialização
08
Chmod
40
Como usar Loadlin.exe para inicializar o linux
Processos
41
Como usar o comando xf86cfg
09
ps
42
Linux e Controle dos seus serviços
09
kill
43
Como criar um disco de inicialização
Comando de disco
44
Como montar compartilhamento em um cliente Linux
09
Mount
09
umount
09
df

 


Comandos Linux

Iniciar e encerrar o sistema
rlogin

Inicia uma sessão de terminal remoto.
# rlogin [opções] [-l username] <host>
Opções : -x: ativa a criptografia de todos os dados que forem transmitidos na sessão de rlogin.

passwd
Serve para alterar a senha de usuário. A opção username somente poderá ser usada pelo root.
# passwd [username]

su
Inicia um novo Shell para o superusuário.
# su [opções]
Opções: -c command: executa o comando "command" ao invés de começar um novo "shell" -l: modifica as variáveis, como por exemplo TERM, HOME, SHELL; -s shell: executa um shell especificado.

finger
Exibe informações sobre os usuários do sistema.
# finger [opções] [user@host]
Opções: -l: exibe informações no formato de múltiplas linhas; -p: mostra apenas o conteúdo dos arquivos .plan e .forward.

shutdown
Este comando encerra o sistema de forma segura, permitindo que o computador seja desligado.
# shutdown [opções] [mensagem]
Opções: now: executa o comando imediatamente; -t seg: especifica o atraso de execução do comando em segundos; -r: reinicia após o shutdown; -k: apenas manda mensagem para usuário sem realizar o shutdown; mensagem: mensagem que será enviada aos usuários logados.


 

Comandos Informativos
man
Formata e exibe páginas on-line do manual de ajuda.
# man [opções] <nome>
Opções: -M caminho: especifíca os diretórios onde as páginas serão procuradas; -a: por default, exibe a primeira ocorrência e encerra. Neste caso ele mostra todas as páginas que tiverem a ocorrência do "nome"; -w: exibe o caminho dos arquivos para que eles sejam formatados.

who
Informa quem está conectado.
# who [opções]
Opções: -m ou am i: exibe o login do usuário corrente; -q: exibe os logins e a quantidade dos usuários conectados; -i: exibe, após o login, o tempo que o sistemas está osioso; o "."significa que está ativo e "old" diz que está ocioso mais de 24 horas;

tail
Visualiza o final do log em andamento
#tail -F (nome do arquivo LOG)


 

Diretórios
ls
Exibe os arquivos e subdiretórios do diretório especificado ou do atual.
# ls [opções] [caminho]
Opções: -l: exibe todas as informações referentes ao arquivo e diretório; -a: exibe todos os arquivos, incluindo os ocultos; -t; exibe os arquivos em ordem cronológica, decrescente da última modificação; -r; reverte a ordem da classificação; -R: lista o conteúdo do diretório e dos seus respectivos subdiretórios; -S: ordena a listagem por tamanhos dos arquivos; -F: exibe os subdiretórios com "/" e os arquivos executáveis com um '*'.

du
Determina o espaço ocupado pelos arquivos ou diretórios, não informando o local. Serão exibidas informações do diretório corrente.
# du [opções] [arquivos][diretórios]
Opções: -s: exibe apenas o espaço ocupado pelo arquivo e/ou diretório; -h: exibe o tamanho na unidade mais adequada; -m, -k, -b: exibe o tamanho do arquivo ou diretório em MB, BK ou Bytes, respectivamente.

pwd
Exibe o caminho completo do diretório atual.
# pwd

mkdir
# mkdir [opções] <caminho>
Cria um novo diretório.
Opções: -p: cria todos os diretórios especificados no caminho; -m especifica as permissões de acesso do novo diretório. Veja

chmod
rmdir
Remove diretórios vazios.
# rmdir [-p] <caminho>
Opções: -p: remove todos os diretórios especificados no caminho.

tree
Lista o conteúdo de um diretório (arquivo e subdiretórios).
# tree [opções] [diretório]
Opções: -d: lista somente os subdiretórios; -a: lista todos arquivos, inclusive os ocultos; -f: exibe o caminho completo dos arquivos; -p: exibe as permissões dos arquivos.


 

| cat | more | sort | ln | find | grep

Arquivos

cp

Copia arquivos.
# cp [opções] <origem> <destino>
Opções:
. -f: remove, caso existam no destino, arquivos de mesmo nome;
. -i: exibe o prompt caso existam arquivos de mesmo nome no diretório;
. -v: imprime o nome de cada arquivo antes de copiá-lo;
. -x: não copia subdiretórios de um diferente sistema de arquivos;
. -R: copia diretórios repetidamente;

mv
Move e renomeia arquivos.
# mv [opções] <origem> <destino>
Opções:
. -f: remove arquivos do diretório de destino com o mesmo nome;
. -i: exibe um prompt, caso exista um arquivo com o mesmo nome;
. -v: exibe o nome de cada arquivo antes de move-lo;

rm
remove arquivos.
# rm [opções] <arquivo>
Opções:
. -i: exibe um prompt que pede a confirmação;
. -r: remove o conteúdo de diretórios repetidamente.

cat
Concatena e imprime arquivos no dispositivo de saída padão.
# cat [opções] <arquivo>
Opções:
. -n: enumera todas as linhas do arquivo;
. -b: enumera todas as linhas não brancas do arquivo;
. -s: durante a exibição, substitui linhas brancas adjacentes por uma unica linha;
. -v: exibe todos os caracteres não-imprimíveis, com exceção dos caracteres de final de linha e do TAB;
. -A: equivalente a -vET; -E: mostra os caracteres de final de linha (representados por $);
. -T: mostra todos os caracteres TAB (representados por ^l);
. -e: equivalente a -vE; -t: equivalente a -vT.

more
Exibe um arquivo em incrementos. Caso não seja especifica nenhum opção, o arquivo será exibido tela a tela.
# more [opções] <arquivo>
Opções:
. -num: permite especificar o número de linha para exibição;
. -d: a cada incremento exibe um prompt de opções;
. -s: comprime diversas linhas em branco adjacentes em uma única linha;
. -l: não pausa em uma linha que contenha quebra de página (^L);
. -u: suprimi o sublinhado;
. +/<palavra>: começa a exibição duas linha antes da primeira ocorrência da palavra passada como parâmetro;
. +linha: inicia a exibição a partir da linha passada como parâmetro.

sort
Ordena o arquivo passado como parâmetro.
# sort [opções] [+pos1] [-pos2] [-o arqsaida] <arquivo>
Opções:
. +pos1, -pos2: a classificação é limitada em pos1 e pos2;
. -o: direciona o resultado para arsaída (qualquer arquivo);
. -c: verifica se o arquivo já está ordenado;
. -u: elimina as linhas duplicadas no resultado;
. -f: não faz distinção entre maiúsculas e minúsculas;
. -r: inverte a ordem da classificação.

ln
Cria links para arquivos.
# ln [opções] <caminho_origem> <caminho_destino>
Opções:
. -b: faz backup de arquivos que poderão ser removidos;
. -s: faz um link simbólico ao invés de um físico;
. -i: exibe um prompt para confirmar a remoção de arquivos de destino;

find
Procura, hierarquicamente, por arquivos em um diretório.
# find [caminho] [opções]
Opções:
. -name padrão: procura por arquivo que possua o padrão especificado;
. -mount: não procura em outros sistemas de arquivos;
. -group grupo: procura por arquivos do grupo especificado.

grep
Procura um texto como parâmetro em um ou mais arquivos.
# grep [-opções] <modelo> <arquivo>
Opções:
. -v: exibe todas as linhas que não possuem o modelo;
. -c: exibe o número de linhas que apresentam o modelo;
. -n: havendo ocorrências, é mostrado o número da linha no arquivo;
. -y: não faz distinção entre letras maiúsculas e minúsculas;
. -w: o modelo só poderá coincidir com palavras inteiras.


 

Controle de acesso

chown
Alterar o propretário dos arquivos ou diretórios.
# chown [opções][owner][group] <arquivos ou diretórios>
Opções: -R: altera o proprietário e/ou grupo dos diretórios, e seus conteúdos.

chmod
Muda permissões de acesso de arquivos ou diretórios.
# chmod [opções] <arquivo ou diretórios>
Opções do formato simbólico: u: proprietário do arquivo ou diretório; g: grupo do proprietário; o: outros usuários; a: todos os usuários; +: adiciona uma ou mais permissões; -: retira permissões; =: atribui permissões; r: permissão para leitura; w: permissão para gravação; x: permissão para execução.
Opções no formato absoluto: 0: nenhuma permissão; 1: Permissão somente para execução; 2: permissão somente para escrita; 3: permissão para escrita e execução; 4: permissão somente para leitura; 5: permissão para leitura e execução; 6: permissão para leitura e escrita; 7: acesso completo.

 


Processos
ps
Exibe os status sobre os processo ativos.
# ps [Opções]
Opções: -a: exibe informações sobre os processos de outros usuários; -l: exibe informações em um formato extenso.

kill
Finaliza um ou mais processos em execução, através da informação de seu número.
# kill [opções] pid
# kill -l [sinal]
Opções: -s: especifica o sinal a ser enviado. Pode ser passado o número ou o nome do sinal; -l: lista os sinais (números e nomes) que podem ser enviados. -n: envia um sinal de identificação n.

Comando de disco
mount
Monta e eexibe informações sobre sistemas de arquivos.
# mount [opções]
# mount [opções] <device> <diretório>
Opções: -t ftype: especifica o tipo de sistema de arquivo que será montado; -a: monta todos os sistemas de arquivos especificados no arquivo fstab;

umount
Desmonta sistemas de arquivos.
# umount [opções]
# umount [opções] <device>
Opções: -a: desmonta todos os sistemas de arquivos especificados no arquivo mtab.

df
Exibe o espaço livre no disco rígido.
# df [opções] [Sistema de Arquivos]
Opções: -k: exibe o tamanho em blocos de 1K, ao invés dos 512 bytes padrão; -t fstype: limita a listagem aos sistemas de arquivos do tipo fstype; -x fstype: limita a listagem aos sistemas de arquivos que não são do tipo fstype; -a: exibe informações de todos os sistemas de arquivos, inclusive os que possuem zero blocos.


 

Acertar a data/hora do sistema
Onde: MM=mês, dd=dia, hh=hora, mm=minito e yyyy=ano.
# date MMddhhmmyyyy
# clock -w (para salvar a data na BIOS).


Fazer mapeamento do samba ao iniciar
Editar o arquivo: #vi /etc/fstab

LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hdc2 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
/dev/hda1 /mnt/win vfat defaults 0 0
//portal/producao 0 0 /mnt/producao smbfs username=producao,password=,uid=produca
o,gid=producao
0 0

//portal/edicao
/mnt/edicao smbfs username=edicao,password=,uid=edicao,gi
d=edicao
0 0
/dev/hda1 /mnt/win98 vfat defaults 0 0

 


 

Comandos do VI


/ = find
: = cursor de comando
:x = salva e sai
:q = sai sem salvar
:q! = sai ignorando o digitado
i = insert
esc = cancel insert
r = troca o caracter sobre o cursor


Servidor de arquivos NFS


Para que este funcione:
# vi /etc/exports (e altere o arquivo para os parâmetros abaixo)
/mnt/cdrom 0.0.0.0/0.0.0.0 (ro)

NFS :
Após feito esta configuração montar a unidade de cdrom:
# mount /mnt/cdrom
Inicializar o serviço NFS adicionado:
# /etc/rc.d/init/nfs start (RH6.2)


Servidor Samba


Diretório Compartilhado
Criar ou adicionar um usuário : (/home/fulano)
# adduser fulano
Criar um diretório dentro deste : (/home/fulano/compartilhado)
# cd /home/fulano
# mkdir compartilhado
Adicionar outros usuários : (/home/fulano2 /home/fulano3 ... )
# adduser fulano2
Fazer um link dentro destes usuários criados :
# cd /home/fulano2
# ln -s /home/fulano/compartilhado (fazer isto em todos, menos o primeiro )

Acertar os UID
# vi /etc/passwd
Copia "UID" e "USERUID" do fulano e coloca para todos, depois va em /home e:
# chwon fulano:fulano -R fulano
# chwon fulano:fulano -R fulano2
# chwon fulano:fulano -R fulano3...



Acrescentar mais um HD no LINUX instalado


IDE Primária
Master
HDA 1-4 (partição primária)
HDA 5-25 (partição extendida)
Slave
HDB 1-4 (partição primária)
HDB 5-25 (partição extendida)
IDE Secundária
Master
HDC 1-4 (partição primária)
HDC 5-25 (partição extendida)
Slave
HDD 1-4 (partição primária)
HDD 5-25 (partição extendida)

Após Ter instalado o HD novo na IDE e saber em qual letra ela se encaixa acima:
Ex: suponhamos que vamos instalar o HDC
Passo 1 - Preparar a partição a ser formatada
# fdisk /dev/hdc
n
p
1
1 ----> xxx (último cilindro)
w (salva)
Passo 2 - fazer o sistema ler esta partição
Dar um boot no linux (Ctrl+Alt+del)
Passo 3 - Formatar esta partição
# mke2fs -c /dev/hdc1 (vai demorar)
Passo 4 - Dar um nome na nova partição, aqui no exemplo vamos chamar de " public "
# cd /
# mkdir public
Passo 5 - Colocar este para inicializar com o sistema
# vi /etc/fstab (duplicar a linha, onde tem o / e colocar nesta linha /public e salvar)

Passo 6 - Montar esta partição do HD novo junto ao sistema
# mount -a


Alguns Comandos do RPM


Ver os pacotes instalados:
# rpm -qa
Desinstalar pacote:
# rpm -e <nome do pacote>
Obter informações do pacote:
# rpm -qi <nome do pacote>
Instalar pacote:
# rpm -ivh <nome do pacote>
Atualizar pacote:
# rpm -Uiv <nome do pacote>


Diretório Share Public - linux

[root@donizetti /root]# vi /etc/smb.conf
This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options (perhaps too
# many!) most of which are not shown in this example
#

#======================= Global Settings ===========================
[global]

# Uncomment this if you want a guest account, you must add this to /etc/passwd
# otherwise the user "nobody" is used
; guest account = pcguest

# Security mode. Most people will want user level security. See
# security_level.txt for details.
; security = user
security = share

#============================ Share Definitions ==============================
[homes]

# A publicly accessible directory, but read only, except for people in
# the "staff" group
;[public]
; comment = Public Stuff
; path = /home/samba
; public = yes
; writable = yes
; printable = no
; write list = @staff

[soft]
comment = Public Stuff
path = /home/soft
public = yes
writable = yes
printable = no
write list = @500


 

Configuração da Crontab


* Representa todos dias, minutos, horas, meses, ano etc...

#vi /etc/crontab

[root@donizetti /root]# vi /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
Ex: [email protected] (Mandar mail de aviso do serviço)
Ex: MAILTO="" (Se eu não quero aviso de serviço)
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
| | | | |
| | | | L---> 0-7 Dia da Semana 0=Domingo
| | | L---> 1-12 Mês
| | L---> 1-31 Dias
| L---> 0-23 Horas
L---> 0-59 Minutos


Como configurar o Speedy no Linux


Instalando o rp-pppoe
Verificar se já esta instalado o pacote acima:
# rpm -qi rp-pppoe
Se tiver ok, mandar bala... se não. Vamos lá ... Baixar na internet o "rp-pppoe-3.3-1.i386.rpm" , após isso instalar:
# rpm -ivh rp-pppoe-3.3-1.i386.rpm
Configurar o acesso
Anote os numeros DNS primário e secundário, isto você poderá pegar com o seu provedor de internet; depois vamos inclui-las em seu adsl-setup:

# /usr/sbin/adsl-setup

username: [email protected]
ethernet interface: eth0 (dar enter)
demand value: no (dar outro enter)
dns primário: xxx.xxx.xxx.xxx (número dns primário do provevor)
dns secundário: xxx.xxx.xxx.xxx (Número do secundário)
password: xxx (seu password no provedor)
firewall: standalone (opção 1)

Perfeito foi configurado seu adsl:
Status conectando ; agora execute o start do adsl.
# /usr/sbin/adsl-start
Mensagem default: .....Connected!

Obs:
Ainda assim não consigo navegar!
Execute então o comando:
# /sbin/ifconfig observe se foi dado um endereço (inet end) para eth0:

Exemplo:
eth0 Link encap:Ethernet HWaddr 00:90:27:77:A2:DB
inet addr:172.21.62.48 Bcast:172.21.62.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4291593 errors:0 dropped:0 overruns:0 frame:0
TX packets:1179054 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:9 Base address:0xc000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:13919 errors:0 dropped:0 overruns:0 frame:0
TX packets:13919 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

A documentação do rp-pppoe diz que : "DO NOT assign an IP address to the Ethernet card". Assim, fica mais fácil.. tudo que precisamos fazer é remover a configuração do endereço IP de eth0, o que pode ser feito através dos comandos:
# /usr/sbin/adsl-setup
# /usr/ifconfig eth0 0.0.0.0
# /usr/sbin/adsl-start

Conforme dito acima, isso costuma resolver a maioria dos problemas.

Alguns possíveis problemas ao conectar:
Mensagem default: Timeout
Obs:
* Você possui a última versão do rp-pppoe (3.3-1)?
* Seu computador está com a configuração DHCP ativada?

Conclusão:
Quando já estiver conectando pelo adsl-start:
e para deixar automaticamente o adsl-start ao iniciar o computador, execute o seguinte comando no Redhat ou distribuições compatíveis, como o Conectiva:
# /sbin/chkconfig --add adsl

Se ainda tiver algum problema, procure mais informações no documento HOW-TO-CONNECT: em
# less /usr/doc/rp-pppoe-3.3/HOW-TO-CONNECT


Como colocar minha rede intranet na internet com adsl

Antes de começarmos a fazer as configurações, lógico temos que saber se nossa saída esta ok com adsl e internet funcionando perfeitamente.
Execute o seguinte comando abaixo conhecer sua tabela e saida de rede:
# route


Como montei meu arquivo para Start-Speed

#!/bin/bash
# start no speed...
adsl-start
route
# default para ppp0
route add default ppp0
route
# ipchains
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_forward
ipchains -P forward DENY
ipchains -A forward -j MASQ -s 192.168.10.0/24 -d any/0
route


Sobre ADSL rotear para outras


Comentário: Tenho uma conexão ADSL da Speed (telefonica)... e instalado o RedHat 6.2, que devo fazer para dar acessos a minha rede LAN

Executei os seguintes comandos e no meu caso com speed funcionou.
route;
#route add default ppp0

IPMasquerede;
#echo "1" > /proc/sys/net/ipv4/ip_forward

para máquinas baseadas em RedHat ;
#vi /etc/sysconfig/network
FORWARD_IPV4=true

IpChains;
#ipchains -P forward DENY
#ipchains -A forward -j MASQ -s IP_de_tudo_red/24 -d any/0

Configurações no windows;
Propriedades de TCP/IP -> placa de rede
Especificar um IP -> 192.168.10.2
Mascara de subrede -> 255.255.255.0

Na máquina Linux -> 192.168.10.1
Ativar DNS -> do seu provedor
Nome de HOST -> batizar nome
Grupo de trabalho -> Mesmo em todos PCs


 

Vamos preparar um cabo invertido (ou seja crossover cable):

DIAGRAMA DE CABOS DE REDE

Primeiramente vale a pena esclarecer que o método/diagramas mostrados aqui é apenas 1 dos métodos de criação de cabos tipo CAT5 direto ou cross-over. Existem outros padrões/diagramas que também funcionam.

Bem após o aviso, antes de você se aventurar a fazer seu cabo de rede, é importante você definir que tipo de cabo precisa, e é claro, ter em mãos o material e ferramentas necessárias para a montagem.

Não iremos nesta dica explicar em detalhes como montar um cabo de rede (veja em outra dica aqui no site BoaDica como fazê-lo), mostraremos apenas os diagramas de conexão/ligação do cabo.

Definindo o cabo a ser utilizado:

Como falamos acima existem basicamente 2 tipos de conexão no cabo: direta e invertida (também chamada cross-over).

Cabo direto (ou patch cable): utilizado para ligação da placa de rede ao hub
Cabo invertido (ou crossover cable): utilizado para ligação entre 2 hubs (também chamado cascateamento), ou então para ligar 2 micros pela placa de rede (padrão RJ45) sem a utilização de hub.

Tenha em mãos as ferramentas/materiais necessários que são:
- Pedaço de cabo de rede padrão CAT 5 (4 pares de fios)
- Conectores RJ45
- Alicate de Crimpagem

Diagrama de conexão dos cabos:

Existem vários padrões de conexão dos cabos em uma rede, ou seja da ordem dos cabos internamente no conector. Deixando de lado a discussão de qual padrão é melhor, vamos apresentar o esquema de conexão no padrão EIA 568B.

Esta é a configuração do padrão CAT 5 para cabo direto (ou patch cable) no padrão 568B: veja Tabela 1 e Figura A abaixo.

Tabela 1: Patch cable CAT 5 (EIA 568B)
Conector #1 Conector #2
Branco/Laranja Branco/Laranja
Laranja/Branco Laranja/Branco
Branco/Verde Branco/Verde
Azul/Branco Azul/Branco
Branco/Azul Branco/Azul
Verde/Branco Verde/Branco
Branco/Marrom Branco/Marrom
Marrom/Branco Marrom/Branco

Nota: A primeira cor listada no par, é a cor dominante do fio, ou seja, no cavo azul/banco, é um fio azul com listras brancas e o cabo branco/azul, é um fio branco com listras azuis.

Figura A: Diagrama da fiação no padrão EIA/TIA T568B

 

Esta é a configuração do padrão CAT 5 para cabo invertido (ou crossover) no padrão 568B: veja Tabela 2 e Figura B abaixo.

Tabela 2: cabo Crossover CAT 5
Conector #1 Conector #2
Branco/Laranja Branco/Verde
Laranja/Branco Verde/Branco
Branco/Verde Branco/Laranja
Azul/Branco Azul/Branco
Branco/Azul Branco/Azul
Verde/Branco Laranja/Branco
Branco/Marrom Branco/Marrom
Marrom/Branco Marrom/Branco

Figura B: Diagrama da fiação Standard e Crossover no padrão EIA/TIA T568B

Cabo A Cabo B

 

Configurar placa de rede e saida

[root@srvrascap root]# vi /etc/hosts
172.21.62.49 srvrascap.agestado.com.br srvrascap
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
~
~
~
"/etc/hosts" 4L, 195C

[root@srvrascap root]# vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=srvrascap.agestado.com.br
GATEWAY=172.21.62.1
~
~
~
~
~
"/etc/sysconfig/network" 3L, 70C

[root@srvrascap root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.21.62.49
NETMASK=255.255.255.0
GATEWAY=172.21.62.1
~
~
~
~
~
"/etc/sysconfig/network-scripts/ifcfg-eth0" 6L, 102C


[root@srvrascap root]# vi /etc/resolv.conf

nameserver 172.21.2.10
~
~
~
"/etc/resolv.conf" 1L, 23C


 

Reconhecendo um Arquivo de Configuração do LILO


O arquivo de configuração do lilo se localiza dentro do /etc e tem o nome de lilo.conf. É importantissimo que ele tenha as permisões corretas, assim como todos os arquivos presentes no /etc, para evitar que usuários possam alterar suas configurações.
Abaixo, segue um exemplo de arquivo de configuração do lilo; vale lembrar que comentários nesse arquivo começam com # e não são interpretadas as linhas que contêm esse caractere no início:

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/hda
compact
append="mem = 64M"
message = /boot/boot_message.txt
prompt
timeout = 100
# Normal VGA console
vga = normal
# Linux bootable partition config begins
image = /vmlinuz
root = /dev/hda3
label = Linux
read-only
# Linux bootable partition config ends
# DOS bootable partition config begins
other = /dev/hda1
label = DOS
table = /dev/hda
# DOS bootable partition config ends

As seções que compõem esse arquivo são as seguintes:
boot = /dev/hda - esta linha indica onde vai ser lida a tabela de boot do sistema, nessa caso /dev/hda, ou seja, o primeiro dispositivo da primeira IDE.
compact - essa opção indica que a imagem de boot deve ser comprimida, para se utilizar menos memória na hora do boot.
append = "mem = 64M" - append serve para se passar parâmetros diretamente para o kernel do Linux. Nesse caso em específico, o parâmetro mem indica a quantidade de memória do sistema. Para grandes quantidades de memória, maiores que 64MB, é necessário se passar esse parâmetro para o kernel para que ele possa trabalhar corretamente com a quantidade de memória indicada. Sistemas com dispositivos 'onboard' que alocam memória, tal como dispositivos SIS, às vezes necessitam passar esse parâmetro mesmo tendo menos que 64MB de memória, pois o sistema não reconhece que o dispositivo onboard requisitou memória para si. Para calcular o valor a ser inserido como parâmetro, subtraia da quantidade total de memória o quanto o dispositivo onboard esta utilizando para si. Outros parâmetros que podem ser passados através do append são geometria de disco, inicialização de dispositivos SCSI, etc.
message = /boot/boot_message.txt - nesse arquivo texto esta armazenado o motd, mensagem que será exibida ao se inicializar o lilo, antes do prompt. Normalmente se coloca nesse arquivo as opções de boot presentes na máquina ou se algum aviso importante.
prompt - essa opção serve para que o LILO apresente um prompt para se indicar quais as opções de boot; se você quiser que seja sempre dado boot por uma mesma imagem ou se você não tiver opções de SO, você pode retirar essa linha que o lilo irá diretamente para a fase de boot.
timeout = 100 - indica o tempo que o prompt permanecerá exposto. Caso esse tempo seja ultrapassado, o lilo inicia a imagem de boot definada como default. Nesse caso, 10 segundos.
vga = normal - aqui indica como o lilo se apresentará para o usuário. Nesse caso ele será mostrado em resolução texto vga padrão.
Até aqui vimos as opções do lilo, a partir de agora iremos ver as opções de imagem de boot.
Imagem de boot para um sistema Linux:
image = /vmlinuz - onde se localiza a imagem de boot do Linux; quando se compila o kernel é criada essa imagem. Nesse caso a imagem do kernel está localizada no raiz e tem o nome de vmlinuz.
root = /dev/hda3 - indica onde é a partição root do sistema, nesse caso /dev/hda3, i.e., terceira partição do primeiro dispositivo da primeira IDE.
label = Linux - indica o nome pelo qual essa imagem de boot estará ligada no lilo; através desse label é que será possivel acessar a imagem através do prompt. Note que você não pode ter dois nomes iguais.
read-only - indica que a partição root será montada como read only, somente leitura, na inicialização. Essa opção é necessária para que o sistema possa fazer o check sanity , isto é, "checagem de sanidade" do sistema, que seria verificar se o filesystem esta em ordem e funcionando perfeitamente. Essa checagem é importante para o sistema reconhecer, prevenir e consertar erros no sistema de arquivo.
Imagem de boot para um sistema DOS®/Windows®:
other = /dev/hda1 - indica onde está o sistema de arquivo dessa imagem de boot. Nesse caso /dev/hda1, isto é, primeira partição do primeiro dispositivo da primeira IDE.
label = DOS - como foi dito na seção label da imagem de boot para Linux, indica como será chamada essa imagem de boot. table = /dev/hda - indica onde está o boot do sistema para essa imagem de boot.


 

Instalando o Lilo
Provavelmente sua distribuição deve ter instalado o lilo, portanto, mudanças no arquivo de configuração do lilo serão realizadas dentro do /etc/lilo.conf que já existe. Para que as alterações tenham efeito, basta digitar como root, # lilo , aí o lilo ira reconhecer as mudanças no arquivo de configuração e atualizará o setor de boot; na próxima inicialização do sistema as mudanças já terão efeito.

Se o arquivo /etc/lilo.conf não existir, provavelmente você não tem o lilo instalado ou, se tiver, o assistente de configuração nunca foi utilizado. Tente usar o comando # liloconfig para testar se esse utilitário existe. Se existir, o lilo está instalado mas não em uso. Se não existir, provavelmente você não tem o lilo no seu sistema e será necessário fazer o download dele para instalá-lo em seu sistema.

Após toda e qualquer mudança relativa ao LILO é necessário chamar o lilo para que ele atualize os dados no setor de boot; basta digitar lilo no prompt (como root). A saída do comando deve ser os nomes das opções de boot que você tem e uma delas será precedida por um asterisco (*), indicando que é a opção default de boot. A opção default é a que vem primeiro no arquivo de configuração do lilo, nesse caso a imagem Linux.

Problemas com o Lilo
Quando o LILO é carregado, ele apresenta a palavra "LILO". Cada letra é apresentada na seqüência de inicialização do lilo, portanto a presença das letras ou a falta delas indica os erros que estão ocorrendo na inicialização.

---- (nenhuma letra é apresentada e o boot pára ): Nenhuma parte do LILO foi carregada. O lilo pode não estar instalado ou a partição no qual o setor de inicialização está localizado não está ativa ou não foi encontrado esse setor de inicialização.

Provavelmente problemas na opção boot nos parâmetros do lilo.conf.

L--- (a letra L é apresentada e não é seguida por nenhuma outra): O primeiro estágio do carregador foi iniciado e executado, mas não foi possivel carregar o segundo estágio. Os códigos de erro com dois dígitos indicam o tipo de problema. Esta condição indica normalmente a falha na mídia (impossivel ler o setor onde estão gravados os dados do lilo) ou erro de geometria (parâmetros de disco incorretos). Leia mais em Pormenores do Lilo.
LI-- (as letras LI são apresentadas): O primeiro estágio foi capaz de carregar o segundo, mas falhou na sua execução. Isso pode ser causado por erro de geometria ou pela movimentação do /boot/boot.b sem a execução do instalador.
LIL- (as letras LIL são apresentadas): O segundo estágio conseguiu ser iniciado, mas não pode carregar a tabela de descritores do arquivo map. Isso normalmente é causado por falha na mídia (impossibilidade de ler o arquivo) ou erro de geometria.
LIL? (as letras LIL são apresentadas seguidas de uma interrogação (?)): O segundo estágio do LILO foi carregado para um endereço incorreto. Isso é tipicamente causado por erros de geometria ou pela movimentação do arquivo /boot/boot.b sem a execução do instalador.
LIL- (as letras LIL são apresentadas seguidas por um sinal de menos (-)): A tabela de descritores está corrompida. Isso pode ser causado por erros de geometria ou pela movimentação do arquivo /boot/boot.b sem a execução do instalador.
LILO (as letras LILO são apresentadas e o boot ocorre): Todas as partes do LILO foram carregadas corretamente, possibilitando o boot. Caso ocorra algum erro depois daqui, o erro estará na indicação dos parâmetros de imagem.
Caso o BIOS apresente algum erro quando o LILO estiver tentando carregar uma imagem de inicialização, o respectivo código de erro é apresentado. Estescódigos variam de 0x00 até 0xbb (códigos hexadecimais). Veja o Guia do Usuário LILO para maiores detalhes. Esses erros não são comuns e não serão abordados aqui.

Pormenores do LILO
Existe um problema de compatibilidade entre o lilo e discos muito grandes. Discos que tenham o setor de boot de um SO acima do cilindro 1024 normalmente causam problemas com o lilo.
Para resolver esse problema, instale o lilo abaixo desse cilindro, criando para isso partição de cerca de 5MB a 10MB no início do disco e instale o lilo nessa partição. Com isso você estará evitando os erros de geometria de disco que podem ocorrer com o lilo.

Recuperando o LILO
Se por acaso você tinha o lilo instalado e por algum motivo perdeu o lilo, você pode facilmente recuperá-lo (dependendo do caso).
Normalmente SO mal comportados, como é o caso do Windows 9X, NT, ME, 2000, sobrescrevem o setor de boot sem dar satisfação alguma sobre isso, portanto, acabam sobrescrevendo o lilo e este não mais podera gerenciar o boot da máquina.
Para fazer o lilo voltar a gerenciar o boot basta reescrever esse setor de boot. Para isso utilize um disco de inicialização do Linux e após, quando estiver no prompt de comando do Linux, logue-se como root no sistema e digite: # lilo . Seu problema deverá ser sanado sem maiores difuldades. Normalmente, se você tiver um outro boot manager, como é o caso do NT, após o lilo, ele continuará funcionando sem causar interferências no funcionamento deste.
Esse procedimento pode ser usado também caso seja executado o comando do DOS® C:\> fdisk /MBR . Apesar de não ser um comando documentado, várias pessoas o usam sem saber realmente para que serve. Com esse comando a MBR (Master Boot Record , ou Setor Principal de Boot) é sobrescrita e o lilo não mais funcionará.
Outros aplicativos também causam esse tipo de dano, como o Norton Utilities®.


 


Configurando um Cliente NFS

O processo de montagem de um disco remoto em uma máquina cliente é bastante semelhante ao processo de montar discos locais. Você poderá montar estes discos a partir da linha de comando, ou utilizar o Linuxconf para isso, que além de montar o disco irá modificar o arquivo /etc/fstab para que o disco seja montado automaticamente ao se iniciar o sistema.
Utilizando um terminal você poderá montar um disco usando o comando mount, como no exemplo abaixo:

# mount servidor.minhaorganizacao:/tmp /mnt/diversos


E-mail com anexo
Para mandar um e-mail com anexo utilizando o comando mail do bash, use a dupla uuencode/uudecode.
Para enviar, experimente:

$ uuenconde file.ext file.ext | mail -s subject user@domain

E quando receber salve a mensagem em disco e utilize o comando uudecode. Por exemplo, se o arquivo da mensagem chama-se exemplo_01:

$ uudecode exemplo_01



Particinar usando fdisk

.m Fornece uma lista dos comandos disponíveis
.p Fornece uma lista das informações da partição atual
.n Acresenta uma nova partição
.t Ajsuta ou muda o tipo da partição
.l Fornece uma lista dos tipos de partições diferentes e os seus números ID
.w Salva as suas informações e fecha o fdisk
.q Sai sem salvar qualquer mudança (útil quando você comete um erro)


Anotações :

Compilando o Kernel :
cd /usr/src/linux
make menuconfig ( alterações no Kernel )
make dep
make clean
make -j zImage &


Alterar configurações de rede :

/etc/sysconfig/network-script/ifcfg-eth0:0 ( ip )
/etc/network ( host )
/etc/hosts
/etc/resolv.conf


Serviços

/etc/services
/etc/rc.d/rc3.d/
/rcX.d/

DNS
/etc/resolv.conf
/etc/nsswitch.conf
/etc/hosts e host.conf

Segurança
/rc.d/rc.firewall - no rc.local
/etc/hosts.allow
/hosts.deny
/etc/inetd.conf

FTP:
apagar ou renomear usuário ftp - ( sem anonymous )
/etc/group
/passwd

Sendmail:
retirar && echo -bd da linha :
/etc/rc.d/init.d/sendmail
daemon /usr/sbin/sendmail $([ "$DAEMON" =3D yes ] && echo -bd) \=20
Syslog: ( logs do Sistema - incluir *.* p/ -/var/log/messages )
/etc/syslogd.conf
Repair FileSystem : Substituir sulogin
de /etc/rc.d/rc.sysinit por /bin/bash

# RAID1 Configuration File
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
chunk-size 4
device /dev/hdb1
raid-disk 0
device /dev/hdd1
raid-disk 1

# REINET ( restart of inetd services )
/root/reinet.sh &
# Start of sloohandbuild.pl scrip perl
su -c "/md0/estadao/perl-ptl/slookAndBuild.sh &" - estadao
# verificar static-routes


  Alguns exemplos de programas bash

AcessoNegado :
#!/bin/bash
chown donizeti:donizeti -R /home/audio/rato/
chmod 544 -R /home/audio/rato/
chmod 755 /home/audio/rato/
chown donizeti:donizeti -R /home/bkp/Captacao\ Dados/SS434/donizeti/
chmod 544 -R /home/bkp/Captacao\ Dados/SS434/donizeti/
chmod 755 /home/bkp/Captacao\ Dados/SS434/donizeti/
chown donizeti:donizeti -R /home/bkp/Newspaper/
chmod 544 -R /home/bkp/Newspaper/
chmod 755 /home/bkp/Newspaper/

BuscaDats :
#!/bin/bash
primeiro="0";
for lo in `ls /home/ftp/ | cut -c5-8`;
do
echo "O numero e: $lo";
log=`expr $lo + 0`;
if [ $primeiro = "0" ];
then
ma=$log;
me=$log;
primeiro="1";
fi
if [ $log -gt $ma ];
then
ma=$log;
else
if [ $log -lt $me ];
then
me=$log;
fi
fi
if [ $ma = $me ];
then
echo " Nao ha mais arquivo para deletar !! "
num=$ma;
num=`expr $num + 1`;
echo " Buscando a DAT-"$num".zip "
cd /home/ftp/
cp /home/donizeti/mail/4 /var/log/datfiles.log
wget ftp://ftp.nai.com/pub/antivirus/datfiles/4.x/dat-"$num".zip
chmod 777 /home/ftp/dat-"$num".zip
else
echo " Deletando arquivo ... "$me".zip "
rm -f /home/ftp/dat-"$me".zip
rm -f /home/ftp/dat-*.zip.*
rm -f /home/ftp/*"$me".upd
#wget "http://bcp.uol.com.br/portal/envia_digimemo.php?1&calculo=1025098636&numeroa=92652261&ddd=11&texto=DAT"$num" Atual?&contato=&senderb=McAfee:"
#wget "http://bcp.uol.com.br/portal/envia_digimemo.php?1&calculo=1025098636&numeroa=92652257&ddd=11&texto=DAT"$num" Atual?&contato=&senderb=McAfee:"
#wget "http://bcp.uol.com.br/portal/envia_digimemo.php?1&calculo=1025098636&numeroa=91162483&ddd=11&texto=DAT"$num" Atual?&contato=&senderb=McAfee:"
rm -rf /home/ftp/envi*
fi
done

CopiaSdat :
#!/bin/bash
cp /home/bkp/Captacao\ Dados/sdat* /var/www/html/SP/.

DesTravaPastas
#!/bin/bash
chmod 777 -R /home/audio/rato
chmod 777 -R /home/bkp/Captacao\ Dados/SS434/donizeti
chmod 777 -R /home/bkp/Newspaper
chown nobody:nobody -R /home/audio/filme/Preparando

EscondePastas
#!/bin/bash
chmod 744 -R /home/audio/rato
chmod 744 -R /home/bkp/Captacao\ Dados/SS434/donizeti/
chmod 744 -R /home/bkp/Newspaper

MercNews2
#!/bin/bash
y=`cat /home/redacao/MercNews.txt | grep 4.PC | cut -c1-2`
echo " O Resultado e " $y
if [ $y = NP ]
then
echo "Arquivo já encontra-se para ser enviado !"
date
echo " Enviando Mensagem de Aviso para Operação "
cat /home/redacao/MercNews.txt >> /home/redacao/mailaviso2.txt
cat /home/redacao/mailaviso2.txt | /usr/lib/sendmail -t
cp /home/redacao/mailaviso2.old /home/redacao/mailaviso2.txt
cp /home/redacao/MercNews.old /home/redacao/MercNews.txt
else
echo " Aguardando ... "
fi

MercNews
#!/bin/bash
p=`cat /home/redacao/MercNews.txt | grep 2.PC | cut -c1-2`
echo " O Resultado e " $p
if [ $p = ME ]
then
echo "Arquivo já encontra-se para ser enviado !"
date
echo " Enviando Send Novell de Aviso para Operação "
cat /home/redacao/MercNews.txt >> /home/redacao/mailaviso.txt
cat /home/redacao/mailaviso.txt | /usr/lib/sendmail -t
cp /home/redacao/mailaviso.old /home/redacao/mailaviso.txt
cp /home/redacao/MercNews.old /home/redacao/MercNews.txt
else
echo " Aguardando ... "
fi

Mnche
#!/bin/bash
ftp ftpnovell.agestado.com.br
USER .user.tecno.ae
PASS xxxxxxx

PrepBook
#!/bin/bash
#Antes de executar, importe do Notes o AdreessBook para o diretorio e salve como book
grep -a 'Short' book > book2
cat book2 | cut -c13-200 > book3
grep -a 'FullName: CN=' book > book4
cat book4 | cut -c15-300 > book5
cat book5 | cut -d/ -f1 > book6
mv book3 book2
mv book6 book1
chmod 777 book1
chmod 777 book2
#Apos, abrir os arquivo book1 e book2 no excell e salvar as duas colunas.
# by Amauri Nunes/Dony


TravaPastasPessoal
#!/bin/bash
chmod 744 -R /home/audio/rato
chmod 744 -R /home/bkp/Captacao\ Dados/SS434-Dony/donizeti
chmod 744 -R /home/bkp/Newspaper
chmod 744 -R /home/audio/dony
chown root:root -R /home/audio/filme/Preparando

TravaPastas
#!/bin/bash
chmod 744 -R /home/bkp


Ipchains


2. Ipchains
Com este tutorial, eu consegui fazer com que três pessoas que não entendem NADA de linux, criassem regras simples de ipchains, SEM OLHAR NOS MANUAIS!!! Não só isso, mas em tempo recorde, 30 min!

E você também, se ainda não entende nada sobre ipchains, em 30min eu garanto que você vai conseguir pegar as manhas.

Meu ponto de vista é o seguinte, não adiantaria nada se eu colocasse aqui linhas e mais linhas de configurações de ipchains com suas regras e explicações, a única coisa que você conseguiria fazer seria copiar, mas não conseguiria APRENDER o por quê daquilo e este seria apenas mais um documento sobre ipchains. <

Se você já tentou aprender o ipchains e não conseguiu, leia com atenção as linhas abaixo.

2.1 Início

Por quê, eu não consegui aprender o ipchains, mesmo lendo muitos documentos sobre o assunto?

Simples, porque você não tinha uma referência sobre o assunto, tudo que você viu hoje de receitas sobre ipchains ou dicas, eles davam tudo mastigado para você, mesmo explicando TUDO eles esqueceram de um pequeno detalhe, eles ensinavam o por quê, mas não o como.

Um outro ponto que eu acho fundamental é o canal de transmissão e recepção.

Veja, se uma pessoa fala chinês e o outro alemão ninguém entende se ninguém certo? Acontece o mesmo com a maioria dos documentos sobre linux que encontramos por ai, onde quem ensina não fala a mesma língua de quem quer aprender. Então, antes de mais nada, você precisa saber em que canal você esta sintonizado. Todo o ser humano possui trêscanais, Visual, Auditivo e Sinestésico.

A pessoa Visual "precisa VER para APRENDER", o Auditivo "precisa ESCUTAR para APRENDER" e o Sinestésico "precisa FAZER para APRENDER".

Então, neste documento, eu pretendo ser o mais claro possível, usando dois canais, o Visual e o Sinestésico.

Primeiramene tenha em mãos o ipchains-HOWTO pois ele tem as definições completas dos comandos do ipchains, pegue ele traduzido para o português aqui.

Como eu estava falando, você precisa ter a referência.

Antes de criar suas regras de ipchains você precisa fazer um mapa daquilo que você quer liberar ou fechar.

O rascunho nada mais é do que uma cópia do log do ipchains ( ipchains -L ) quando você cria uma regra, então guarde estas funções básicas:

-A cria nova rede de chains
-D apaga chains
-s source,de onde vem,cliente --> servidor
-d destino,servidor --> cliente
-j função,entre elas DENY,MASQ,REJECT etc
-p protocolo,tcp,udp ou icmp
input tudo que vai entrar
output tudo que vai sair

Estas são algumas funções que iremos trabalhar aqui, pois, você compreendendo este básico, o resto fica mais fácil depois.

Sempre que você for criar uma regra de ipchains ela sempre vai começar com:

ipchains -A (ou -D) input ( output ou forward )

O ipchains -A vai criar uma nova regra, se você usar a mesma regra com -D você apaga, o input é tudo que vai entrar no nosso sistema. Por exemplo, quando alguém de fora quer usar o ftp da sua rede, ele precisa ENTRAR ( IN ) primeiro certo? O output é o contrário, é tudo que vai SAIR ( OUT ) do seu servidor para o cliente. Por exemplo, quando um cliente requisita uma informação do seu servidor e você não quer que ele tenha tal informação. Pode ser usado com serviços também, como www, ftp, mail (pop) etc, eu vou explicar como, mais adiante.

Até aqui não foi difícil foi? Agora vamos continuar com as outras funções, seguido do exemplo acima:

ipchains -A input -p tcp ( udp ou icmp ) -s ip_da_onde_vem_o_pedido -d ip_de_destino -j DENY

Agora, -p tcp é o protocolo, este pode ser udp ou icmp. É importante que você saiba o que seja protocolos tcp, udp e icmp, você pode ter um exemplo dando uma olhada no /etc/services para ver que serviço que usa qual protocolo, mas eu recomendo uma leitura em livros como "Guia do Administrador de Redes", na página 429 e seguintes.

Ok, continuando, -s é o IP da onde vem a conexão, pode ser um IP da sua rede interna como também pode ser um IP da internet, o -d seria o destino, no caso o seu servidor, como pode ser um site de internet, -j é função DENY ( negar ).

Vamos a um exemplo mais específico: eu quero negar ( DENY ) o acesso ao meu servidor de ftp vindo de uma máquina de rede interna. Vamos as definições:

Servidor de ftp = 192.168.1.3
Cliente que vamos negar o acesso = 192.168.0.2

Então vamos criar uma regra de input, por quê input?
Porque, para usar os serviços de ftp do nosso servidor, nós precisamos entrar primeiro ( IN ). Funciona mais ou menos assim quando você vai usar o ftp:

Cliente: - entra e fala,Quero usar o ftp.
Servidor: - Seu nome ( login )?
Cliente: - Fulano
Servidor: -Senha?
Cliente:Ciclano

Entendeu? Muita gente ainda confunde input com output, misturando com as funções -s e -d.

Eu não quero que 192.168.0.2 acesse o servidor 192.168.1.3, então a regra ficaria assim:

ipchains -A input -p tcp -s 192.168.0.2 -d 192.168.1.3 ftp -j DENY

Veja que estamos negando ( DENY ) somente o IP 192.168.0.2, mesmo que ele tente se conectar o acesso vai estar barrado e assim vai ficar até dar o time out. Nós também podemos barrar toda a rede 192.168.0.* expecificando desta maneira:

ipchains -A input -p tcp -s 192.168.0.0/24 -d 192.168.1.3 ftp -j DENY

Então todos os IPs da Classe C que vai de 192.168.0.1 até 192.168.0.254 vão estar barrados. Você também pode trocar o 24 por 255.255.255.0 que significa a mesma coisa.

Uma coisa que não podemos esquecer é, sempre que possível, expecificar o -p ( protocolo ) e depois do -d ( destino ) o IP + a porta, no caso, o que eu escolhi foi o ftp, mas este também pode ser definido como número, ou seja, a porta 21.

E se eu quiser barrar TODOS de acessarem o meu servidor de ftp? Simples, você precisaria utilizar o 0.0.0.0/0 ou 0/0, se você vai barrar TODOS, como eu não sei qual IP que vai entrar para usar o ftp, então utilizando 0.0.0.0/0 fica universal ou qualquer IP.

Qual a diferença entre DENY e REJECT?

O DENY vai negar os pacotes conforme a especificação que você der, então quando o cliente tentar se conectar e o seu ipchains estiver configurado para negar ( DENY ), o cliente vai tentar,tentar até que acabe o tempo ( TIME_OUT ), ou seja, quem tentar se conectar vai saber que o serviço existe mas que ele não tem acesso.

O REJECT vai rejeitar os pacotes que forem enviados para determinada porta, depende da definição que você escolheu de que porta o ipchains vai rejeitar, então você não tem o TIME_OUT como no DENY, todo cliente que tentar se conectar vai receber uma mensagem de que o serviço não existe fechando a conexão logo em seguida.

2.2. Criando Regras

Como você pode ver, não tem muito segredo em trabalhar com ipchains, veja que, como eu disse, esta não é uma receita de "faça isso, faça aquilo"/, mas uma receita em que você vai aprender a fazer. Eu só dei um exemplo para que você tenha a noção e pegue a referência, depois que você pegou esta referência fica mais fácil de utilizar todas as funções do ipchains.

Então, para que possamos criar nossa primeira regra de ipchains sem olhar nos manuais, é muito importante que você planeje o que você quer que saia, entre etc. Isso mesmo planejar. Você precisa criar um mapa daquilo que você quer fazer, para implementá-lo depois, o mapa que eu utilizo é o próprio log do ipchains ( ipchains -L ). Veja um exemplo de uma regra que eu criei no arquivo ipchains-regras.txt que estava incluso no arquivo compactado que vcê puxou. De início vocês não vão entender nada, mas com as linhas seguintes você vai ver que tudo faz sentido. Seguindo o nosso mapinha, nós temos:

Chain input (policy REJECT)
Chain output (policy REJECT)
Chain forward (policy REJECT)


Que nós definimos com o comando:

ipchains -P input REJECT
ipchains -P output REJECT
ipchains -P forward REJECT

Esta lógica é baseada no tcpwraper ( /etc/hosts.allow /etc/hosts.deny lembra? )
Ou seja, nós fechamos TUDO e depois abrimos um a um. Tudo bem até aqui?

Entre cada chave ( Chain input, Chain output e Chain forward ), nós temos um conjunto de regras para o funcionamendo do nosso ipchains, então, seguindo o meu exemplo ( se você não viu ainda, veja agora o arquivo ipchains-regras.txt ), ele esta organizado desta maneira ( da esquerda para direita ):

target Função que sera usada
prot Protocolo
opt Opção
source De onde vem a conexão
destination Para onde vai a conexão
ports Porta de conexão


Já sabemos o que significa cada uma delas certo?

Agora quando eu vou criar algumas regras de ipchains, eu sempre me baseio nesta tabela de log do ipchains. Por exemplo, na regra que eu citei acima do ftp, eu a criei usando a tabela, veja:

target DENY
prot tcp
opt
source 192.168.0.2
destination 192.168.1.3
ports ftp ou 21


Nós fizemos nossa definição, agora nós a transformamos em comando:

ipchains -A input -p tcp -s 192.168.0.2 -d 192.168.1.3 -j DENY

Pegaram?? Lembra que que lá em cima eu falei que toda a regra começa com ipchains -A input ( output ou forward ) e depois as definições?

Viram, não tem segredo.

Se você olhar no meu mapa, verá que existem algumas funções com prot=all e ports=n/a, o log do ipchains apresenta estes dados quando você não especifica o -p e a porta ao lado do IP do destino ( -d ).

Ex em Chain input (policy REJECT) primeira linha:

ipchains -A input -s 192.168.0.2 -d 192.168.1.3 -j ACCEPT

Os nomes que estão lá foram resolvidos pelo ipchains,mas onde lista:

ws-111202.wtulinux.co.jp é o IP 192.168.0.2
server.wtulinux.co.jp é o IP 192.168.1.3

Fácil não? Masvocê acha que ainda não consegue?? Humm.

Eu mostrei uma regra, agora é a sua vez! Por favor preste MUITA atenção, se você esta querendo APRENDER mesmo como trabalhar com o ipchains siga as regras abaixo, e OBEDEÇA!!! Isso é muito importante, no /etc/sysconfig/network apague os dados do GATEWAY e GATEWAYDEV para que você não tenha problemas com o ipchains -L e faça
/etc/rc.d/init.d/network restart, vamos lá:

1) Faça de conta que só exista o protocolo tcp.
2) Vamos imaginar que só exista o serviço de telnet ( porta 23 )
3) O IP do nosso cliente é ( coloque o ip do seu )
4) O IP do servidor é ( coloque o ip do seu )
5) Pegue um PEDAÇO DE PAPEL e um LÁPIS ( editor de TEXTO do Windows ou Linux NÃO SERVE ) e faça uma tabela parecida com a tabela do log do ipchains e preencha com os dados de 1 a 4.
6) Crie um regra de input ( NO PAPEL )
7) Transforme a tabela em comando ( NO PAPEL ).
8) Passe os comandos criados para o linux.
9) Faça ipchains -L e verifique as regras que você acabou de criar.
10) Troque o serviço por www ( porta 80 ) na opção 2 e faça a mesma coisa ( NO PAPEL depois passe para o linux )

Não foi tão difícil assim foi?? Ou será que foi muito fácil??

Veja que é importante que você não olhe nos exemplos, explicados aqui ou em qualquer outro lugar, crie a sua regra, usando somente o seu mapa. Creio que você poderá criar suas regras de ipchains depois que você pegou esta referência.

Espero que vocês tenham gostado desta receita e que vocês tenham aprendido como pelo menos criar suas próprias regras de ipchains, o que você precisa agora é voltar para o ipchains-howto e aperfeiçoar suas técnicas e conhecimentos, saber quais serviços utilizam quais portas e protocolos.

Não se esqueça de SEMPRE utilizar o mapa, pelo seguinte motivo, se você fizer as coisas organizadamente, sempre vai ficar mais fácil de localizar possiveis problemas, quem já não tentou utilizar configurações de ipchains de terceiros e se deparou com vários problemas do tipo, serviço x não funciona ou não consigo utilizar y depois que eu ativei o ipchains.

Entre vários outros, para estes e outros problemas eu recomendo que você dê uma olhada em outra receita, um pouco mais avançada, para resolver certos problemas que encontramos no ipchains.

Comentários são bem vindos!!!!


  Formatando partições

Sugestão de tamanho de partição :

Tipo de Partição
Tamanho Mínimo
Tamanho Sugerido
/
80 Mb
100Mb - 200Mb
/usr
850Mb
850+ aplicações e doctações
/var
22Mb
50Mb
Espaço de página
0 Mb
Até 2.047Mb

 

Criar discos de inicialização

Boot.img ( criar disco de inicialização )
Supp.img ( criar disco suplementar )
Bootnet.img (criar disco boot via net )
Drivers/img (criar disco de drivers )

Obs: Para produzir os discos em MS-DOS, vocÊ precisa usar os commando a seguir. Considerando que o CD-Rom já esta configurado e a unidade é d:

D:
Cd \images
\dosutils\rawrite.exe
(digite boot.img , supp.img , drivers.img, bootnet.img .....)


Obs: Para produzir os discos no linux.

. dd if=boot.img of=/dev/fd0 bs=1440k

Como usar Loadlin.exe para inicializar o linux

O LOADLIN.EXE é um programa que usa o MBR do DOS para inicializar o linux. Esse programa pr'tico de Hans Lermen também passa opções de núcleo. O LOADLIN.EXE é muito útil quando você precisa inicializar do DOS para iniciar de forma apropriada modems ou placas de som para falê-los funcionar no linux.

Você precisa fazer duas coisas antes de usar LOADLIN.EXE:
1. Copiar LOADLIN.EXE para uma partição do DOS
2. Colocar uma cópia da sua imagem do núcleo (/vmliniz) na sua partição do DOS.
Por exemplo, digite o seguinte na linha de comando do DOS para inicializar o Linux:

. loadlin c:\ vmlinuz root= /dev/hda3 ro

Certifique-se de Ter inserido a sua partição raiz na linha de comandos. O ro
Significa read-only (somente para leitura). Quando você estiver inicializando a sua partição Linux pela primeira vez, ela deve ser montada como somente para leitura para evitar a perda de dados.


Como usar o comando xf86cfg

O comando xf86cfg é um novo cliente inckuindo com X11 da distribuição Xfree86 que você pode usar para configurarar o X11. O comando lançara uma sessão X11 usando o controlador de janela twm e mostrará uma interface gráfica para ajustar o seu arquivo XF86Config. Você pode lançar o cliente usando a linha de comando assim:

# xf86cfg

Depois que você pressionar Enter, a tela limpará e você verá (ou não ) um diálogo que poderá usar para configurar vários componentes. Observe que esse cliente é um "trabalho em andamento"; se funciona em seu computador, ótimo! Se não, tente usar em método diferente para configurar o seu XF86Config. O comando xf86cfg, tal como o servidor Xfree86, criará um arquivo chamado XF86Config.new no diretório /root.


Como usar o comando xf86config

O Xfree86 também vem com uma versão melhorada de seu comando legado de configuração, o xf86config, encontrado no diretório /usr/X11R6/bin. Esse comando funciona da linha de comando de seu console ou de uma janela terminal do X11. Inicie o comando assim:

# xf86config

Depois de pressionar Enter, você verá:

This program will create a basic XF86Config file, based on menu selections you
make.

The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample
XF86Config file is supplied with XFree86; it is configured for a standard
VGA card and monitor with 640x480 resolution. This program will ask for a
pathname when it is ready to write the file.

You can either take the sample XF86Config as a base and edit it for your
configuration, or let this program produce a base XF86Config file for your
configuration and fine-tune it.

Before continuing with this program, make sure you know what video card
you have, and preferably also the chipset it uses and the amount of video
memory on your video card. SuperProbe may be able to help with this.

Press enter to continue, or ctrl-c to abort.


Pressione Enter novamente. Você então obterá a tela de configuração do mouse, que contém esse texto:


First specify a mouse protocol type. Choose one from the following list:

1. Microsoft compatible (2-button protocol)
2. Mouse Systems (3-button protocol)
3. Bus Mouse
4. PS/2 Mouse
5. Logitech Mouse (serial, old type, Logitech protocol)
6. Logitech MouseMan (Microsoft compatible)
7. MM Series
8. MM HitTablet
9. Microsoft IntelliMouse
If you have a two-button mouse, it is most likely of type 1, and if you have
a three-button mouse, it can probably support both protocol 1 and 2. There are
two main varieties of the latter type: mice with a switch to select the
protocol, and mice that default to 1 and require a button to be held at
boot-time to select protocol 2. Some mice can be convinced to do 2 by sending
a special sequence to the serial port (see the ClearDTR/ClearRTS options).

Enter a protocol number: 4


Como pode var, você tem uma escolha de nove ponteiros diferentes. Se você usa um mouse USB, não se preocupe! Você ainda pode configurar o X11 para usar o seu ponteiro. Por enquanto, digite um número correspondente ao seu ponteiro e pressione Enter. Você é perguntado se quer uma emulação de três botões:

If your mouse has only two buttons, it is recommended that you enable
Emulate3Buttons.
Please answer the following question with either 'y' or 'n'.
Do you want to enable Emulate3Buttons? Y

Now give the full device name that the mouse is connected to, for example
/dev/tty00. Just pressing enter will use the default, /dev/mouse.

Mouse device:

Se você tiver um ponteiro deferente, digite o nome de seu dispositivo do diretório /dev e pressione Enter. O comando xf86config segue em frente e pergunta sobre sua escolha de teclados:

Please select one of the following keyboard types that is the better
description of your keyboard. If nothing really matches,
choose

1 (Generic 101-key PC)
2 Generic 102-key (Intl) PC
3 Generic 104-key PC
4 Generic 105-key (Intl) PC
5 Dell 101-key PC
6 Everex STEPnote
7 Keytronic FlexPro
8 Microsoft Natural
9 Northgate OmniKey 101
10 Winbook Model XP5
11 Japanese 106-key
12 PC-98xx Series
13 Brazilian ABNT2
14 HP Internet
15 Logitech iTouch
16 Logitech Cordless Desktop Pro
17 Logitech Internet Keyboard
18 Compaq Internet
19 Microsoft Natural Pro
20 Genius Comfy KB-16M
21 IBM Rapid Access
22 IBM Rapid Access II
23 Chicony Internet Keyboard

Enter a number to choose the keyboard. 1

Depois de escolher um teclado, o xf86config então o pede para escolher um país (ou idioma) para o teclado:

1 U.S. English
2 U.S. English w/ISO9995-3
3 U.S. English w/ deadkeys
4 Armenian
5 Azerbaidjani
6 Belarusian
7 Belgian
8 Brazilian
9 Bulgarian
10 Canadian
11 Czech
12 Czech (qwerty)
13 Danish
14 Dvorak
15 Estonian
16 Finnish
17 French
18 Swiss French

Enter a number to choose the country.
Press enter for the next page

Se você não vê seu país listado, pressione Enter novamente:

19 German
20 Swiss German
21 Greek
22 Croatian
23 Hungarian
24 Icelandic
25 Israeli
26 Italian
27 Japanese
28 Lithuanian qwerty "numeric"
29 Lithuanian azerty standard
30 Lithuanian qwerty "programmer's"
31 Latvian
32 Macedonian
33 Norwegian
34 Polish
35 Portuguese
36 Romanian

Enter a number to choose the country.
Press enter for the next page
8

Após escolher o seu idioma, você será então apresentado a uma pequena tela de introdução antes de ser perguntado pelas especificações de seu monitor.
I am going to write the XF86Config file now. Make sure you don't accidently
overwrite a previously configured one.

Do you want it written to the current directory as 'XF86Config'?
Please give a filename to write to: dony
File has been written. Take a look at it before running 'startx'. Note that
the XF86Config file must be in one of the directories searched by the server
(e.g. /etc/X11) in order to be used. Within the server press
ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl,
alt and backspace simultaneously immediately exits the server (use if
the monitor doesn't sync for a particular mode).

For further configuration, refer to the XF86Config(5) manual page.

Finalmente, se você não quiser usar o Xconfigurador, o xf86cfg ou xf86config para gerar um arquivo XF86Config, pode criar o seu próprio. Você vai encontrar um arquivo de modelo, XF86Config.eg, no diretório/usr/X11R6/X11. Copie esse arquivo para o seu diretório e edite-o no seu editor de texto favorito, inserindo especificações para o seu sistema e servidor X.


Linux e Controle dos seus serviços

O linuxconf pode ser usado não só interativamente, mas também da linha de comandos. Os comandos relacionados a seguir ( e talvez outros quando você estiver lendo isto ) serão encontrados no seu sistema de arquivos depois que você instalar o linuxconf ( parte do Red Hat desde a versão 5.1 ) :

· Dnsconf - Um utilitário que pode ser usado para configurar um servidor de nome de domínio.
· Fixperm - Um utilitário que verifica as permissões do arquivo do sistema.
· Fsconf - Um utilitário que manipula a tabela do sistema de arquivos, /etc/fstab.
· Mailconf - Um utilitário que configura o daemon sendmail
· Netconf - Um utilitário de configuração dos serviços TCP/IP.
· Userconf - Configuração de usuário e de grupo (para acrescentar ou excluir usuários e grupos) cada programa é um link simbólico para o linuxconf. Por exemplo, para excluir o usuário cloobie da linha de comandos, use o link simbólico do linuxconf userconf:

# userconf - -deluser cloobie

O comando linuxconf também ajudará você a iniciar e interromper programas apropriadamente no linux, enquando o sistema estiver sendo executado. Apesar de você poder "matar" os programas seletivamente com o código a seguir, onde o pid é o nome do processo que está sendo executado, esta é uma forma rude, ineficaz e potencialmente prejudicial de interromper processo e sistemas de serviços.

# kill -9 pid

Entretando, baseado nas informações que você já aprendeu até aqui sobre os scripts init, você pode usar o seguinte método para o servidor da web httpd (como exemplo) :

# /etc/rc.d/init.d/httpd.init stop

Ambos são métodos manuais, mas os comandos da Red Hat tiveram bastante trabalho para tomar a dministração de sistemas mais fácil, então por que não tirar vantagem da comodidade do menu? Quando você usa o linuxconf, pode ver de uma vez quais processos vão estar validados ou invalidados.


Como criar um disco de inicialização

Uma das coisas mais importantes a fazer durante a instalação do seu Red Hat Linux é criar um disco de inicialização. Você deve Ter sempre à mão uma cópia que funcione.
Se você pulou a criação do disco de inicialização, não se preocupe! Por você ser um usuário do Red Hat Linux, encontrará o comando acessível mkbootdisk para criar um disco de inicialização emergencial que você possa usar para inicializar o Linux, no caso do LILO ou do seu controlador de inicialização ser apagado.
Primeiro, faça o login como o operador root. Depois, use o comando uname com o -r, ou número do lançamento, opção na linha de comando do seu console ou da janela terminal do X11 assim:

# uname -r
2.2.16-22

Como você pode ver, o uname retornou 2.2.16-22 como o número de lançamento do núcleo do Linux que está sendo executado atualmente. Depois, use mkbootdisk com a sua opção -device, seguida do nome do dispositivo na sua unidade de disco flexível e o número de lançamento do seu núcleo do Linux retornado pelo comando uname:

# mkbootdisk -device /dev/fd0 2.2.16-22

Insira um disquete em branco e pressione a tecla enter. Você então vê isto:
Insert a disc in /dev/fd0. Any information on the disk will be lost.
Press <Enter> to continue or ^C to abort:

Pressione Enter para criar o disco de inicialização. Quando o comando terminar, remova o disquete, coloqeu uma etiqueta nele e coloque-o em um lugar seguro.


Como montar compartilhamento em um cliente

Para facilitar ainda mais sua vida, o comando smbclient permite que você monte um compartilhamento do Samba em um diretório local. Para experimentar isso, crie um diretório /mnt/test na sua estação de trabalho local. Agora, execute o seguinte comando como usuário root ou entre aspas no final de um comando su -c:

# mount -t smbfs //192.168.100.1/homes /mnt/test -o username=myuid,dmask=777,fmasks=777

Esse comando é um comando smbmount, mesmo que se assemelhe a um comando mount comum. O -t smbfs diz ao comando para chamar smbmount para fazer o trabalho. O comando precedente garante todos os diretos a qualquer um, via argumentos dmasks= e fmasks=. Esses argumentos podem ser ajustados para darem acesso adequado.

Nota A sintaxe do comando smbmount mudou extensivamente, desde a versão distribuída com o Red Hat 6. Executar smbmount sem argumentos oferece um excelente guia da sintaxe.

Uma outra sintaxe é a seguinte:

# smbmount //192.168.100.1/homes /mnt/test -o username=myuid,dmask=777,fdmask=777

Isso chama smbmount diretamente, mas a sintaxe usando o comando mount do Linux é preferível.




 

 

 

 

 

Hosted by www.Geocities.ws

1