quarta-feira, 5 de abril de 2017

Palestra FLISOL RJ 2017

Palestra no FLISOL RJ 2017



Segue os slides da minha palestra no FLISOL 2017 RJ, e uma cola dos comandos vboxmanage.

A palestra é sobre criação de uma VM no VirtualBox, pela linha de comandos do Linux, utilizando o comando vboxmanage!



O slide pode ser baixado aqui: link

A cola (PDF) pode ser baixada aqui: link



AUTOR:
Marcio C. Bravim (RJ) – Certificado LPI 3 e RHCE
Consultor Linux / Instrutor
marcio.cbravim@yahoo.com.br / @marciocbravim
Whatsapp (21) 96488-6449 




sexta-feira, 9 de dezembro de 2016

Script para remover caracter colchete e e renomear diretórios ou arquivos com espaços no nome

Script para remover caracter colchete e renomear diretórios ou arquivos com espaços no nome


No meu post anterior (link aqui), eu havia ensinado como remover os colchetes de nomes de diretórios, usando um simples script com os comandos mv e sed e, usando uma instrução de laço de repetição for. Este script serve para arquivos sem espaços no nome!

Ao se utilizar espaços em nomes, cada palavra de um nome, será reconhecido pelo shell do Linux como um arquivo distinto!

A solução que encontrei foi, colocar cada nome de arquivo ou diretório em um ARRAY, para poder tratar os nomes de forma distinta!

Segue, abaixo, o script para tratar nomes de arquivos com espaços e colchetes!

script-renomeia2.sh


#!/bin/bash #===============================================================
# script-renomeia2.sh
#===============================================================
# Script para remover colchetes e espaços dos nomes dos arquivos
#
# versão 1.0-ALPHA-20161206
#
# Autor: Marcio C. Bravim - LPI 3 e RHCE

# Consultoria e Treinamento Linux
# marcio.cbravim@yahoo.com.br
# movel/whatsapp: 21 - 96488-6449 (NEXTEL)
#===============================================================
## 


# Valor para primeiro ARRAY
A=0

# Conta total de linhas
X=`ls -G1 | grep "\[" | awk -F[ '{ print $2 }' |  wc -l`

for VAR in `seq 1 $X` ; do


      declare -a ARRAY_NOME_[$A]="`ls -G1 | grep "\[" | head -n $VAR | tail -n 1`"

      mv "${ARRAY_NOME_["$A"]}" "`echo ${ARRAY_NOME_["$A"]} | sed -e 's/\[//' | sed -e 's/\]//'`"

      let A=A+1


done

#=---
# FIM

Execute o script dentro do diretório em que se encontram os arquivos que serão renomeados!

Download do script pode ser feito por aqui: script-renomeia2.sh


Vida longa e Próspera!

#=------
Leu? Deixe um comentário! Compartilhe e Indique! Obrigado!!!
#=------


AUTOR:
Marcio C. Bravim (RJ) – Certificado LPI 3 e RHCE
Consultor Linux / Instrutor
marcio.cbravim@yahoo.com.br / @marciocbravim
Whatsapp (21) 96488-6449

segunda-feira, 5 de dezembro de 2016

Script para remover caracter colchete de nomes de diretórios e arquivos

Script para remover caracter colchete de nomes de diretórios e arquivos



Recentemente, um aluno me procurou com um problema!
Ele trabalha com jukebox (máquinas que tocam músicas) e, os nomes das pastas com os arquivos de músicas, estavam dentro de colchetes. Algo que, o programa que executa os arquivos, não sabia lidar, por causa deste caracter especial!

O diretório contendo os arquivos de músicas, estava, mais ou menos, desse jeito:

aluno@desktop: Musicas$ ls
[Axé] [Dance] [Forró] [Funk] [MPB] [Pagode] [Samba] [Sertanejo]


Ele precisava renomear todas as pastas, preservando seus nomes originais!

A solução: um simples script , com o uso do for, sed e mv, para renomear, de uma só vez, todos os nomes das pastas dos arquivos!

O SCRIPT:  

#!/bin/bash##
#===================================================================
# Script para remover colchetes ("[" e "]") dos nomes dos arquivos
#
# versão 1.0-ALPHA-20161205
#
# Autor: Marcio C. Bravim - LPI 3 e RHCE
# marcio.cbravim@yahoo.com.br
# movel/whatsapp: 21 - 96488-6449 (NEXTEL)
#===================================================================
##

VAR_NOME=`ls -G1 | fmt`
 

for VAR1 in $VAR_NOME ; do
      mv "${VAR1}" "`echo ${VAR1} | sed -e 's/\[//' | sed -e 's/\]//'`"
done

#=---
# FIM

 
A sequência --> `echo ${VAR1} | sed -e 's/\[//' | sed -e 's/\]//'` <-- está dentro de CRASE e ASPAS!

Execute o script dentro do diretório em que se encontram os arquivos que serão renomeados!

Você poderá modificar o script para, retirar qualquer caracter dos nomes dos arquivos!

Download do script pode ser feito por aqui: script-renomeia.sh

Vida longa e Próspera!

#=------
Leu? Deixe um comentário! Compartilhe e Indique! Obrigado!!!
#=------


AUTOR:
Marcio C. Bravim (RJ) – Certificado LPI 3 e RHCE
Consultor Linux / Instrutor
marcio.cbravim@yahoo.com.br / @marciocbravim
Whatsapp (21) 96488-6449 


domingo, 17 de julho de 2016

Mais de 4 placas de rede em uma VM no VirtualBox

Mais de 4 placas de rede em uma VM no VirtualBOX


Imagine a situação de, em seu ambiente de TI, possuir um servidor de arquivos ou web para vários domínios, cada um com uma subnet (faixa de IP) diferente, e necessitar de oferecer serviços com um único servidor.

Nesta situação, ao invés de configurar diversos "alias" de IP para uma única interface, uma solução interessante seria definir uma interface própria para cada domínio (subnet) que seu servidor atendesse!

Muitos não sabem, mas é possível ter em uma máquina virtual com mais de 4 interfaces de rede no VirtualBOX!

Pelo modo gráfico, a interface de gerenciamento do VirtualBOX só exibe 4 abas de configuração de adaptadores de rede. Mas, dependendo do chipset que for utilizado na VM, será possível configurar até 36 interfaces!

Isso mesmo: 36!

Só há um problema: Não será possível visualizar todas as interfaces pela janela do modo gráfico do VirtualBOX. Apenas 4 adaptadores de rede ficarão disponíveis para configuração (e 8 visíveis). As outras 32 interfaces, você terá que gerenciá-las pela linha de comando! Veja foto abaixo.



O chipset PIIX3 permite o uso de até 8 interfaces. Enquanto que, o chipset ICH9, permite até 36 interfaces!

Primeiramente, devemos alterar o chipset que é definido por padrão na criação da VM, que é o PIIX3, para o ICH9. Para isto, você deverá executar o comando vboxmanage, para modificar este parâmetro de sua VM.

No exemplo, minha VM é identificada pelo nome "Debian8-FileServer-1".  Portanto, o comando seria:

marciocbravim@desktop01:~$ vboxmanage modifyvm Debian8-FileServer-1 --chipset ich9

Para realizar esta tarefa na linha de comandos do Windows (cmd) execute o "Prompt de Comando" (Menu Iniciar > Todos os Programas > AcessóriosPrompt de Comando) e digite:

C:\Users\Marcio Bravim> cd "C:\Program Files\Oracle\VirtualBox"
C:\Program Files\Oracle\VirtualBox> .\VBoxManage.exe modifyvm Debian8-FileServer-1 --chipset ich9

Caso queira modificar esta opção pelo modo gráfico, na janela de configuração da máquina virtual, vá no item Sistema e, na aba Placa-Mãe, altere o chipset da VM (veja foto abaixo).

Criando as interfaces


E, para criar uma única interface pela linha de comando, execute o comando abaixo:

marciocbravim@desktop01:~$ vboxmanage modifyvm Debian8-FileServer-1 --nic1 bridged --bridgeadapter1 eth0 --nictype1 82540EM --cableconnected1 on --nicspeed1 1000000

Opções:

--nic1 bridged
A interface será criada no modo bridged. Tanto a máquina hospedeira (real) quanto a convidada (virtual) irão utilizar a placa de rede diretamente conectada ao segmento de rede. Ambas podem ser acessadas externamente.

--bridgeadapter1 eth0
Define que a interface conectada a máquina virtual será a primeira interface da máquina hospedeira (eth0).
No caso de um sistema Microsoft Windows, a opção, geralmente, é "Conexão local", para a primeira interface.

--nictype1 82540EM
Define o chipset da interface que será utilizado pelo sistema virtual.

--cableconnected1 on
Define que o cabo de rede será reconhecido pela máquina virtual como sempre conectado

--nicspeed1 1000000
Define que a velocidade da interface será de 1 milhão de quilobits (ou 1 Gbit/s)

Para criar com um único comando as 36 interfaces possíveis com o chipset ICH9, podemos utilizar uma instrução de laço de repetição, o for. Para tanto, digite:

marciocbravim@desktop01:~$ for VAR in `seq 1 36` ; do vboxmanage modifyvm Debian8-FileServer-1 --nic${VAR} bridged --bridgeadapter${VAR} eth0 --nictype${VAR} 82540EM --cableconnected${VAR} on --nicspeed${VAR} 1000000 ; done

Para realizar esta tarefa na linha de comandos do Windows, digite:

C:\Users\Marcio Bravim> for /l %x in (1, 1, 36) do "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyvm Debian8-FileServer-1 --nic%x bridged --bridgeadapter%x "Conexão local" --nictype%x 82540EM --cableconnected%x on --nicspeed%x 1000000

NOTA: Depois do "for", o caracter é "barra-éle"

Para remover uma interface, você pode digitar:

marciocbravim@desktop01:~$ vboxmanage modifyvm Debian8-FileServer-1 --nicX none

Onde --nicX  é o número da interface no qual deseja remover!


#=------
Leu? Deixe um comentário! Compartilhe e Indique! Obrigado!!!
#=------


AUTOR:
Marcio C. Bravim (RJ) – Certificado LPI 3 e RHCE
Consultor Linux / Instrutor
marcio.cbravim@yahoo.com.br / @marciocbravim
Whatsapp (21) 96488-6449 

sexta-feira, 11 de dezembro de 2015

Utilizando Sistemas Linux com o proxy FIREFRONT TMG da Microsoft


Utilizando Sistemas Linux com o proxy FIREFRONT TMG (Micro$oft)

 

O PROBLEMA

 

As bibliotecas de autenticação e criptografia utilizadas no FIREFRONT TMG - NTLM/NTLMv2 (com SSL / TLS), a princípio, são incompatíveis com sistemas Linux!

Por conta disso, serviços Linux que utilizam a internet, como o YUM (sistemas Red Hat e derivados), APT (sistemas Debian e derivados), e até navegadores como Firefox, não conseguem se autenticar corretamente em sistemas Microsoft com esse PROXY específico (na verdade, em uma configuração específica de autenticação), ocasionando erro nas conexões e/ou, até mesmo, a incapacidade de se conectar, caso do YUM e APT!

A SOLUÇÃO


A solução (temporária, ou definitiva (???)), é a utilização de um serviço proxy interno com o recurso de autenticação NTLM/NTLMv2, assumindo a conexão por esses serviços.

O programa em questão é o CNTLM, que providencia autenticação NTLM / NTLMv2, e utilizando-se de um proxy interno, providencia as conexões à internet para os serviços no/do Linux!

Ao instalar o programa, será necessário editar seu arquivo de configuração, onde, deverá ser feita a edição de alguns parâmetros, tais como, usuário, senha, domínio AD, hostname do cliente, e o IP/PORTA do proxy FIREFRONT. A porta padrão (3128) do CNTLM poderá ser mudada, também!

A segunda configuração é no próprio cliente Linux (seus serviços), que deverão "apontar" suas conexões para o proxy interno (no caso, o CNTLM - no endereço 127.0.0.1, e porta 3128).

As variáveis "http_proxy", "https_proxy", "ftp_proxy", "proxy" (para o YUM) e configuração de proxy no(s) navegador(es) deverá(ão) estar "setada(s)" para 127.0.0.1:3128.

O site oficial do projeto é: http://cntlm.sourceforge.net/

O pacote da versão 0.92.3 (mais atual em Dezembro de 2015) para instalação, poderá ser baixado em: http://sourceforge.net/projects/cntlm/files/cntlm/cntlm 200.92.3/

Existem versões do programa para sistemas derivados do Red Hat (.rpm), Debian (.deb), em .tar.gz (fontes). E há, até, uma versão para Windows (.exe)! Há pacotes para 32 e 64 bits!


INSTALAÇÃO e CONFIGURAÇÃO (DEBIAN 7 WHEEZY)


Para instalar o CNTLM, depois de baixá-lo, basta digitar:

root@localhost:~# dpkg -i cntlm_0.92.3_amd64.deb

É possível instalar o CNTLM pelos repositórios oficiais do DEBIAN. Mas, como provavelmente sua máquina não estará passando pelo proxy, você deverá baixar o pacote do site por outra máquina!

E, para editar seu arquivo de configuração:

root@localhost:~# vim /etc/cntlm.conf

Edite os seguintes parâmetros:

Username

→ Usuário utilizado no domínio

Domain

Nome do domínio do proxy


SOBRE SENHAS

Password 

Senha do usuário (para senhas em texto claro)

PassLM / PassNT / PassNTLMv2

É possível utilizar senhas NTLM ou NTLMv2
Senhas geradas com o comando “cntlm -H” (como root)

Workstation

Hostname da máquina Linux cliente

Proxy

IP e porta do proxy FIREFRONT
Poderão ser especificado vários

NoProxy

IPs que não passarão pelo CNTLM (conexão direta)

Listen

IP e porta local do CNTLM


Veja parte do arquivo configurado:

root@localhost:~# vim /etc/cntlm.conf
#
# Cntlm Authentication Proxy Configuration

...(CORTA)...

Username marciocbravim
Domain frotaestelar
Password ncc1701D
...(CORTA)...

Workstation bravimnote
...(CORTA)...

Proxy 10.5.1.115:8080
...(CORTA)...

Listen 3128


Após a edição, basta reiniciar o serviço:

root@localhost:~# invoke-rc.d cntlm restart
Stopping CNTLM Authentication Proxy: cntlm.
Starting CNTLM Authentication Proxy: cntlm.
root@localhost:~#

Após reiniciar o serviço, configure as variáveis de ambiente:

root@localhost:~# export http_proxy=http://127.0.0.1:3128
root@localhost:~# export https_proxy=http://127.0.0.1:3128
root@localhost:~# export ftp_proxy=http://127.0.0.1:3128

Adicione estas linhas no final do arquivo ~/.bashrc. E/Ou, no /etc/bash.bashrc.


Configure o APT para o proxy interno:

root@localhost:~# vim /etc/apt/apt.conf.d/70debconf
...(CORTA)...

Acquire::http::Proxy “http://127.0.0.1:3128”;

Teste o APT!


Configure o navegador ICEWEASEL (FIREFOX) com o proxy interno:



AUTOR:
Marcio C. Bravim (RJ) – Certificado LPI 3 e RHCE
Consultor Linux / Instrutor
marcio.cbravim@yahoo.com.br / @marciocbravim 
Whatsapp (21) 96488-6449