quarta-feira, 28 de novembro de 2012

Linux - Informações detalhadas do disco

Eae pessoal!

Essa semana precisei ver o tamanho de cada bloco de alocação de uma partição no linux! Achei na net o comando abaixo:

dumpe2fs partição

Ex:

dumpe2fs /dev/sda1 |more  ou   dumpe2fs /dev/mapper/VG01-LV03 |more

Obs: o "|more" é para ele travar no inicio e tu ir passando as paginas aos poucos.

Resultado


Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          9c2f0396-b3d3-48fd-ae90-786226c709bd
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              26836992
Block count:              26828800
Reserved block count:     1341440
Free blocks:              19138731
Free inodes:              26836874
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      1017
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         32768
Inode blocks per group:   1024
Filesystem created:       Tue May 11 15:17:24 2010
Last mount time:          Mon Jun 25 16:34:03 2012
Last write time:          Mon Jun 25 16:34:03 2012
Mount count:              50
Maximum mount count:      -1
Last checked:             Tue May 11 15:17:24 2010
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Journal inode:            8
Default directory hash:   tea
Directory Hash Seed:      3efcdca8-2216-4cb4-80e0-ad34c8441b35
Journal backup:           inode blocks
Journal size:             128M

É isso aí!

Feito!

segunda-feira, 15 de outubro de 2012

Linux - Adicionando novo HD

Eae pessoal! Tudo blz?

Hoje vamos adicionar um HD novo no linux!

Esse HD pode ser SATA, IDE, SCSI ou qualquer outro desde que seja reconhecido pelo Hardware, Bios e Sistema Operacional.

No caso abaixo tenho um novo hd de 80Gb.

Primeiramente vamos dar o comando: fdisk -l que irá mostrar todos os discos que tenho disponíveis no meu   CentOs.

Vejam que o disco que estou adicionando é o /dev/sdc





















Agora com o comando fdisk /dev/sdc vamos iniciar a configuração do HD.
O cursor vai parar ali onde diz "Comando (m para ajuda):"
Se você digitar o "m" vai aparecer uma lista de comandos disponíveis, neste caso vamos digitar "n" para criar uma nova partição.



Agora ele está perguntando se será uma partição estendida ou primária. Nesse caso vou adicionar uma partição primaria, então vou digitar "p".

Depois ele pergunta qual o número da partição para este disco, como o disco está zerado e esta será nossa primeira partição, podemos digitar "1".

Depois ele pergunta qual o primeiro e ultimo cilindro que você quer utilizar para esta partição, como vou utilizar o tamanho total do disco vou deixar os parâmetros default. Se você quer criar varias partições neste disco, por exemplo se queres duas partições de 40Gb cada, deverá informar Primeiro Cilindro = 1 e Ultimo Cilindro = 5221 que é a metade do total de cilindros. Depois quando for criar a outra partição, seu Primeiro Cilindro será = 5222 e o Último cilindro será = 10443.





















Depois de criado a partição o cursor para novamente em "Comando (m para ajuda):". 
Aqui vou digitar "w" para gravar a tabela de partições no disco e sair.



Agora precisamos formatar o disco, nesse caso vou formatar em ext3.

Comando: mkfs.ext3 /dev/sdc

Aguarde o processo até ser finalizado.
Obs: Pode demorar bastante, depende do tamanho do disco.





















Agora vamos montá-lo em nossa estrutura de diretórios. Você pode criar um /dados por exemplo e montar o disco nele. Foi o que fiz, dei um mkdir /dados para criar o diretório e montei o /dev/sdc em cima dele.

Comando: mount -t ext3 /dev/sdc /dados





















Apenas montar o disco manualmente não resolve, pois, se você reiniciar o sistema linux a montagem irá se desfazer. Então vamos editar o arquivo /etc/fstab e na última linha adicionar a configuração que fará o disco ser montado na inicialização do linux.

Linha adicionada no arquivo: /dev/sdc /dados ext3 defaults 1 2

Obs: Respeite as tabulações, ou seja, use o Tab entre um parâmetro e outro, como na imagem abaixo.






















É isso aí pessoal! Disco adicionado!

Barbada não?!?!?!?!

Um abraço!

quarta-feira, 26 de setembro de 2012

Desativar Ctrl + C nas conexões de Terminal Server

Eae pessoal,

Essa semana precisei desativar o Ctrl + C nas conexões com Terminal Server nos servidores 2003 e 2008. Nunca precisei fazer essa configuração, então não sabia como. Mas uma breve olhada nas configurações do RDP e encontrei a solução. Segue abaixo:

Windows Server 2003

Acesse Iniciar > Administrative Tools > Terminal Services Configuration


















Clique com o direito em RDP-Tcp e depois Propriedades.










Na guia Client Settings marque a opção "Clipboard mapping"

Clique em OK e as próximas conexões ao Terminal Server não conseguirão usar o recurso Copiar Colar de sua maquina para o Terminal.



















Windows Server 2008

Acesse Iniciar > Administrative Tools > Remote Desktop Services > Remote Desktop Session Host Configuration.













Clique com o direito em RDP-Tcp e depois Propriedades










Na guia Client Settings marque a opção "Clipboard"

Clique em OK e as próximas conexões ao Terminal Server não conseguirão usar o recurso Copiar Colar de sua maquina para o Terminal.





















Observem que também nesta tela temos a opção de bloquear as portas LTP, COM, as impressoras, suporte as impressoras, etc.

É isso aí pessoal! Até a próxima!

terça-feira, 28 de agosto de 2012

Linux - Lentidão para logar no SSH

Eae pessoal,

montei um servidor com CentOs 6.2 a uns dias atrás e estava encafifado com a demora para logar nele via SSH, então aí vai a dica:

Edite o arquivo /etc/ssh/sshd_config

Adicione a linha: UseDNS = no

Salve o arquivo.

De um restart no ssh: /etc/init.d/sshd restart

Pronto, vai logar normalmente!

Vlw

quinta-feira, 23 de agosto de 2012


Olá pessoal,

abaixo segue um arquivo do samba "smb.conf" feito no CentOs6.2, com este arquivo você tem:

* Domínio
* Troca de senha do usuário pelo Windows
* Script de logon
* Log de auditoria
* Compartilhamento de arquivos
* Lixeira


#******CONFIGURACOES DO SAMBA******

[global]
        #Grupo de trabalho ao qual o servidor pertence
        workgroup = HOERLLE

        #Nome do servidor, atraves do qual sera identificado na rede Windows
        netbios name = PDC

        #String de identificacao do servidor: NAO AFETA EM NADA AS CONFIGURACOES
        server string = Servidor PDC

        domain master = yes
        domain logons = yes

        #Script de inicializacao que os usuarios utilizarao ao logar no dominio
        logon script = netlogon.bat

        #Se estiver configurando o servidor como controlador de dominio a opcao deve ser "USER"
        security = user

        #Encrypt passwords deve estar ativado para conversar com maquinas windows, pois as mesmas usam criptografia desde a versao Windows 95 OSR/2 e Windows NT4 SP3
        encrypt passwords = yes

        #Clientes poderao trocar sua senha de login
        password sync = yes

        enable privileges = yes

        #Base de dados com as senhas dos usuarios que serao utilizados. O recomendado para nosso dominio samba em uma rede com muitos usuarios  e o TDBSAM.
        #Em casos onde nao estamos utilizando um dominio pode ser utilizado o backend "SMBPASSWD"
        #Para verificar os usuarios cadastrados na base TDBSAM de o comando "pdbedit - Lw" no linux.
        #Em casos onde usamos o LDAP o nosso paramaetro aqui sera o "ldapsam"
        passdb backend = tdbsam

        # Level para ganhar a "eleicao" para ser o "mestre" a montar e atualizar a lista de compartilhamentos disponiveis e envialas aos demais recursos da rede.
        # Os clientes Windows tambem fazem esse trabalho, definindo este valor como 100 o Samba sempre ganhara a eleicao das maquinas WIndows.
        # O samba faz este trabalho muito bem e por isso normalmente definimos para ele fazer essa tarefa.
        # Obs importante: Nunca colocar dois servidores samba na rede com o mesmo OS Level e a opcao Preferred Master ativada, eles iniciarao uma disputa fazendo com
        #que a rede fique intermitente.
        os level = 100

        # Usando o mesmo criterio acima, quando a opcao local master esta como "YES" isso faz com que o samba convoque uma nova eleicao sempre que ele achar
        #necessario para defender sua "candidatura".
        local master = yes

        #Ainda no mesmo criterio acima se a opcao "preferred master" estiver ativada, no caso de um empate na "eleicao" o servidor samba sera escolhido
        preferred master = Yes

        #Deixar ativada para o samba atuar como servidor Wins.
        #Wins e um protocolo auxiliar dentro das redes microsoft responsavel pela navegacao na rede, listagem de compartilhamentos, etc
        #A rede vai funcionar bem sem WINS mas sem ele os clientes passam a usar pacotes de broadcast para navegacao aumentando o trafego na rede.
        #E necessario configurar os clientes para utilizar o servidor Wins. No Windows e feito nas avancadas do TCP IP
        #Se tiver um servidor DHCP e possivel parametrizar para enviar a configuracao do WINS automaticamente
        #No linux para configurar um cliente basta add a opcao "WINS SERVER = IP DO SERVIDOR" na configuracao do SAMBA.
        wins support = Yes

        #A opcao "wins server" deve ser deixada em branco a menos que tenha outro servidor Wins na rede.
        wins server =

        #Limita para o samba ser acessado apenas pela(s) placa de rede selecionada
        interfaces = eth1
        bind interfaces only = yes

        #Ao logar no dominio ele pode procurar um perfil remoto, se deixarmos o logon path em branco ele cria um diretorio local no windows para o usuario de dominio
        logon path =

        #Com estas opcoes ativadas, ao alterar a senha de um usuario com o "smbpasswd" automaticamente ele altera a senha do usuario local no linux como se voce desse tambem um "passwd"
        #unix password sync = yes
        #passwd program = /usr/bin/passwd %u
        #passwd chat = "Changing password for*\nNew password*" %n\n "*Retype new password*" %n\n"

        #A opcao abaixo faz o linux testar ate X niveis o usuario digitado para autenticar no samba. Acontece que o linux nao é case sensitive como o Windows.
        #Desta maneira se o usuario no linux tiver a primeira letra minuscula e no windows for digitado com ela em maiusculo dara erro
        #Como exemplo a nossa opcao esta setada para 2 e o teste do usuario "vini" ficaria assim "VIni" "vINi" "Vini" "vInI"
        #username level = 2

        #Essas duas linhas fazem o servidor salvar os arquivos nos diretorios todos com letras minusculas, agilizando assim a busca devido a problemas case sensitive.
        #preserve case = no
        #default case = lower

        #Esta opcao deve incluir a faixa de IP ou os Ip's dos computadores que podem acessar o servidor
        #Se for definir uma faixa inteira pode digitar apenas 192.168.30 ou 10.1.1 por exemplo

        #hosts allow = 192.168.30

        #Esta opcao faz o contrario da opcao acima, aqui voce pode dizer quais maquinas nao podem acessar o servidor

        #hosts deny = 192.168.30.90

        #******AUDITANDO ACESSOS NO LINUX******
        #A partir da versao SAMBA 3.04 podemos utilizar desta forma
        #A configuracao abaixo pode ser usada na sessao GLOBAL para pegar todos os compartilhamentos ou na configuracao de cada compartilhamento
        #Apos fazer toda a configuracao abaixo e necessario ainda editar o arquivo /etc/syslog.conf e add a linha: local5.notice /var/log/samba-full_audit.log
        #Ativa a auditoria
        vfs objects = full_audit

        #Define quais operacoes serao auditadas
        full_audit:sucess = open, opendir, write, unlink, rename, mkdir, rmdir, chmod, chown

        #Onde cada opcao se trata de:

       
        #open = ler um arquivo
        #opendir = ver os arquivos dentro de uma pasta
        #write = alterar um arquivo
        #unlink = deletar um arquivo
        #rename = renomear um arquivo
        #mkdir = criar um diretorio
        #rmdir = remover um diretorio
        #chmod = alterar as permissoes de acesso de um diretorio
        #chown = mudar o dono de um arquivo

        #Define as informacoes que serao incluidas no log
        full_audit:prefix = %u|%I|%S

        #Onde cada opcao se trata de

        #%u = Nome do usuario. %I = IP do computador. %S = Nome do compartilhamento onde foi feito a acao.

        #Evita que um grande volume de mensagens de alerta sejam logadas
        full_audit:failure = none

        #Configura o nivel dos alertas
        full_audit:facility = local5
        full_audit:priority = notice

#******COMPARTILHAMENTO DE ARQUIVOS ******
#Algumas opcões que podem ser utilizadas

#path = /dados #Caminho do diretorio a ser compartilhado
#comment = Arquivos #Comentario sobre o diretorio
#read only = yes/no #Diretorio sera ou nao apenas para leitura
#hosts allow = #Aqui voce coloca os IP's ou faixa de Ip's que terao acesso a esse compartilhamento, obs. Se definido este parametro na secao GLOBAL, vale o da GLOBAL.
#hosts deny = #Aqui voce coloca os IP's ou faixa de IP's que nao terao acesso a esse compartilhamento, obs. Se definido este parametro na secao GLOBAL, vale o da GLOBAL.
#browseable = yes/no #Define se o compartilhamento sera visivel na rede ou sera oculto
#available = yes/no #Define se o compartilhamento esta ou nao ativo
#writable = yes #Define permissao de leitura e escrita para o compartilhamento
#valid users = usuario, +grupo #Ao definir esta opcao todos os outros usuarios e grupos que nao estiverem aqui listados, nao terao acesso ao compartilhamento
#invalid users = usuario, +grupo #Funciona da mesma forma que "valid users" porem ao contrario.
#write list = joao #Se voce definir o grupo "arquivos" no valid users, o joao faz parte desse grupo e como apenas ele esta no write list, so ele vai poder alterar os arquivos
                   #Para usar esta opcao, a opcao writable deve estar setada como NO


[netlogon]
        comment = Servico Logon
        path = /var/samba/netlogon
        browseable = No

[dados]
        comment = Dados
        path = /dados
        browseable = yes
        write list = vinicius
       
        #Ativa a lixeira do samba
        vfs object = recycle
        #Define o diretorio onde serao jogados os arquivos deletados, nesse caso utilizamos o parametro %U para criar um diretorio para cada usuario com seus arquivos deletados.
        recycle:repository = /dados/lixeira/%U
        #Organiza os arquivos deletados da mesma forma como estavam dentro do diretorio original
        recycle:keeptree = yes
        #Evita que os arquivos com estas extensoes sejam guardados na lixeira
        recycle:exclude = *.iso, *.avi, *.divx
        #Evita que os diretorios listados sejam guardados na lixeira
        recycle:exclude_dir = tmp
        #Guarda varias versoes do mesmo arquivo deletado. Ex: samba1.txt samba2.txt samba3.txt
        recycle:versions = yes

#OBS: Caso deseje ativar a lixeira para todos compartilhamentos, pode-se definir sua configuracao na sessao GLOBAL.


#*********************OUTRAS CONFIGURACOES**********************#
#Com a configuracao acima, basta reiniciar o servidor samba que seu dominio estara criado. Porem ainda precisamos cadastrar a conta root no samba, criar os usuários que pertencem a esse domínio e também é necessário criar uma conta bloqueada para cada computador que adicionaremos aqui.
#Precisamos ainda criar o diretorio "Netlogon" onde ficara o arquivo de incializacao dos usuarios e o diretorio profile.pds. O profile.pds é onde o Windows armazena as informacoes de sessão cada vez que o usuário loga no dominio
#Precisamos adicionar no arquivo /etc/shells a linha: /bin/false

#Para cadastrar a conta root no samba
#smbpasswd -a root

#Para criar o diretorio profile.pds
#Vamos cria-lo dentro de /etc/skel/ assim automaticamente sera criado para cada usuario
#mkdir /etc/skel/profile.pds

#Para criar o diretorio netlogon
#mkdir -p /var/samba/netlogon
#chmod 775 /var/samba/netlogon

#Edite o arquivo /etc/shells e adicione a linha "/bin/false" sem as aspas

#Para cadastrar usuarios de dominio
#adduser vinicius
#smbpasswd -a vinicius

#Para cadastrar a conta de maquina que quer entrar no dominio
#useradd -d /dev/null -s /bin/false WINXP$
#passwd -l WINXP$
#smbpasswd -a -m WINXP

#ONDE -d /dev/null significa que a conta nao tem um diretorio HOME
#-s /bin/false significa que nao possui um shell valido
#passwd -l significa que esta travada
#-m significa que e uma conta de maquina

#Crie dentro de /var/samba/netlogon o arquivo netlogon.bat
#Nesse arquivo voce pode configurar para mepar uma unidade por ex. quando o usuario fizer logon no dominio
#net use X: \\192.168.0.10\dados /yes

#***********************OUTRAS OBSERVACOES************************#
#Se voce estiver com o SELINUX e/ou IPTABLES ativado e nao configurados corretamente, pode ocorrer uma falha ao add um computador no dominio. Isso ocorre devido ao bloqueio gerado por uma das duas ferramentas.



segunda-feira, 2 de julho de 2012

Linux - Servidor proxy

Eae pessoal!!

Se você está precisando compartilhar a conexão de internet entre vários computadores e ainda assim manter um controle de acesso, você está precisando de um servidor proxy. Além de fazer o controle dos acessos por horário, login, ip da estação, etc, podemos usá-lo para gerar um cache das páginas, acelerando o acesso aos endereços. Por exemplo: O computador X solicita um site na internet, se o mesmo já estiver em cache no servidor o site será entregue sem que precise consumir banda do seu link.


Então, vamos instalar e configurar o "Squid" que é o serviço no linux mais utilizado para fazer o trabalho de "Proxy".

#Instale o serviço:
yum install squid.x86_64


#Após instalado configure para iniciar automaticamente
chkconfig squid on


#Caminho do arquivo de configuração
/etc/squid/squid.conf


Renomeie este arquivo para "squid.conf.ori", assim você mantém o arquivo original. Use o editor de sua preferência e crie um novo arquivo "squid.conf" que é onde faremos toda a configuração do servidor proxy.


Adicione no arquivo os seguintes comandos:

http_port 3128
visible_hostname Servidor_Proxy


cache_mem 256 MB
maximum_object_size_in_memory 128 KB
maximum_object_size 1024 MB
minimum_object_size 0 KB
cache_swap_low 80
cache_swap_high 90
cache_dir ufs /var/spool/squid 20480 16 256
cache_access_log /var/log/squid/access.log



acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl hostlocal src 127.0.0.1/255.255.255.255
acl SSL_Ports port 443 #Https
acl Safe_Ports port 80 #Http
acl Safe_Ports port 21 #Ftp
acl Safe_Ports 443 #Https
acl Safe_Ports port 1025-65535 #Portas Altas
acl purge method PURGE
acl connect method CONNECT


http_access allow manager hostlocal
http_access deny manager


http_access allow purge hostlocal
http_access deny purge


http_access deny !Safe_Ports
http_access deny connect !SSL_Ports


acl redeinterna src 192.168.0.0/24


acl SitesProblematicos dstdomain caixa.gov.br
always_direct allow site


http_access allow hostlocal
http_acces allow redeinterna


http_access deny all




Detalhando:

#Porta onde o servidor vai ficar disponível. (Essa porta você vai configurar no navegador).
http_port 3128

#Aqui você deve colocar o nome do seu servidor
visible_hostname Servidor_Proxy


Ao configurar o Cache podemos utilizar Cache em Memoria e Cache em Disco, a difereça é que o cache em memória é mais rápido de ser acessado, porém é mais limitado. O cache em disco é mais lento para ser acessado, porém tem muito mais espaço.



#Define a quantidade de memória que será usada para o cache de memória.
cache_mem 256 MB


#Determina o tamanho máximo dos arquivos que serão guardados em cache de memória, os arquivos maiores serão guardados no cache de disco.
maximum_object_size_in_memory 128 KB


#Agora a configuração do cache em disco, nas duas linhas abaixo diz que faremos cache de arquivos com tamanho máximo de 1Gb e tamanho mínimo de 0Kb.
maximum_object_size 1024 MB
minimum_object_size 0 KB


#Aqui definimos que faremos cache em disco usando até 90% do tamanho definido para ser usado o cache, quando isto ocorrer automaticamente o sistema deleta os arquivos mais antigos deixando o tamanho máximo ocupado em 80%.
cache_swap_low 80
cache_swap_high 90


#Agora definimos que o tamanho máximo que separamos do HD para os arquivos de cache é de 20Gb e que serão utilizados no máximo 16 diretórios com 256 subdiretórios cada uma.
cache_dir ufs /var/spool/squid 20480 16 256


#Definição de onde serão guardados os log's de acesso do Squid. Este arquivo normalmente pode ser consultado para ver o que está sendo bloqueado por exemplo no squid usando o comando "tail -f /var/log/squid/access.log |grep IP_da_Maquina"
cache_access_log /var/log/squid/access.log



#Cria uma politica de acesso que se chama "all" contendo todos os endereços de IP possíveis.
acl all src 0.0.0.0/0.0.0.0


#Política para você utilizar o proxy no próprio servidor
acl hostlocal src 127.0.0.1/255.255.255.255


#Politicas com portas permitidas pelo proxy, as portas dessas politicas serão aceitas pelo proxy.

acl SSL_Ports port 443 #Https
acl Safe_Ports port 80 #Http
acl Safe_Ports port 21 #Ftp
....



#Política para as maquinas da rede
acl redeinterna src 192.168.0.0/24


#Politica com site problemático (Que não está funcionando o acesso pelo proxy)
acl SitesProblematicos dstdomain caixa.gov.br


#Libera o acesso direto para a política SitesProblematicos
always_direct allow site


#Libera acesso à internet para o próprio servidor
http_access allow hostlocal


#Libera acesso à internet para a rede interna
http_acces allow redeinterna


#Nega o acesso à internet para a política "all"
http_access deny all


Existem outras opções de regras que você pode utilizar para incrementar seu Squid, uma delas pode ser para bloquear ou liberar um site por domínios ou palavras, para tal usamos o "dstdomain". Primeiro você cria a ACL com os domínios ou palavras e depois bloqueia ou libera o acesso. Ao criar a ACL deixe os domínios separados por espaço.
Por exemplo:
acl bloqueados dstdomain facebook.com orkut.com
http_access deny bloqueados


Se o site tiver acesso com "www" ou sem "www" por exemplo, você deve incluir os dois na lista, pois caso contrário o squid interpreta que são sites diferentes e deixa passar o acesso pelo que não está na ACL.

O ideal é usar um arquivo de texto com todos os domínios que deseja bloquear ou liberar e criar uma regra no squid que lê este arquivo, vamos dizer que você criou um arquivo chamado "permitidos" e adicionou todos os sites liberados. Ficaria assim:
acl permitidos url_regex -i "/etc/squid/permitidos"
http_access allow permitidos


#Para bloquear ou liberar o acesso a endereços IP você pode fazer assim:
acl ipsliberados dst 8.8.8.8
http_access allow ipsliberados

Para fazer o bloqueio por palavras chave você pode criar outro arquivo de texto com todas palavras dentro, lembre-se que todos os arquivos de texto criados devem conter as palavras, ip's, domínios,etc um abaixo do outro. A regra ficaria assim:
acl bloqueioporpalavras dstdom_regex "/etc/squid/palavras"
http_access deny bloqueioporpalavras

Para bloquear acessos por extensões crie uma lista com o seguinte formato:
\.exe
\.mp3
\.divx
Ficaria assim:
acl extensoes url_regex -i "/etc/squid/extensoes"
http_access deny extensoes

Para fazer o bloqueio/liberacao por horarios use o seguinte:
acl meiodia time 12:00-13:30
http_access allow meiodia




Obs: O squid lê o arquivo linha por linha, então a ordem em que os comandos estão é muito importante. Se você liberar o acesso para uma rede e mais abaixo colocar um comando bloqueando esse acesso, a rede continuará tendo o acesso pois você o liberou primeiro.

Obs2: A cada alteração no arquivo squid.conf não esqueça de dar um "Reload" ou "Restart" no serviço do "Squid", lembrando que o "Reload" apenas relê e aplica para novas conexões o novo arquivo de configuração enquanto que o "Restart" derruba os serviço do Squid e inicia novamente lendo o arquivo de configuração.

segunda-feira, 25 de junho de 2012

Linux - Criar um servidor DHCP

Eae pessoal!!

Como montar então um servidor DHCP?!

Vamos considerar que você está utilizando um CentOs OK?

Então vamos lá!

#Comando para instalar o serviço DHCP
yum install dhcp

#Para ele iniciar automático quando ligar seu servidor
chkconfig dhcpd on

#Arquivo de configuração:
/etc/dhcpd.conf

#Exemplo de configuração:

ddns-update-style none;
default-lease-time 86400; #Tempo em segundos que o servidor levará para renovar o "aluguel" do IP.
max-lease-time 604800; #Tempo máximo que uma estação pode usar o IP.
authoritative;


subnet 10.1.1.0 netmask 255.0.0.0 { #Rede que será utilizada.
range 10.1.1.50 10.1.1.200; #Range de IP que será disponibilizado para as maquinas.
option routers 10.1.1.1; #Gateway da rede
option domain-name-servers 201.10.1.12,8.8.8.8; #Dns que vai ser entregue a quem solicitar um IP
option broadcast-address 10.1.1.255 #Endereço de Broadcast
}

#Se quisermos reserver um endereço IP para uma maquina especifica, podemos adicionar a configuração abaixo usando o MAC da placa de rede da maquina.

#Isto você deve adicionar antes de fechar a chave no comando anterior.

host secretaria {
hardware ethernet 00:C3:B0:32:BC:24;
fixed-address 10.1.1.55;
}

#Se no seu caso o servidor onde está instalado o serviço de DHCP tem mais de uma placa de rede, é necessário também adicionar la no inicio do comando (abaixo de DDNS-UPDATE-STYLE) a linha INTERFACES="Eth0" ou a sua placa (Eth1), (Eth2), por onde vem o tráfego a qual deve ser entregue um IP.

#Lembre-se que depois de alterar qualquer configuração no dhcp.conf você deve dar um "Reload" ou "Restart" no serviço do DHCP.

Isso aí pessoal, como vimos não tem nenhum mistério para fazer um server de DHCP.

Abraço a todos.

quarta-feira, 13 de junho de 2012

Linux - Compartilhando internet

O básico do Iptables para compartilhar uma internet com a rede local.


Liberando acesso a internet que vem pela "eth0" para todas as outras interfaces de rede.

#Carrega o módulo que oferece suporte à roteamento de pacotes via NAT
modprobe iptable_nat

#Ativa o módulo (ip_forward) que encaminha os pacotes, utilizado pelo módulo "iptable_nat"
echo 1 > /proc/sys/net/ipv4/ip_forward

#Regra de roteamento que diz ao servidor para direcionar todos os pacotes vindos da faixa de IP da rede interna para a placa da internet.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Então o comando todo ficaria assim:

modprobe iptable_nat 
echo 1 > /proc/sys/net/ipv4/ip_forward pelo "iptable_nat"
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Protegendo o servidor contra ataques da internet

#Faz com que o servidor deixe de responder a pings
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

#Protege contra Spoofing (técnica de ataque) e pacotes inválidos
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP

#Autoriza pacotes da interface loopback
iptables -A INPUT -i lo -j ACCEPT

#Autoriza pacotes da interface rede local. (Altere o eth0 para a interface correta.)
iptables -A INPUT -i eth0 -j ACCEPT

#Libera acesso a porta 22, comumente usada para SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#Bloqueia tentativas de conexão vindas da internet
iptables -A INPUT -p tcp --syn -j DROP

Então o comando ficaria assim:

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP


Para ir dando uma dismitificada na coisa:

iptables -A INPUT -i eth0 -j ACCEPT

-A INPUT (Pacotes de Entrada)
-i eth0 (Interface Eth0)
-j ACCEPT (Aceita)

Ou seja: Aceitar os pacotes de entrada que vierem pela Eth0.

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

-A INPUT (Pacotes de Entrada)
-p tcp (Protocolo tcp)
--dport 22 (Porta de destino 22)
-j ACCEPT (Aceita)

Ou seja: Aceitar os pacotes de entrada que estiverem com destino à porta TCP número 22.

Então o que temos até o momento são os comandos abaixo:

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

Agora como faremos para quando eu iniciar meu linux ele automaticamente rodar estes comandos de firewall?

Vamos criar um script para iniciar, parar ou reiniciar as nossas regras de firewall.

Em /etc/init.d crie um arquivo de nome "firewall".

Abaixo script padrão para ser usado:

#!/bin/bash

#Interface local
RedeLocal = "eth1"

#Interface Internet
RedeInternet = "eth0"

iniciar() {
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $RedeInternet -j MASQUERADE
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $RedeLocal -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
}

parar () {
iptables -F
iptables -F -t nat
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Utilizar Start | Stop | Restart"
esac

Agora temos que transformar este script em um executável.

#Comando para transformar um arquivo em um executável
chmod +x /etc/init.d/firewall

#Feito isso, já é possível utilizar os comandos Start, Stop e Restart de nosso script assim:
/etc/init.d/firewall restart

#Para que o script seja iniciado automaticamente com o linux, faça o seguinte:

Edite o arquivo /etc/rc.d/rc.local

E adicione a linha:

/etc/init.d/firewall start



terça-feira, 5 de junho de 2012

Linux - Gerenciar Processos

Alguns comandos que podem auxiliar para gerenciar os processos no linux:

#Mostra uma lista com os processos iniciados por todos usuários:
ps aux


#Se a lista for muito grande, você pode combinar o comando com o "|more", assim você pode ir passando por todos os processos como se fosse uma pagina.
ps aux |more


#Você verá muitos processos que talvez não saiba qual a finalidade, você pode usar o comando abaixo para descobrir a função do processo.
whatis apache2


Resultado: apache2 (8)          - Apache Hypertext Transfer Protocol Server


#O comando abaixo mostra a lista de processos de forma um pouco mais organizada, os processos serão agrupados facilitando a visualização.
ps axjf


#Se estiver procurando um processo específico, você pode usar o "|grep".
ps axjf |grep smb


#Podemos usar também o comando abaixo para ver os processos e os seus ID's.
pstree -p


#Se quisermos ver os processos rodando "on-line", temos o comando abaixo. É um gerenciados de processos em modo texto.
top


Usando o top, temos algumas variáveis:


Tecla "g" #Coloca nas primeiras posições os processos que estão consumindo maior processamento.
Tecla "k" #Para finalizar um processo, digite "k" e depois o PID.


#Para finalizar um processo da forma "correta" você usa o comando abaixo + o PID que você pegou pelo "ps axjf" ou "ps aux"
kill 4022


#Para finalizar forçando, normalmente quando está travado o processo.
kill -9 4022


#Pode ser utilizado também o comando killall, assim você pode especificar o nome do serviço do linux que deseja "matar".
killall smb


Abraços!

Linux - Gerenciando grupos e permissões

Gerenciamento de grupos e permissões:

#Adiciona grupo "Financeiro":
groupadd financeiro


#Adiciona usuários ao grupo "Financeiro":
gpasswd -a daniel financeiro


#Se você estiver com uma versão linux Red Hat ou derivada como o CentOs, para adicionar um usuário em um grupo você deve usar o comando:
usermode -a -G daniel financeiro


#Para remover um usuário de um grupo:
gpasswd -d daniel fincanceiro


Agora precisamos saber  como definir as permissões de acesso.


Comando "chmod" ajustas as permissões dos arquivos e diretórios e o comando "chown" define qual usuário e grupo será dono de um arquivo ou diretório.


Para trabalhar com as permissões precisamos conhecer os três atributos principais, são eles:


Leitura #Representado pela letra "r"
Gravação #Representado pela letra "w"
Execução(Se tratando de arquivos) #Representado pela letra "x"
Leitura(Se tratando de diretórios) #Representado pela letra "x"


Outra coisa, as permissões são separadas em "usuário" , "grupo" e "outros".


Vamos analisar agora um diretório que no caso foi criado pelo usuário root:


#Ver permissões de um diretório ou arquivo
ls -lh


drwxr-xr-x 2 root root 4096 Jun 05 11:59 dados


Analisando a linha acima:


d = Indica que se trata de um diretório
Primeiro rwx = Permissão de acesso para o dono do diretório, nesse caso o dono tem acesso completo.
Segundo r-x = Permissão de acesso para o grupo do diretório, nesse caso o grupo pode listar e ler os arquivos do diretório.
Terceiro r-x = Permissão ed acesso para "outros", nesse caso os outros podem listar e ler arquivos do diretório.


O "root" "root" na linha são os donos, "usuário" e "grupo". Quando você cria um usuário no linux, automaticamente é criado um grupo com o mesmo nome do usuário. Por isso nesse caso temos como grupo o "root".


Vamos configurar agora para o grupo financeiro poder alterar os arquivos deste diretório. Primeiro vamos transferir a posse do grupo "root" para o grupo "financeiro".


#Define o grupo como dono do diretório
chown -R root:financeiro /dados


O -R faz com que, se existem arquivos e/ou subdiretórios dentro desse diretório, o grupo desses também sejam alterados.


Se você der um "ls -lh"  verá que a linha agora está assim:


drwxr-xr-x 2 root financeiro 4096 Jun 05 12:15 dados


#Agora vamos dar a permissão para o grupo ler e escrever no diretório /dados
chmod -R g+rw /dados


Para entender, o -R é a opção para adicionar essa permissão a todos arquivos e subdiretórios dentro do /dados. O "g" indica que a permissão será para o grupo que é dono do /dados.  O "+" indica que está adicionando uma permissão. O "rw"indica que será permissão de leitura e escrita.


#Abaixo segue o significado dos parâmetros:


-R #Recursivo, usado para alterar a permissão de todos arquivos e diretórios dentro do diretório informado.
u  #Informa que a permissão será para o usuário que é dono do diretório
g  #Informa que a permissão será para o grupo que é dono do diretório
o  #Informa que a permissão será para os outros usuários.
-  #Remove a permissão
+ #Adiciona a permissão
r  #Permissão de leitura
w  #Permissão de escrita
x  #Para arquivos indica permissão de execução, para diretório permissão de leitura


É possível utilizar números ao invés dos parâmetros "rwx". Ficaria assim:


4 #Leitura
2 #Gravação
1 #Execução/Listagem
0 #Acesso negado


Então você soma os número para indicar a permissão indicada, por exemplo 7 seria a permissão máxima, pois é a soma de Leitura + Gravação + Execução/Listagem.


#Adicionado permissão usando números
chmod 765 /dados


No caso assima, o usuário dono do /dados teria permissão total, o grupo permissão de Leitura + Gravação e os outros de Leitura + Execução/Listagem.


É isso aí pessoal, aí está o basico para trabalhar com grupo e permissões no linux.


Abraço

segunda-feira, 4 de junho de 2012

Linux - Gerenciando usuários

Abaixo alguns comandos básicos para o gerenciamento de usuários no linux:

# Adiciona usuário "vinicius"
adduser vinicius

#Altera a senha do usuário "vinicius"
passwd vinicius

O usuário root pode alterar a senha de qualquer usuário sem precisar saber a senha antiga, já se o próprio usuário desejar alterar a sua senha ele deverá saber a ultima senha que estava utilizando.

Os usuários são cadastrados através do arquivo "/etc/passwd". Nesse arquivo aparece também o diretório home e o shel usado pelo usuário.

Para remover um usuário usamos o "deluser"

#Remove usuário
deluser vinicius

Por padrão ao remover um usuário o linux mantem o seu diretório home. Se quiser remove-lo ao remover o usuário faça assim:

#Remove e deleta diretório home
deluser vinicius --remove-home

Você pode criar um backup do diretório do usuário ao remove-lo:

#Faz um backup dos arquivos do usuário, remove o usuário e deleta diretório home
deluser vinicius --remove-home --backup

Será criado no diretório onde você executar este comando um arquivo "vinicius.tar.bz2".

Se quisermos apenas bloquear/desbloquear o acesso do usuário ao linux:

#Bloqueia acesso do usuário
passwd -l vinicius


#Libera o acesso do usuário
passwd -u vinicius

quinta-feira, 31 de maio de 2012

Como aumentar o tamanho de um vmdk

Eae pessoal, blz?

  Esta semana estava com um Windows Server 2008 com o disco C: esguelado! Detalhe que é uma maquina virtual rodando em um ESXI versão paga.

  Então! O que fazer agora?

  Pesquisando na net, encontrei uma ferramenta da própria Vmware que se chama: Virtual Disk Manager Utility, você pode baixa-lo no site do Vmware.

  Fiz o download dessa ferramenta e instalei em meu computador com Windows 7.

  Copiei o arquivo VMDK do meu Windows Server 2008 para meu Windows 7.

  Abri um prompt do Dos, naveguei até o diretório de instalação do Virtual Disk Manager e dei o seguinte comando: vmware-vdiskmanager.exe -x 80GB “c:\temp\WinSrv2k8C.vmdk”

  Alguns minutos depois e meu VMDK estava com 80Gb.

  Joguei ele de volta para meu ESXI e iniciei a maquina virtual. Abriu meu Windows Server 2008 sem problemas, porém a partição C: continuava esguelada e o espaço a mais que eu adicionei com o "vdiskmanager" estava como espaço não alocado no disco.

  Então, fui no gerenciador de discos do Windows Server 2008, transformei o disco em "Dinamico" e re-aloquei ele para utilizar todo o espaço não alocado.

  Pronto! Meu C: estava com 80Gb.

  Algumas observações:

  1º - Certifique-se de fazer um backup do seu VMDK.
  3º - Certifique-se de que sua maquina virtual não está como "Pausada".
  4º - Certifique-se de não ter nenhum Snapshot criado, caso tenha remova-os antes de executar o procedimento.
  5º - Esse foi uma situação específica onde me surgiu a necessidade de aumentar o tamanho do disco, através de algumas dicas pesquisadas na internet consegui resolver, porém não sou dono da verdade então verifique se no seu caso há alguma outra situação diferente para que esse procedimento não ponha em risco a sua estrutura. ;)

  Por enquanto é isso pessoal!

  Vlw!

segunda-feira, 21 de maio de 2012

Criando e distribuindo uma imagem do Windows 7

Olá Pessoal,

vou mostrar abaixo os passos para criar uma imagem do Windows personalizada e adicionar a mesma à um outro computador.

Primeiramente instale o Windows 7 + os programas e configurações desejados em um computador base.

Quanto o computador base estiver configurado, abra uma janela do prompt, navegue até: c:\windows\system32\sysprep

Dê o comando:

sysprep /oobe /generalize /shutdown

Para entendimento:

sysprep = Comando que prepara o windows para a criação da imagem.

/oobe = Para quando o windows for inicializado, aparecer aquela tela de boas vidas onde você define o nome do computador, nome de usuário e outras configurações iniciais.

/generalize = Para o windows zerar as configurações exclusivas do sistema, a identificação de seguranã (SID) é removida, todos os pontos de restauração do sistema são apagados e os log's de eventos são excluidos.

/shutdown = Para desligar o computador.


Ligue a maquina e de um boot no cd do Windows PE com Imagex.

O drive d:\ é o local onde está o sistema que iremos capturar.

O drive e:\ é onde está montado o cd do Windows PE.

O drive x:\ é onde estão os arquivos de sistema carregados pelo Windows PE.

Precisamos de um local para armazenar a imagem que vamos capturar, pode ser um local na rede ou um outro disco ou pendrive.

Neste caso vou mapear um local na rede com o comando net use:

net use z: \\10.1.1.20\temp

Para capturar a imagem usaremos o imagex, que no nosso caso se encontra na unidade E:

imagex /capture d: z:\Windows7.wim "Imagem Windows 7" /compress fast /verify


Este processo pode demorar um pouco, após terminado já temos nossa imagem.

Agora precisamos implantar essa imagem nos computadores.

Para tal, inicie o computador que receberá a imagem com Windows PE.

Precisamos prepara o HD desta maquina para receber a imagem, criar uma partição, formata-la como NTFS e atribuir uma letra a esta unidade que será "C:"

Usaremos o diskpart:

diskpart                                   #Para entrar no modo diskpart
list disk                                   #Para listar os discos da maquina
select disk 0                            #No meu caso vou usar o disco 0
clean                                       #Para limpar o disco
create partition primary        #Para criar a partição primaria
format quick fs=ntfs              #Formata a unidade em NTFS modo rapido
assign letter="C"                  #Define a letra C para a partição que criamos
active                                      #Para ativar a unidade
exit                                         #Para sair do modo diskpart

Como a minha imagem está em um compartilhamento na rede, vou mapear a unidade.

net use z: \\10.1.1.20\temp

Agora com o imagex daremos o comando para aplicar a imagem nesta unidade c:

imagex /apply z:\temp\Windows7.wim 1 c:\

O número 1 informa que usaremos a primeira imagem do arquivo Wim, um arquivo Wim pode conter varias imagens.


Esse processo pode demorar algum tempo, principalmente se a imagem estiver sendo captada pela rede como no meu caso.

Após aplicado a imagem, precisamos ajustar as configurações de boot do windows.

Para tal usaremos a ferramenta bcdboot, o comando abaixo ajusta as configurações para dar o boot.

bcdboot c:\windows

Após reiniciar o seu computador pode aparecer uma mensagem de erro sobre o bootmgr ou que não conseguit encontrar o "winload.exe", por algum motivo a ferramenta bcdboot pode não configurar todas as opções adequadamente.

No meu caso precisei dar o comando:

bcdedit /set {bootmgr} device partition=c: 

Mas pode acontecer de você precisar configurar com as opções abaixo também.

bcdedit /set {default} device partition=c:


bcdedit /set {default} osdevice partition=c:

Para listar as configurações digite apenas:

bcdedit












domingo, 20 de maio de 2012

Criar uma imagem do Windows PE

Olá pessoal,

Aqui vou mostrar como criar uma imagem para o Windows PE.

Primeiramente precisamos baixar a ferramenta Windows AIK, esta ferramenta contém varios recursos disponibilizados pela Microsoft para manutenção e outras funcionalidades do Windows. Nela se encontra a imagem do Windows PE e os aplicativos que usaremos para gerar uma ISO com esta imagem.

Você pode baixar o Windows AIK no link:
http://www.microsoft.com/downloads/details.aspx?displaylang=pt-br&FamilyID=696dd665-9f76-4177-a811-39c26d3b3b34

Feito o download, instale o Windows AIK.

Agora abra uma janela do DOS com permissão de administrador.



 Navegue até o caminho: c:\Program Files\Windows AIK\Tools\PETools


Execute o comando com x86 para arquitetura 32bits, x64 para arquitetura 64bits e ia64 para arquitetura Itanium.

Neste caso criaremos uma imagem para arquitetura 32bits:

copype.cmd x86 c:\ImagemPE\

O comando criará o diretório ImagemPE com os arquivos necessários para criação do ISO.


Agora precisamos copiar o arquivo c:\ImagemPE\winpe.wim para o diretório c:\ImagemPE\ISO\sources\

O arquivo deve ser renomeado para boot.wim

Vamos usar o comando copy c:\ImagemPE\winpe.wim c:\ImagemPE\ISO\sources\boot.wim


Agora precisamos gerar a imagem. Usaremos o comando "oscdimg"


oscdimg -n -m -o -bc:\ImagemPE\etfsboot.com c:\ImagemPE\ISO c:\ImagemPE\winpe_x86.iso

Prestem atenção no comando porque o "-bc:" é junto mesmo.



Será gerado a imagem winpe_x86.iso dentro de c:\ImagemPE\. Agora é só gravar em um CD e dar o boot em um PC 32bits. Aqui vou dar um boot em uma maquina virtual.


Esta é a tela principal do Windows PE, aqui você pode rodar os programas que existem dentro do system32 por exemplo como o notepad, regedit, chkdsk entre outros.

Você pode ainda adicionar a esta imagem do Windows PE alguns programas como:

Imagex: que pode ser usado para capturar e aplicar imagens em um cenário de implantação

Copie o arquivo c:\Program Files\Windows AIK\Tools\x86\imagex.exe para o diretório c:\ImagemPE\ISO

ou

Pkgmgr.exe (Gerenciador de pacotes) que pode ser usado para manutenção de imagens do windows (.wim) de forma offline.

Copie o diretório c:\Program Files\Windows AIK\Tools\x86\Servicing para c:\ImagemPE\ISO


Por enquanto é isso, VLW!

quarta-feira, 25 de abril de 2012

Linux - Instalando Firebird

Eae pessoal, blz?

Então, esta semana precisei instalar o Firebird em um sevidor Linux para o rodar o software LALUR em rede. Vou descrever abaixo os passos que executei e que podem ajudar quem esteja a procura desta solução.

Usei a versão do Linux CentOs 6.2 x64 e a versão 2.5.1 do Firebird que peguei no site http://www.firebirdsql.org/

Vamos considerar que o Firewall Iptables e o Selinux estejam desabilitados.

Quando você for fazer o download do Firebird, além das versões x86 e x64 terá que decidir se instalará o pacote Super Server ou Classic Server.

As diferenças entre as duas versões  você pode conferir neste documento criado pela equipe da comunidade firebird.
http://www.comunidade-firebird.org/cflp/downloads/CFLP_T017.PDF

Para a instalação utilizaremos o comando RPM, se quiser uma lista dos parâmetros que podem ser utilizados com o RPM acesse o link abaixo do Viva o Linux:
http://www.vivaolinux.com.br/artigo/Trabalhando-com-RPM

Então vamos lá, primeiro vou instalar a versão FirebirdCS-2.5.1.26351-0.amd64.rpm

Para instalar o pacote: rpm -ivh FirebirdCS-2.5.1.26351-0.amd64.rpm


Como podem ver já tivemos nosso primeiro problema, está faltando instalar essas libs.


Para instalar as libs, vou utilizar o comand "yum install nome_da_lib", veja nas imagens:



Beleza, agora com as libs instaladas, vamos tentar instalar o pacote: rpm -ivh FirebirdCS-2.5.1.26351-0.amd64.rpm


Agora instalou, veja a imagem:


Se você der o comando "more /etc/services |grep 3050" verá que foi criado uma entrada no arquivo "services" com a porta que será utilizada para conexão com o firebird.


A versão Classic Server do Firebird não cria um executável para que você possa iniciar e/ou parar o serviço, ele vincula o Firebird ao serviço "xinetd".

No caso ainda não tenho o " xinetd" instalado. Para instalar o pacote do xinetd: "yum install xinetd.x86_64"


Após instalar o pacote, reinicie o servidor.
Agora dê o comando "chkconfig --list", você verá que ali onde diz "serviços baseados no xinetd" está o "firebird" setado como "sim", significa que sempre que o "xinetd" for iniciado, o firebird também será.


Para parar e/ou iniciar o xinetd use o comando: /etc/init.d/xinetd start/stop/restart

Agora precisamos alterar a senha padrão do usuário SYSDBA do firebird.
Para isto vamos até /opt/firebird e de o comando "more SYSDBA.password".

Veja a linha ISC_PASSWD=1rqBa2eW está é a senha atual.


Para alterar a senha, entra no diretório /opt/firebird/bin e de o comando "./changeDBAPassword.sh"
Ele pedirá para você informar a senha atual e depois pedirá a nova senha.
Neste caso eu fiz a instalação do firebird para rodar o software LALUR, este software precisa que a senha do SYSDBA esteja como "masterkey", caso contrário ele não consegue conectar no banco de dados.


Agora falta apenas testarmos:

Vamos criar uma base "teste.gdb" e acessa-la localmente.
Acesse /opt/firebird/bin e de o comando "./isql"
Vai abrir um prompt "SQL>"
Então execute o comando: CREATE DATABASE '/tmp/teste.gdb' USER 'sysdba' PASSWORD 'masterkey' PAGE_SIZE 1024;
Depois: "quit;"
Veja que em /tmp foi criado um arquivo chamado "teste.gdb".
Para garantir o acesso a base, de o comando "chmod 777 teste.gdb" (Ao configurar um acesso externo, se o arquivo não estiver com permissão adequada, o acesso será negado)

Vamos agora criar um "Link", que será o Nome da base.
Vá até /opt/firebird/bin e digite o comando "./createAliasDB.sh nome_da_base caminho_do_arquivo.gdb"


Para conectarmos na base vamos fazer o seguinte:
Em /opt/firebird/bin execute o comando "./isql /tmp/teste.gdb -u sysdba -p masterkey"
Agora execute "SHOW DATABASE;"
Vai aparecer os dados da nossa base de teste.


Então pessoal, instalamos a versão Classic Server do Firebird 2.5.1, criamos uma base teste e nos conectamos nesta base. Agora para fazer um teste de outra maquina, você pode baixar um gerenciador de banco de dados firebird e informar os parâmetros para conectar no servidor.

Um gerenciador que baixei aqui foi o DBManager, tem varios na internet, é só pesquisar no Google.

Para fazer a instalação do Super Server, a única coisa que muda é que o Super Server cria o executável "firebird" dentro de /etc/init.d ao invés de vincula-lo ao "xinetd".

Para iniciar, parar ou reiniciar o serviço basta executar o comando "/etc/init.d/firebird start/stop/restart"

Para o firebird iniciar automaticamente ao ligar o servidor basta digitar o comando "chkconfig firebird on".

Outras observações:

Aqui um manual em português feito pela equipe do FirebirdSql para trabalhar com a base de dados Firebird:
http://www.firebirdsql.org/pdfmanual/Firebird-Commandline-Brazilian-Portuguese.pdf

Caso você tente instalar uma versão mais antiga do firebird (ex: 2.0) no CentOs 6.2, pode aparecer a mensagem de erro:


/opt/firebird/bin/gsec: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

Essa mensagem aparece porque a versão atual do CentOs 6.2 tem alguma incompatibilidade com as Lib's que as versões mais antigas do Firebird utilizam.

Isto aconteceu comigo e então instalei a versão 2.5.1 do firebird que funcionou normal.

Outro problema que tive, é que como ja havia instalado a versão 2.0 do firebird, ao tentar instalar a 2.5.1 ele estava dando conflito de arquivos, dizendo que ja havia uma versão instalada.

Resolvi isto usando o comando rpm -Uvh Nome_do_Pacote2.5.1.

A opção -U atualiza o pacote que já está instalado para a versão que você está querendo instalar.

É isso aí pessoal!

Vlw










terça-feira, 3 de abril de 2012

Linux - CentOs6.2 - Samba

Olá pessoal,

esta semana precisei fazer a instalação do CentOs 6.2 64bits.

Até aí tudo bem, só precisava instalar o linux e compartilhar um diretório utilizando o Samba.

     Então após a instalação e configuração do Samba me aparece a primeira dificuldade, apesar da configuração do smb.conf estar OK não tinha jeito de eu conseguir acessar o compartilhamento de um outro micro com Windows. Ele nem mesmo me abria a primeira janela onde deveria aparecer o diretório compartilhado.

Logo pensei, deve ser o Iptables!!!

Fui no caminho:

/etc/init.d e verifiquei que o iptables está iniciando junto com o sistema.

Então rodei o comando:

#Desabilita o Iptables da inicialização
chkconfig iptables off

Reiniciei o servidor e consegui acessar via samba a tela com o diretório compartilhado.

Ao tentar acessar o diretório, outra mensagem de bloqueio.

O que será agora????

     Pesquisando na net, tem um cara chamado SELINUX que vem instalado com o CentOS, é como se fosse um firewall próprio.

Para desativa-lo:

/etc/selinux

Editar o arquivo "config"

Vai ter dois parâmetros configurados:

SELINUX = enforcing
SELINUXTYPE = targeted

Mudar o primeiro parâmetro ficando assim:


SELINUX = disabled
SELINUXTYPE = targeted

Reiniciei o servidor e consegui acessar o compartilhamento normalmente!!

Só mais uma dica!!!

Se o samba não está iniciando ao ligar o servidor digite o comando:

chkconfig smb on

Vlw!






quinta-feira, 22 de março de 2012

Verificar se seu domínio está em uma Blacklist.

Quem nunca caiu numa blacklist que atire a primeira pedra!

Como saber se seu domínio caiu em uma blacklist?

Acesse http://www.mxtoolbox.com

Digite seu domínio e mande buscar.

Depois clique em Blacklist check, ele irá verificar se seu endereço se encontra em alguma blacklist na internet.

terça-feira, 13 de março de 2012

Hyper-V no Win Server 2008 Enterprise 64Bits


Olá pessoal,

O objetivo deste tópico é mostrar com é feita a instalação do Hyper-V utilizando um Windows Server 2008 Enterprise 64Bits.

Antes de mais nada, abaixo duas tabelas com as limitações de cada versão ao utilizar o Hyper-V:

 

Cabe aqui um detalhe interessante, se você adquirir uma licença de Windows Server 2008 Enterprise, a mesma lhe permite levantar 4 Vm's com Windows Server 2008 Enterprise sem custo adicional.
Ou seja comprando 1 licença Enterprise você tem: 1 host + 4 Vm's licenciadas. Se quiser adicionar mais Vm's além destas, basta adquirir a licença e instalar, pois a versão Enterprise e Datacenter não tem limites de maquinas virtuais para serem levantadas.

Lembre-se: o Hyper-V não está disponível na versão 32Bits do Windows Server.


Server ConsolidationMicrosoft Hyper-V Server 2008Windows Server 2008 StandardWindows Server 2008 EnterpriseWindows Server 2008 Datacenter
Teste e Desenvolvimento
icon-table-available
icon-table-available
icon-table-available
icon-table-available
Virtualização OS Misto (Linux e Windows)
icon-table-available
icon-table-available
icon-table-available
icon-table-available
Interface Gráfica de Usuário Local
icon-table-available
icon-table-available
icon-table-available
icon-table-available
Alta Disponibilidade, Cluster
icon-table-available
icon-table-available
icon-table-available
Quick Migration

icon-table-available
icon-table-available
Necessidades de virtualização

icon-table-available
icon-table-available
Suporte para memória grande (Host OS) RAM> 32 GB

icon-table-available
icon-table-available
Suporte para> 4 Processors (OS host)

icon-table-available
icon-table-available
Ability to Add Additional Server Roles
icon-table-available
icon-table-available
icon-table-available
Virtualization Rights per Server License1 + 1 VM Física1 + 4 VMs Física1 Físico + VMs Unlimited
icon-table-available



Então vamos ao que interessa, primeiramente vamos fazer a instalação FULL do Windows Server 2008 Enterprise x64:

Dê o boot em uma mídia do Windows Server 2008 Enterprise, selecione Language, Time e Keyboard que preferir.


Clique em Install Now 

 

Aceite os termos: 

 

Selecione o Windows Server 2008 Enterprise X64 Full Installation: 

 

Clique em Custam (advanced): 

 

Selecione o disco e clique em Next: 

 
Aguarde a instalação:  

 Quase terminando....


Após o término, o servidor irá reiniciar, terminar algumas configurações, reiniciar novamente e pedir para você alterar a senha.

Clique em OK:


Digite uma nova senha, lembrando que a senha deve ter Letras maiusculas, minusculas e números. 

 

Windows Server 2008 Enterprise x64 instalado. 

 

Agora precisamos instalar o serviço do Hyper-V, para tal vamos abrir o "Gerenciamento do Servidor":


Em Roles, vamos clicar em Add Roles:  




Agora clique em "Next": 

 

Selecione "Hyper-V" e clique em Next:

 

Clique em Next


Aqui está pedindo para você selecionar um adaptador de rede para montar uma Virtual Network que as maquinas virtuais utilizarão
para se comunicar com a rede.
    Você pode alterar essas configurações depois utilizando o Hyper-V Manager.
    Neste caso selecionei "Local Area Connection 2".

 

Clique em Install:


Instalando....


Falta pouco......... 

 

Clique em "Close", você deverá reiniciar o servidor. 

 

Hyper-V instalado, agora você pode ir no menu Iniciar > Administrative Tools e acessar o Hyper-V Manager.

Ali você poderá criar e gerenciar suas Virtual Machines.