02/10/2014

Proxy Web e Proxy Reverso

A questão de nomenclatura acaba por vezes pesando na hora do entendimento e causando algumas dificuldades no assunto. Nesse caso, proxy web, web proxy ou proxy são denominações em questão, que além de facilitarem a confusão no entendimento, podem ser também realizadas pelo mesmo programa, por exemplo o Squid.
  • Proxy web: ou simplesmente proxy, corresponde a função mais conhecida, basicamente de compartilhar a internet. Ele recebe as conexões feitas pelos clientes e busca o que foi solicitado, funcionando tanto como cliente como servidor e sendo inserido entre os clientes que requisitam e os servidores onde busca a informação. Dessa foram, também é possível obter:
    • Controle de acesso  por usuário, horário, faixa de ips, url ...
    • Cache de páginas
    • Relatórios de acesso
  • Proxy reverso: funciona de forma similar ao proxy web mas é posicionado de forma distinta, ficando entre as requisições externas e os servidores web internos de uma empresa. Dessa forma, os clientes passam a ser os servidores/conexões externas que requisitam acesso e informação ao proxy reverso, o qual busca as informações nos servidores internos. O uso dessa aplicação permite também:
    • Segurança
    • Criptografia
    • Balanceamento de carga
    • Cache dos dados do servidores internos
    • Compressão do conteúdo acessado

Referências

25/09/2014

Removendo versões antigas do Kernel Linux

Eventualmente a partição /boot pode ficar cheia ou por algum outro motivo seja necessário remover algumas versões antigas do kernel. Para as distribuições baseadas em Debian, isso pode ser realizado com os procedimentos abaixo.

Para outras distribuições, nas referências são encontrados os comandos necessários.

1. Liste o Kernel em uso:
$ uname -r

2. Liste quantos kernels tem instalado:
# dpkg -l | grep linux-headers-*

3. Para remover os outros mais antigos (por exemplo, o kernel: linux-image-2.6.32-22-generic):
# apt-get remove --purge linux-image-2.6.32-22-generic

4. Depois atualize o GRUB:
# update-grub

Ainda, é possível executar a operação de remover todos os kernels de uma única vez executando o comando abaixo e depois realizar o passo 4.
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

Referências

18/09/2014

Desligar host ESX remotamente com putty

Após realizadas todas as configurações necessários, ao executar o script .bat ele irá desligar o host.

Pré-requisitos

  • É necessário ter o putty configurado para acessar o host ESX sem senha
  • Todos os arquivos devem estar no mesmo diretorio (putty.exe *.bat e *.sh), dessa forma não é necessário passar o caminho para os arquivos quando executar o putty.

Scripts

1. Criar o arquivo desliga.sh, que será executado no host, conforme abaixo.
#!/bin/bash
poweroff


2. Criar o arquivo desliga.bat, que ira executar o putty, com o conteúdo abaixo
REM : ######################################################################## REM : Script que executa o putty e o arquivo .sh para desligamento do host REM : O comando abaixo desativa a exibição dos comandos na tela. echo off REM : executa o putty passando os dados da sessão salva como parâmetro REM : e executando no servidor o script passado como argumento por '-m' sem REM : esperar pela finalização desse script. Ou seja, o comando é executado e REM : enviando o script para o servidor e retornando para executar a próxima REM : linha, sem aguardar a confirmação de execução ou não. start "" "putty.exe" -load [NOME_SECAO_SALVA_PUTTY] -m "desliga.sh" REM : sleep que pelos meus testes não serve pra nada sleep 3000 REM : finaliza o script exit REM : ########################################################################

Referências

17/09/2014

Desabilitar aviso de SSH ativo no ESX

1. Acesse o host ou o vcenter

2. Clique sobre o host a ser alterado e na aba Configuration clique em Advanced Settings
 3. Na nova janela procure a opção UserVars e na sequência a entrada UserVars.SuppressShellWarning, alterando o valor para 1.

Referencias

16/09/2014

SSH sem senha em um host ESX

     Primeiramente, tentei realizar o procedimento gerando a chave pelo puttygen como realizado na referência da locaweb, mas não surtiu efeito. Depois com a chave rsa pelo linux também não funcionou.

1. Gerar as chaves dsa em um SO Linux com o comando a seguir e confirmar com enter para todas as opções. Serão gerados dois arquivos, o id_dsa.ppk com a chave privada e o id_dsa com a chave pública. Ambos em ~/.ssh/ 

ssh-keygen -t dsa
2. Copiar a chave publica para os servidores ESX no destino a seguir:

scp id_dsa root@10.12.0.xxx:/etc/ssh/keys-root/authorized_keys
3. Verificar se a linha a seguir está ativa no arquivo de configuração do ssh

vi /etc/ssh/sshd_conf .... AuthorizedKeysFile /etc/ssh/keys-%u/authorized_key ....

 

SO Linux

1. A conexão já está ativa se a chave privada continua no local onde foi criada

 

SO Winndows

1. Baixar os executáveis putty e puttygen

2. Executar o puttygen e importar a chave privada id_dsa clicando em Load e escolhendo a mesma. Será exibido um avido e sucesso na importação. Clique em Ok e na sequência em Save private key

3. Abrir o putty e completar os campos Host Name,Port, Saved Sessions


4. Em Connection clicar em Data e preencher o campo Auto-login username com o login do usuário

5. Em SSH, expandir e clicar em Auth e selecionar a chave privada

6. Voltar para Session e clicar em Save. Nesse ponto a sessão estará salva com todas as configurações e considerando que a chave pública já está no servidor a ser acessado, basta dar um duplo clique sobre a sessão salva.

Referências

01/09/2014

Latex no Ubuntu 14.04

A uns anos postei como instalar o Latex no Ubuntu Hardy Heron (8.04), mas o tempo passa o tempo voa .... agora para que eu não me esqueça copiei de outro blog como instalar nas versões mais novas do ubuntu. Basicamente executar o comando abaixo:

apt-get install texlive texlive-latex-extra texlive-lang-portuguese

2. Referências


01/08/2014

Utilizando o Nemo no Ubuntu

Assim como muitos, deixei de gostar do Nautilus em suas últimas versões, por que deixou de tar algumas possibilidades de configuração. Na realidade o único motivo que não consegui me adaptar foi não poder navegar em árvore no painel lateral, assim resolvi utilizar outro gerenciador de arquivos e o que mais me adaptei foi o Nemo.

Já tinha instalado ele outras vezes e alterado nos arquivos de configuração, mas no último post que encontrei a solução para o problema do Nautilus continuar gerenciando o restante dos discos.


1. Acessar o diretório da instalação
cd /usr/bin

2. Fazer um bkp do Nautilus e criar um link simbólico para o Nemo
mv nautilus nautilus.bkp ln -s nemo nautilus

3. Reiniciar

4. Referências



14/07/2014

Configurando Locale no Ubuntu

Caso esteja configurando um servidor e este não apresente um locale válido ou diferente do desejado, podemos simplesmente corrigir o problema.

1. Identificando o problema, pelo erro abaixo ou algum outro similar. perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "pt_BR.UTF-8", LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). 

2. Solucionar
2.1 Edite o arquivo a seguir: vim /var/lib/locales/supported.d/local

2.2 Deixe o mesmo com os locales desejados. Ex:

pt_BR ISO-8859-1 pt_BR.UTF-8 UTF-8
2.3 Por fim, como root, execute o comando a seguir:

dpkg-reconfigure locales

3. Fontes

05/05/2014

Linux no ultrabook sansung NP530U3C

Procurando na internet, encontrei várias pessoas com o mesmo problema que o meu. O ultrabook vem com partições GPT e MBR. O que causa um certo incomodo na hora de formatar e dar boot somente com o linux.

A primeira vez que formatei ele com o debian, apaguei todos os discos e formatei pelo pendrive. Tranquilo, so foi necessário desabilitar o security boot para inicial.

Ja na segunda vez, até instalei o elementery os seguindo uma mescla desses tutoriais e foruns:
Dentre outros que encontrei pela net. Porém ele não inicializava, eis que resolvi deixar o linux formatar por conta própria e tudo funcionou tranquilamente. Então:

  1. Boot pelo pendrive
  2. Escolha a opção que instala o linux no hd completo
  3. Preencha com os demais dados solicitados
  4. Siga em frente
  5. Após instalado, boot novamente pelo pendrive e redimencione as  partições com o gparted de forma desejada.

29/04/2014

Iniciando programas gráficos automaticament no linux

1. Para iniciar programas juntamente com o ambiente gráfico, acesse Aplicativos de Sessão.

2. Clique em adicionar:


3. Preencha os campos e selecione o programa a ser executado


4. Reinicie a sessão.

5. Fonte: 
  • http://www.ubuntudicas.com.br/blog/2010/07/como-iniciar-programas-automaticamente/
  • http://www.mundoubuntu.com.br/dicas/93-abrindo-aplicativos-automaticamente-ao-iniciar-o-ubuntu

21/02/2014

Configuração básica do servidor dhcp

        Esse post é mais uma cópia com algumas poucas modificações. Acabo realizando estás cópias para facilitar minha pesquisa pois vários links acabam saindo do ar.
DHCP Server

DHCP (Dynamic Host Configuration Protocol) Server é responsável pela distribuição de IPs de maneira automática na rede, utilizando a porta UDP 67 para comunicação.

Instalação DHCP server

        Considerando a utilização de uma distribuição debian ou baseada nesta.

# apt-get update ; apt-get install isc-dhcp-server

Habilitando interfaces de rede

        Define em qual interface de rede servidor irá respomder. Edite o arquivo de configuração e antere a linha INTERFACES="", incluíndo a interface desejada. Exemplo: INTERFACES="eth0"
# vi /etc/default/isc-dhcp-server

Arquivo de configuração

Editar o arquvio dhcpd.conf em /etc/dhcpd conforme desejado de acordo com as configurações descritas abaixo:
# Indica que o DHCP não vai trabalhar em conjunto com o DNS, caso contrario # deve-se trocar "none" por "interim", dessa forma quando um cliente DHCP # solicitar um IP ao servidor DHCP, este envia o nome do cliente para o DNS. # Assim, o nome do cliente DHCP estará dentro do DNS de maneira automática, # podendo usufruir de todos os benefícios de um DNS. Também é necessário # configurar o cliente DHCP e o DNS. ddns-update-style none; # Define uma opcao global de dominio para todas as redes criadas nesse servidor option domain-name "example.org"; # Define uma opcao global de DNS Servers para todas as redes criadas pelo servidor option domain-name-servers xxx.xxx.xxx.xxx, yyy.yyy.yyy.yyy; # Tempo em segundos que o endereço é consedido caso não peça por mais tempo default-lease-time 600; #Valor maximo permitodo caso o cliente solicite novamente o endereço max-lease-time 7200; # Não distribui ips. Isso significa que se um cliente requisitar um endereço # que o server não conheça, ou seja, o endereço é incorreto para aquele # segmento, o Server não enviará um DHCPNAK, o qual diz para ao cliente para # parar de usar aquele endereço not authoritative # Usado para enviar as menssagens de log para um destino diferente log-facility local7 # Configurações gerais da rede # Intervalo de ip que será ofertado. Pode ser removido caso sejam atribuidos # Ips estáticos ou sejam configuradas subredes, onde o range será configurado range 192.168.0.2 192.168.0.254; # Gateway padrao da rede option routers 192.168.0.1; # Broadcast da sua rede option broadcast-address 192.168.0.255; #Atribuição de ip a mac host nomepc { hardware ethernet XX:XX:XX:XX:XX:XX; fixed-adrress 192.168.0.X; }
Inicializando o servidor

# service isc-dhcp-server start|stop|restart|status|force-reload  

Outras fontes
  •  Artigos Viva ao Linux [1] e [2]

05/02/2014

Criptografar Shell Script

De acordo com as próprias palavras do autor do post:
     "Uma dica simples e interessante mostra como criptografar e compilar um shell script. À princípio pode até parecer uma coisa insignificante, mas pode ser muito útil em situações onde há mais de um administrador de sistema ou até mesmo utilizar servidores de terceiros onde você precisa colocar no script informações que não desejamanter facilmente visualizáveis pelo admin."

     Para que criptografar um script  seja possível, basta instalar e utilizar o SHC seguindo os seguintes passos:
1. Instale o meta-pacote build-essential ou equivalente da distribuição que você esteja utilizando:
apt-get install build-essential
2. Faça download o SHC:
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz
3. Descompacte e compile o SHC:
tar zxvf shc-3.8.9.tgz make
4. Depois de compilar, o script pedirá para você executar o comando make test, mas por algum motivo sempre dá um erro e que pode ser ignorado.Agora basta criptografar um script de teste  da seguinte forma:
./shc -f teste.sh
5. Serão criados dois arquivos:
-rw-r--r-- 1 root root 28 Feb 4 01:58 teste.sh -rwx--x--x 1 root root 11K Feb 4 01:58 teste.sh.x -rw-r--r-- 1 root root 9.1K Feb 4 01:58 teste.sh.x.c
  •  teste.sh – é o seu script original;
  •  teste.sh.x – é o script criptografado e compilado para o formato binário;
  •  teste.sh.x.c – é o código fonte na linguagem C do script criptografado. A lógica do SHC é transformar o seu shell script na linguagem C escondendo o máximo de informações possível e depois compilar gerando um arquivo binário.

6. Agora execute o script criptografado:
./teste.sh.x
7. Postagem original.


30/01/2014

Desagrupar Alt+TAB do Gnome3

     Bom, várias configurações do Gnome3 são diferentes do que estamos acostumados, e eu até tentei utilizar sem reclamar, pois o ser humano é contrário a qualquer mudança que o tire da sua "zona de conforto".
     Tentei tanto que consegui me adaptar e até concordo que muitas modificações foram melhorias mesmo, mas para algumas delas, não teve jeito, tive que voltar a configuração anterior, uma delas é o Alt+TAB agrupado por programas.
     Isso foi mais fácil de fazer do que eu imaginava. Basta acessar o Gnome Tweak Tool e na opção Extensões do shell, habilitar o item Extensão Alternate Tab.



Pronto

23/01/2014

Autenticação via LDAP na Mediawiki com Postgres

Segue abaixo a compilação de várias formas de configuração, a qual funcionou para o meu ambiente.

Procedimentos iniciais

  1.  Descubra a versão da sua wiki. Para isso acesse o Link Páginas especiais e procure por versão.
  2. Faça download da extensão do LDAP de acordo com sua versão.
  3. Descompacte no diretório extensions da dua wiki:
    • $ tar -xzvf LdapAuthentication-MW1.13-r36354.tar.gz -C /var/www/mediawiki/extensions/LdapAuthentication/

Configuração do LDAP

Edite o arquivo LocalSettings.php e inclua o código abaixo:
## Habilitando o plugin do LDAP
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
## Definição do domínio
$wgLDAPDomainNames = array("NOME");
## Pode ser o ip ou hostname (servidor.dominio.com.br
$wgLDAPServerNames = array("NOME"=>"172.16.100.69");
$wgLDAPEncryptionType = array("NOME"=>"clear");
## Impede usuário local de logar
$wgLDAPUseLocal = false;
$wgMinimalPasswordLength = 1;
##
## Base LDAP onde a mediawiki ira procurar os usuários
$wgLDAPBaseDNs = array("NOME"=>"ou=grupogeral,dc=domino,dc=com,dc=br");
##
## Atributo para check, pesquisa e compara o que o usuário digitou para realizar
## o login no wiki, utilizando um tipo de atributo ldap (samaccountname, mail, uid...)
## que corresponde ao nome de usuário. Deve ser adaptado para suas configurações
$wgLDAPSearchAttributes = array("NOME"=>"uid");
## Aqui o complemento do forum, como meu LDAP utiliza uid, precisei definir o campo abaixo
## uid=USER-NAME.
$wgLDAPSearchStrings = array("NOME"=>"uid=USER-NAME,ou=grupogeral,dc=dominio,dc=com,dc=br");
## Transforma o login para minusculas
$wgLDAPLowerCaseUsername = array( 'NOME' => true );
##
## Restringe acesso aos membros deste grupo para logar na wiki :
$wgLDAPGroupDN = "cn=admin,ou=grupogeral,dc=dominio,dc=com,dc=br";
##
## Usuário proxy para leitura da base ldap: Não utilizei
## $wgLDAPProxyAgent = array("NOME"=>"cn=winbind.user,cn=users,dc=dominio,dc=com,dc=br");
##
## Senha deste usuário proxy. Não utilizei
## $wgLDAPProxyAgentPassword = array("NOME"=>"linux123");
##
## Checar se o usuário não estar desabilitado no ad:
$wgLDAPRequireAuthAttribute = array("NOME"=>true);
##
## A última linha da postagem base foi removida pois não permitia login.

PostgreSql

Essa configuração funciona perfeitamente em uma base MySQL, mas a mesma configuração não funciona quando a base de dados é Postgres. Um bug já reportado e que foi possível solucionar com o SQL abaixo:

CREATE TABLE ldap_domains (
      domain_id serial primary key,
      domain varchar(255) not null,
      user_id int not null
);

CREATE INDEX user_id on ldap_domains (user_id);

Links

17/01/2014

Primeiro e último dia do mês em Shell Script

Mais um Ctrl+C, Ctrl+V logicamente sitando a fonte.
 
# primeiro dia do mes passado
echo $(date --date "last month" +01/%m/%Y)

# ultimo dia do mes passado
echo $(date --date "`date +%m/01/%Y` yesterday" +%d/%m/%Y)

# primeiro dia do mes atual
echo $(date --date "now" +01/%m/%Y)

# ultimo dia do mes atual
echo `date +$(/usr/bin/cal | awk '{print $NF}' | tail -1)/%m/%Y`

14/01/2014

Modificando Rótulos de Partições

O meu problema foi que tinha uma partição que ao ser exibida no Debian, ficava rotulada como Sistema de Arquivos de XXX Gb. Este problema estava ocorrendo em dois hambientes distindos:
  1. PC com dualboot (XP+Linux) e uma partição de dados no formato vfat
  2. PC somente com Linux e uma partição de dados no formato ext*
Para exibir o rotulo "NOME" para o caso 1, renomeiei a partição pelo XP.

Ja para o segundo caso segui os passos do tutorial do blog Mundo Gnu, que mostra como alterar o rótulo de partições utilizando os comandos blkid e tune2fs, o qual  somente pode ser aplicado a partições no formato ext*. 

Descrição dos comandos:

  • blkid: interface de linha de comando que trabalha com a biblioteca libblkid e pode obter informações sobre partições e disposividos. Mam-page.
  • tune2fs: disponível no pacote e2fsprogs, utilizado para ajustar vários parametros do sistema de arquivos em sistema de arquvis do tipo ext*. Main Page.

08/01/2014

Adicionais para convidados no Debian com MV

Abaixo a tradução do link original:
  1. Logue como root;
  2. Atualiza sua base APT com apt-get update;
  3. Realize upgrade com apt-get upgrade;
  4. Instale os pacotes requeridos
  5. apt-get install build-essential module-assistant
  6. Configure seu sistema para configurar os modulos do kernel
  7. m-a prepare
  8. Click em Instalar Adicionais para convidados... no menu da MV
  9. Crie uma pasta na sua home e copie dos dados do cdrom
  10. mkdir /home/login/vboxadd cp -R /media/cdrom/*  /home/login/vboxadd
  11. Acesse a pasta criada
  12. cd /home/login/vboxadd
  13. Rode sh VBoxLinuxAdditions.run, e siga as instruções
  14. Reiniciar o sistema.

07/01/2014

Tecla DELETE no gnome3

Por padrão o gnome 3 vem com o delete desabilitado, forçando a utilização de uma combinação de teclas (shift+dell || ctrl+dell) para que se possa excluir um arquivos.

Poupando o tempo de plágio, segue o link que explica como habilitar o delete sem a necessidade de combinar teclas.