|
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
|
|
|
09
|
kill
|
43
|
|
|
Comando de disco
|
44
|
||
|
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.