<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fogo na Caixa dAgua</title>
	<atom:link href="http://www.fogonacaixadagua.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fogonacaixadagua.com.br</link>
	<description>Quando 2 + 2 não é 4</description>
	<lastBuildDate>Fri, 25 Jun 2010 04:05:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nginx como serviço do Windows</title>
		<link>http://www.fogonacaixadagua.com.br/2010/06/windows-nginx-como-servico-do-windows/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/06/windows-nginx-como-servico-do-windows/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 04:03:57 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Troubleshoot]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1465</guid>
		<description><![CDATA[
			
		
		Pois é.
Deixando de lado toda aquela crítica e talz, é interessante saber como rodar o Nginx num servidor Windows como serviço.
Por que utilizar instsrv não funciona? Porque quando se inicia o nginx ele criar 2 processos nginx e o Service do Windows ao parar o serviço vai parar apenas 1 processo, deixando o outro pendurado [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/06/windows-nginx-como-servico-do-windows/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Pois é.</p>
<p>Deixando de lado toda aquela crítica e talz, é interessante saber como rodar o Nginx num servidor Windows como serviço.</p>
<p>Por que utilizar <tt>instsrv</tt> não funciona? Porque quando se inicia o nginx ele criar 2 processos nginx e o Service do Windows ao parar o serviço vai parar apenas 1 processo, deixando o outro pendurado e inutilizando o Service do Windows.</p>
<p>Tem um programa bastante interessante para lidar com esse tipo cenário, e óbviamente pode ser utilizado/adaptado para outras necessidades.</p>
<p>É um Wrapper para o Windows Service, chama-se <a title='Original Link: http://projectkenai.com/projects/winsw'  href="http://www.fogonacaixadagua.com.br/?nCYcUt44">Windows Service Wrapper</a> e para fazer o Download dele, acessar http://maven.dyndns.org/2/com/sun/winsw/winsw/ e baixar a última versão disponível (agora que escrevo é a 1.8), ou caso o site esteja fora, pode fazer o download por aqui <a href="http://www.virtualxp.org/downloads/winsw/winsw-1.8-bin.exe">winsw-1.8-bin.exe</a>.</p>
<h2>Instalando e configurando o Windows Service Wrapper</h2>
<p>Depois de ter feito o download do aplicativo, copie para o diretório onde instalou o nginx, geralmente é no <tt>c:\nginx</tt> e renome o arquivo <tt>winsw-1.8-bin.exe</tt> para <tt>srvnginx.exe</tt>.</p>
<p>Crie um arquivo <tt>.xml</tt>com o mesmo nome do executável, no caso <tt>srvnginx.xml</tt> e coloque o seguinte conteúdo:</p>
<pre class="brush: xml">
<service>
 <id>nginx</id>
 <name>nginx</name>
 <description>nginx</description>
 <executable>c:\nginx\nginx.exe</executable>
 <logpath>c:\nginx\</logpath>
 <logmode>roll</logmode>
 <depend></depend>
 <startargument>-p c:\nginx</startargument>
 <stopargument>-p c:\nginx -s stop</stopargument>
</service>
</pre>
<p>Certamente você deve alterar o caminho para o nginx de acordo com sua instalação.</p>
<p>Isto feito, para finalizar, execute o comando via <tt>cmd</tt></p>
<pre class="brush: plain">
c:\nginx\srvnginx.exe install
</pre>
<p>Pronto, o serviço <tt>nginx</tt> estará no Windows Service, pronto para o tradicional Stop/Start e funcionando a contento.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/06/windows-nginx-como-servico-do-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rootsh: Keylogger para CLI do Linux</title>
		<link>http://www.fogonacaixadagua.com.br/2010/04/rootsh-keylogger-para-cli-do-linux/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/04/rootsh-keylogger-para-cli-do-linux/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 14:11:43 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Keylogger]]></category>
		<category><![CDATA[Log]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1452</guid>
		<description><![CDATA[
			
		
		rootsh é um shell que loga tudo o que um usuário root vê no terminal. É útil se você tem vários administradores com acesso root num servidor e você quer gravar exatamente o que o usuário faz.
Fazer o download do rootsh-1.5.3.tar.gz.

wget http://www.virtualxp.org/downloads/rootsh-1.5.3.tar.gz

Descompactar, configurar, compilar e instalar:

tar zxvf rootsh-1.5.3.tar.gz -C /usr/src
cd /usr/src/rootsh-1.5.3
./configure --disable-syslog --disable-linenumbering
make
make install

Depois de [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/04/rootsh-keylogger-para-cli-do-linux/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>rootsh é um shell que loga tudo o que um usuário root vê no terminal. É útil se você tem vários administradores com acesso root num servidor e você quer gravar exatamente o que o usuário faz.</p>
<p>Fazer o download do <a href=http://www.virtualxp.org/downloads/rootsh-1.5.3.tar.gz>rootsh-1.5.3.tar.gz</a>.</p>
<pre class="brush: plain">
wget http://www.virtualxp.org/downloads/rootsh-1.5.3.tar.gz
</pre>
<p>Descompactar, configurar, compilar e instalar:</p>
<pre class="brush: shell">
tar zxvf rootsh-1.5.3.tar.gz -C /usr/src
cd /usr/src/rootsh-1.5.3
./configure --disable-syslog --disable-linenumbering
make
make install
</pre>
<p>Depois de instalado os binários, o sistema está quase pronto. A única necessidade que falta é criar o diretório do rootsh em <tt>/var/log</tt> onde serão gravados os logs. Esse procedimento não está documentado, mas é necessário.</p>
<pre class="brush:plain">
mkdir /var/log/rootsh
</pre>
<h2>Garantindo que o usuário root usará o rootsh como shell padrão</h2>
<p>Para garantir que o usuário <tt>root</tt> usará o <tt>rootsh</tt> como shell padrão, adicione o <tt>rootsh</tt> ao arquivo <tt>/etc/shells</tt>:</p>
<pre class="brush:plain">
echo /usr/local/bin/rootsh >> /etc/shells
</pre>
<p>Após esse passo, definir o shell para o usuário <tt>root</tt></p>
<pre class="brush: plain">
usermod -s /usr/local/bin/rootsh root
</pre>
<p>Então, toda vez que o usuário <tt>root</tt> fizer login, seja direto por <tt>ssh</tt> ou por <tt>su</tt> será criado um arquivo de log em <tt>/var/log/rootsh</tt> com a seguinte estrutura:</p>
<pre class="brush: plain">
< user >.< date >< time >.< process id ></pre>
<p>A formatação de cada arquivo de log é exatamente a mesma que o usuário vê no terminal.</p>
<pre class="brush: shell">
cd /var/log/rootsh
ls
root.20100420105208.00a0a.closed
#
</pre>
<h2>Conclusão</h2>
<p>Se você não confia em seus sysadmins, ou se você quer ter um controle a mais do que está sendo feito no seu sistema, não tem erro com <tt>rootsh</tt></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/04/rootsh-keylogger-para-cli-do-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>grep, sed, cut e cat: Script parser para log do Oracle Listener</title>
		<link>http://www.fogonacaixadagua.com.br/2010/04/grep-sed-cut-e-cat-script-parser-para-log-do-oracle-listener/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/04/grep-sed-cut-e-cat-script-parser-para-log-do-oracle-listener/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 14:32:21 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Log]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1447</guid>
		<description><![CDATA[
			
		
		O que o script faz?
Faz um parse no arquivo de log do Oracle Listener e extrai o HOST do usuário, o USER e o HOST e PORTA que o usuário está conectando.

#!/bin/bash
#
###############################################################################
#
# Descrição: Fazer o parse do LOG e extrair apenas o HOST e USER, também
#          [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/04/grep-sed-cut-e-cat-script-parser-para-log-do-oracle-listener/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><h2>O que o script faz?</h2>
<p>Faz um parse no arquivo de log do Oracle Listener e extrai o HOST do usuário, o USER e o HOST e PORTA que o usuário está conectando.</p>
<pre class="brush:shell">
#!/bin/bash
#
###############################################################################
#
# Descrição: Fazer o parse do LOG e extrair apenas o HOST e USER, também
#            HOST e PORT
# Autor: Daniel K Lima
# Data : 10/03/2010
# Uso  : ./parser.sh arquivo.log
#
###############################################################################

# Parâmetros
LOG=${1}
SED=$(which sed)
CUT=$(which cut)
GREP=$(which grep)
CAT=$(which cat)

# Arquivo temporário
TMP="/tmp/parser.tmp"

# Validação
if [ -z ${LOG} ]; then
        echo "Arquivo não existe ou não informado."
        echo "Utilize o formato ./parser.sh arquivo.log"
        exit 1
fi      

# Faz um grep no arquivo do LOG e só processa as linhas com CONNECT e
# substituir os ( ) por ,
$(${GREP} "CONNECT" ${LOG} | ${SED} -e 's/)/,/g' -e 's/(/,/g' > ${TMP})

# Processar cada linha que o filtro do GREP passou
${CAT} ${TMP} | while read line
do
	# Extrair do campo os valores e jogar pra uma variável própria
	USERHOST=$(echo ${line} | ${CUT} -d',' -f 10 | ${CUT} -d'=' -f 2)
	USERNAME=$(echo ${line} | ${CUT} -d',' -f 12 | ${CUT} -d'=' -f 2)
	SERVERHOST=$(echo ${line} | ${CUT} -d',' -f 19 | ${CUT} -d'=' -f 2)
	SERVERPORT=$(echo ${line} | ${CUT} -d',' -f 21 | ${CUT} -d'=' -f 2)

	# Imprimir os resultados
	echo "   HOST Usuário: ${USERHOST} "
	echo "       Username: ${USERNAME}"
	echo "  HOST Servidor: ${SERVERHOST}"
	echo "          Porta: ${SERVERPORT}"
	echo " "
done
</pre>
<p>Para customizar o resultado, é só editar as linhas 44 a 48 para adequar a sua necessidade.</p>
<h2>Exemplo do arquivo do Log</h2>
<p><b>Arquivo: </b> connect.log</p>
<pre class="brush: plain">
04-MAR-2010 19:09:18 * ,CONNECT_DATA=,SERVER=DEDICATED,,SERVICE_NAME=cmt,,CID=,PROGRAM=C:\Arquivos de programas\Quest Software\Toad for Oracle\TOAD.exe,,HOST=APBMZ-001062,,USER=Dario,,, * ,ADDRESS=,PROTOCOL=tcp,,HOST=10.100.5.2,,PORT=2898,, * establish * cmt * 0
04-MAR-2010 19:09:22 * ,CONNECT_DATA=,SERVER=DEDICATED,,SERVICE_NAME=cmt,,CID=,PROGRAM=C:\Arquivos de programas\Quest Software\Toad for Oracle\TOAD.exe,,HOST=APBMZ-001062,,USER=Dario,,, * ,ADDRESS=,PROTOCOL=tcp,,HOST=10.100.5.2,,PORT=2901,, * establish * cmt * 0
05-MAR-2010 12:01:40 * ,CONNECT_DATA=,SERVER=DEDICATED,,SERVICE_NAME=cmt,,CID=,PROGRAM=C:\TFSRoot\APB.Mercury.Fork.CMT\Main\Source\APB.Mercury\Mercury.WindowsService\WindowsService.IntgCmtBv\APB.Mercury.WindowsService.IntgCmtBv\bin\Debug\APB.Mercury.WindowsService.IntgCmtBv.vshost.exe,,HOST=ASD001,,USER=Igor,,, * ,ADDRESS=,PROTOCOL=tcp,,HOST=10.100.5.2,,PORT=53725,, * establish * cmt * 0
05-MAR-2010 13:01:12 * ,CONNECT_DATA=,SERVER=dedicated,,SERVICE_NAME=cmt,,CID=,PROGRAM=C:\Program Files\Quest Software\Toad for Oracle\toad.exe,,HOST=APB-RJZ2BM87D3X,,USER=jcb,,, * ,ADDRESS=,PROTOCOL=tcp,,HOST=10.100.5.2,,PORT=1421,, * establish * cmt * 0
05-MAR-2010 13:01:17 * ,CONNECT_DATA=,SERVER=dedicated,,SERVICE_NAME=cmt,,CID=,PROGRAM=C:\Program Files\Quest Software\Toad for Oracle\toad.exe,,HOST=APB-RJZ2BM87D3X,,USER=jcb,,, * ,ADDRESS=,PROTOCOL=tcp,,HOST=10.100.5.2,,PORT=1422,, * establish * cmt * 0
05-MAR-2010 13:22:05 * ,CONNECT_DATA=,SERVER=dedicated,,SERVICE_NAME=cmt,,CID=,PROGRAM=C:\Program Files\Quest Software\Toad for Oracle\toad.exe,,HOST=APB-RJZ2BM87D3X,,USER=jcb,,, * ,ADDRESS=,PROTOCOL=tcp,,HOST=10.100.5.2,,PORT=2701,, * establish * cmt * 0
</pre>
<h2>Exemplo do resultado do parse feito pelo script</h2>
<p>Resultado:</p>
<pre class="brush: plain">
   HOST Usuário: APBMZ-001062
       Username: Dario
  HOST Servidor: 10.100.5.2
          Porta: 2898

   HOST Usuário: APBMZ-001062
       Username: Dario
  HOST Servidor: 10.100.5.2
          Porta: 2901

   HOST Usuário: ASD001
       Username: Igor
  HOST Servidor: 10.100.5.2
          Porta: 53725

   HOST Usuário: APB-RJZ2BM87D3X
       Username: jcb
  HOST Servidor: 10.100.5.2
          Porta: 1421

   HOST Usuário: APB-RJZ2BM87D3X
       Username: jcb
  HOST Servidor: 10.100.5.2
          Porta: 1422

   HOST Usuário: APB-RJZ2BM87D3X
       Username: jcb
  HOST Servidor: 10.100.5.2
          Porta: 2701
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/04/grep-sed-cut-e-cat-script-parser-para-log-do-oracle-listener/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FreeBSD: listagem de todos os HDs instalados</title>
		<link>http://www.fogonacaixadagua.com.br/2010/04/freebsd-listagem-de-todos-os-hds-instalados/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/04/freebsd-listagem-de-todos-os-hds-instalados/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 00:10:42 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[CLI]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1436</guid>
		<description><![CDATA[Para fazer uma listagem de todos os HDs (discos) instalados num computador com FreeBSD, uma das formas de se fazer isso é executar o comando:
egrep 'ad[0-9]&#124;cd[0-9]' /var/run/dmesg.boot

E a saída desse comando será algo como:
acd0: CDRW  at ata0-master UDMA33
ad2: 76318MB  at ata1-master UDMA100
ad3: 76318MB  at ata1-slave UDMA100

Onde:

IDE Hard disk começa com ad &#8211; [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"></div><p>Para fazer uma listagem de todos os HDs (discos) instalados num computador com FreeBSD, uma das formas de se fazer isso é executar o comando:</p>
<pre class="brush: shell">egrep 'ad[0-9]|cd[0-9]' /var/run/dmesg.boot
</pre>
<p>E a saída desse comando será algo como:</p>
<pre class="brush: plain">acd0: CDRW  at ata0-master UDMA33
ad2: 76318MB  at ata1-master UDMA100
ad3: 76318MB  at ata1-slave UDMA100
</pre>
<p>Onde:</p>
<ol>
<li>IDE Hard disk começa com <strong>ad</strong> &#8211; /dev/ad0 primeiro IDE hard disk, /dev/ad1 segundo hard disk e assim por diante </li>
<li>SCSI Hard disk começam com <strong>da</strong> &#8211; /dev/da* </li>
<li>IDE CDROM/RW/DVD começam com <strong>acd</strong> &#8211; /dev/acd* </li>
<li>SCSI CDROM/RW/DVD começam com <strong>cd</strong> &#8211; /dev/cd*</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/04/freebsd-listagem-de-todos-os-hds-instalados/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CLI: Converter um PDF para uma imagem</title>
		<link>http://www.fogonacaixadagua.com.br/2010/04/cli-converter-um-pdf-para-uma-imagem/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/04/cli-converter-um-pdf-para-uma-imagem/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 03:18:04 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[RedHat]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1431</guid>
		<description><![CDATA[
			
		
		Ter um PDF é bom, é prático e tudo o mais, mas é necessário ter um programa específico para poder abrir os arquivos .pdf como o Acrobat Reader, o evince e outros.
As vezes não é necessário ou não é desejado ter um programa específico para poder abrir PDFs, sendo mais prático, no entanto, utilizar o [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/04/cli-converter-um-pdf-para-uma-imagem/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Ter um PDF é bom, é prático e tudo o mais, mas é necessário ter um programa específico para poder abrir os arquivos .pdf como o Acrobat Reader, o evince e outros.</p>
<p>As vezes não é necessário ou não é desejado ter um programa específico para poder abrir PDFs, sendo mais prático, no entanto, utilizar o próprio navegador que suporta abrir as imagens diretamente sem auxílio externo.</p>
<p>Caso essa seja a sua necessidade, converter os PDFs que estejam num servidor ou o que seja, vou mostrar abaixo como converter PDF para imagem através da linha de comando do Linux utilizando o programa ImageMagick.</p>
<h2>Instalando o ImageMagick no CentOS / Red Hat</h2>
<p>No Red Hat / CentOS é bem simples:</p>
<pre class="brush: shell">
yum install ImageMagick
</pre>
<p>Será instalado o ImageMagick e todas as dependências. Não se assuste se dentre elas ter alguma biblioteca do x.org, é necessário para várias bibliotecas de imagem.</p>
<h2>Convertendo o PDF em imagem</h2>
<p>Para converter o PDF propriamente dito para um arquivo de imagem, simplesmente execute o comando <tt>convert</tt> mais o destino, por exemplo:</p>
<pre class="brush: shell">
convert Relatorio2010.pdf Relatorio2010.png
</pre>
<p>Será gerado uma imagem do PDF no formato .png, mas caso seja necessário que o PDF seja convertido para JPEG, altere a extensão do arquivo de destino:</p>
<pre class="brush: shell">
convert Relatorio2010.pdf Relatorio2010.jpg
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/04/cli-converter-um-pdf-para-uma-imagem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache: Autenticação com eDirectory</title>
		<link>http://www.fogonacaixadagua.com.br/2010/04/apache-autenticacao-com-edirectory/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/04/apache-autenticacao-com-edirectory/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 19:52:14 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[eDirectory]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[RedHat]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1423</guid>
		<description><![CDATA[
			
		
		Quando há um LDAP server na rede, nesse caso o eDirectory, é interessante manter uma centralização dos usuários pois não é necessário ficar criando usuários manualmente nem os usuários terão várias senhas para guardar.
Parto do princípio que já tenha o Apache instalado e funcionando.
É necessário o mod_authz_ldap para configurar essa autenticação com o LDAP.
Instalando o [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/04/apache-autenticacao-com-edirectory/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Quando há um LDAP server na rede, nesse caso o eDirectory, é interessante manter uma centralização dos usuários pois não é necessário ficar criando usuários manualmente nem os usuários terão várias senhas para guardar.</p>
<p>Parto do princípio que já tenha o Apache instalado e funcionando.</p>
<p>É necessário o <tt>mod_authz_ldap</tt> para configurar essa autenticação com o LDAP.</p>
<h2>Instalando o mod_authz_ldap</h2>
<p>No CentOS / Red Hat, para instalar:</p>
<pre class="brush: plain">yum install mod_authz_ldap</pre>
<h2>Configurando o diretório que deverá ser autenticado</h2>
<p>O que é necessário saber do eDirectory server para poder autenticar com sucesso:</p>
<ul>
<li>IP do server</li>
<li>Usuário para fazer o bind, ou seja, é o usuário que tem permissão para realizar a busca na árvore</li>
<li>Se for fazer a autenticação baseada em grupo, saber qual grupo e em que contexto está esse grupo</li>
</ul>
<h3>Usando vhost</h3>
<p>Nesse exemplo, utilizarei o conceito de <tt>vhost</tt> para a configuração da restrição de acesso.</p>
<p>Para isso, criar um arquivo de configuração no diretório <tt>/etc/httpd/conf.d</tt> chamado <tt>wordpress.conf</tt> e seu conteúdo é como abaixo</p>
<h4>Controle por grupo</h4>
<p>No caso, o grupo chama-se <b>GRP_Wordpress</b>.</p>
<p><b>Arquivo</b>: <tt>/etc/httpd/conf.d/wordpress.conf</tt></p>
<pre class="brush: plain">
<virtualhost *:80>
    DocumentRoot /var/www/html/wordpress
    <directory /var/www/html/wordpress>
        AuthName "Utilize o login da rede Novell Netware"
        AuthType basic
        AuthBasicProvider file ldap

        AuthLDAPBindDN cn=dklima,ou=FCA,o=FogoNaCaixadAgua
        AuthLDAPBindPassword P45sw0rD

        AuthLDAPURL "ldap://192.168.11.10:389/ou=FCA,o=FogoNaCaixadAgua?cn?sub?(securityEquals=cn=GRP_Wordpress,ou=FCA,o=FogoNaCaixadAgua)"
        Require valid-user
        AuthzLDAPAuthoritative off
    </directory>
    ServerName wordpress.fogonacaixadagua
</virtualhost>
</pre>
<h4>Validar apenas usuário</h4>
<p><b>Arquivo</b>: <tt>/etc/httpd/conf.d/wordpress.conf</tt></p>
<pre class="brush: plain">
<virtualhost *:80>
    DocumentRoot /var/www/html/wordpress
    <directory /var/www/html/wordpress>
        AuthName "Utilize o login da rede Novell Netware"
        AuthType basic
        AuthBasicProvider file ldap

        AuthLDAPBindDN cn=dklima,ou=FCA,o=FogoNaCaixadAgua
        AuthLDAPBindPassword P45sw0rD

        AuthLDAPURL "ldap://192.168.11.10:389/ou=FCA,o=FogoNaCaixadAgua?cn?sub"
        Require valid-user
        AuthzLDAPAuthoritative off
    </directory>
    ServerName wordpress.fogonacaixadagua
</virtualhost>
</pre>
<p>Com isso, quando foi solicitado acesso ao diretório <tt>/var/www/html/wordpress</tt>, o será solicitado um usuário válido para pode acessar o site.</p>
<p>É necessário reiniciar o processo do Apache</p>
<pre class="brush: plain">
service httpd restart</pre>
<h3>Usando .htaccess</h3>
<p>Nesse exemplo, o conceito usado é para utilizar um arquivo <tt>.htaccess</tt> dentro do diretório que será restrito o acesso.</p>
<p>Criar o arquivo <tt>.htaccess</tt> no diretório, nesse exemplo <tt>/var/www/html/wordpress</tt> com o seguinte conteúdo:</p>
<h4>Controle por grupo</h4>
<p>No caso, o grupo chama-se <b>GRP_Wordpress</b>.</p>
<p><b>Arquivo: </b><tt>/var/www/html/wordpress/.htaccess</tt></p>
<pre class="brush:plain">
        AuthName "Utilize o login da rede Novell Netware"
        AuthType basic
        AuthBasicProvider file ldap

        AuthLDAPBindDN cn=dklima,ou=FCA,o=FogoNaCaixadAgua
        AuthLDAPBindPassword P45sw0rD

        AuthLDAPURL "ldap://192.168.11.10:389/ou=FCA,o=FogoNaCaixadAgua?cn?sub?(securityEquals=cn=GRP_Wordpress,ou=FCA,o=FogoNaCaixadAgua)"
        Require valid-user
        AuthzLDAPAuthoritative off
</pre>
<h4>Validar apenas usuários</h4>
<p><b>Arquivo: </b><tt>/var/www/html/wordpress/.htaccess</tt></p>
<pre class="brush:plain">
        AuthName "Utilize o login da rede Novell Netware"
        AuthType basic
        AuthBasicProvider file ldap

        AuthLDAPBindDN cn=dklima,ou=FCA,o=FogoNaCaixadAgua
        AuthLDAPBindPassword P45sw0rD

        AuthLDAPURL "ldap://192.168.11.10:389/ou=FCA,o=FogoNaCaixadAgua?sn?sub
        Require valid-user
        AuthzLDAPAuthoritative off
</pre>
<p>Não é necessário reiniciar o apache.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/04/apache-autenticacao-com-edirectory/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Enabling Remote Access to the Installation System &#8211; RedHat based</title>
		<link>http://www.fogonacaixadagua.com.br/2010/04/enabling-remote-access-to-the-installation-system-redhat-based/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/04/enabling-remote-access-to-the-installation-system-redhat-based/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 17:25:55 +0000</pubDate>
		<dc:creator>Juca</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[Red Hat]]></category>
		<category><![CDATA[vnc]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/2010/04/enabling-remote-access-to-the-installation-system-redhat-based/</guid>
		<description><![CDATA[
			
		
		Enabling Remote Access to the Installation System
You may access either graphical or text interfaces for the installation system from any other system. 
 Access to a text mode display requires telnet, which is installed by default on Fedora systems. 
 To remotely access the graphical display of an installation system, use client software that supports [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/04/enabling-remote-access-to-the-installation-system-redhat-based/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><h1>Enabling Remote Access to the Installation System</h1>
<p>You may access either graphical or text interfaces for the installation system from any other system. <br />
 Access to a text mode display requires telnet, which is installed by default on Fedora systems. <br />
 To remotely access the graphical display of an installation system, use client software that supports the VNC (Virtual Network Computing) display protocol. <br />
 A number of providers offer VNC clients for Microsoft Windows and Mac OS, as well as UNIX-based systems.</p>
<p>The installation system supports two methods of establishing a VNC connection. <br />
 You may start the installation, and manually login to the graphical display with a VNC client on another system. <br />
 Alternatively, you may configure the installation system to automatically connect to a VNC client on the network that is running in listening mode.</p>
<h2>Enabling Remote Access with VNC</h2>
<p>To enable remote graphical access to the installation system, enter two options at the boot prompt:</p>
<pre class="brush: shell">
linux vnc vncpassword=qwerty
</pre>
<p> (The VNC password must be at least six characters long.)</p>
<p>The <tt>vnc</tt> option enables the VNC service. The <tt>vncpassword</tt> option sets a password for remote access. The example shown above sets the password as <tt>qwerty</tt> .</p>
<p>Specify the language, keyboard layout and network settings for the installation system with the screens that follow. You may then access the graphical interface through a VNC client. The installation system displays the correct connection setting for the VNC client:</p>
<h3>Starting VNC&#8230;</h3>
<p> The VNC server is now running.<br />
 Please connect to <tt>computer.mydomain.com:1</tt> to begin the install&#8230;<br />
 Starting graphical installation&#8230;<br />
 Press <enter> for a shell</enter></p>
<p>You may then login to the installation system with a VNC client. To run the <tt>vncviewer</tt> client on Fedora, choose <tt>Applications -> Accessories -> VNC Viewer</tt> , or type the command <tt>vncviewer</tt> in a terminal window. Enter the server and display number in the VNC Server dialog. For the example above, the VNC Server is <tt>computer.mydomain.com:1</tt> .</p>
<h3>Connecting the Installation System to a VNC Listener</h3>
<p>To have the installation system automatically connect to a VNC client, first start the client in listening mode. On Fedora systems, use the <tt>-listen</tt> option to run vncviewer as a listener. In a terminal window, enter the command:</p>
<pre class="brush: plain">vncviewer -listen</pre>
<h3>Firewall Reconfiguration Required </h3>
<p>By default, vncviewer uses TCP port 5500 when in listening mode. To permit connections to this port from other systems, choose <tt>System -> Administration -> Security Level and Firewall</tt> . Select <tt>Other ports</tt> , and <tt>Add</tt> . Enter <tt>5500</tt> in the Port(s) field, and specify <tt>tcp</tt> as the Protocol .</p>
<p>Once the listening client is active, start the installation system and set the VNC options at the <tt>boot:</tt> prompt. In addition to <tt>vnc</tt> and <tt>vncpassword</tt> options, use the <tt>vncconnect</tt> option to specify the name or IP address of the system that has the listening client. To specify the TCP port for the listener, add a colon and the port number to the name of the system.</p>
<p>For example, to connect to a VNC client on the system <tt>desktop.mydomain.com</tt> on the port <tt>5500</tt>, enter the following at the <tt>boot:</tt> prompt:</p>
<pre class="brush: plain">linux vnc vncpassword=qwerty vncconnect=desktop.mydomain.com:5500</pre>
<h2>Enabling Remote Access with Telnet</h2>
<p>To enable remote access to a text mode installation, use the <tt>telnet</tt> option at the <tt>boot:</tt> prompt:</p>
<pre class="brush: plain">linux text telnet</pre>
<p>You may then connect to the installation system with the telnet utility. The telnet command requires the name or IP address of the installation system:</p>
<pre class="brush: shell">telnet computer.mydomain.com</pre>
<p> (Telnet Access Requires No Password)</p>
<p>To ensure the security of the installation process, only use the telnet option to install systems on networks with restricted access.</p>
<p><b>Source:</b> <a title='Original Link: http://www.linuxtopia.org/online_books/installation_guides/redhat_fedora_core_5_installation_guide/sn-remoteaccess-installation.html'  href="http://www.fogonacaixadagua.com.br/?1g5Lg3Sa">Linuxtopia</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/04/enabling-remote-access-to-the-installation-system-redhat-based/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH: adicionar um banner quando alguém tentar fazer Login</title>
		<link>http://www.fogonacaixadagua.com.br/2010/04/ssh-adicionar-um-banner-quando-alguem-tentar-fazer-login/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/04/ssh-adicionar-um-banner-quando-alguem-tentar-fazer-login/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 12:27:41 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1369</guid>
		<description><![CDATA[
			
		
		Isto é definido pelo parâmetro Banner do arquivo /etc/ssh/sshd_config. 
Primeiro, crie o arquivo que conterá a mensagem que será apresentada quando o usuário tentar fazer login via SSH no servidor.
Arquivo: /etc/ssh/banner.txt

************************************************

            NOTICE TO USERS WARNING! 

The use of this system is restricted to authorized
users, [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/04/ssh-adicionar-um-banner-quando-alguem-tentar-fazer-login/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Isto é definido pelo parâmetro <tt>Banner</tt> do arquivo <tt>/etc/ssh/sshd_config</tt>. </p>
<p>Primeiro, crie o arquivo que conterá a mensagem que será apresentada quando o usuário tentar fazer login via SSH no servidor.</p>
<p><b>Arquivo:</b> <tt>/etc/ssh/banner.txt</tt></p>
<pre class="brush: plain">
************************************************

            NOTICE TO USERS WARNING! 

The use of this system is restricted to authorized
users, unauthorized access is forbidden and will
be prosecuted by law. 

All information and communications on this system
are subject to review, monitoring and recording at
any time, without notice or permission. 

Users should have no expectation of privacy. 

*************************************************
</pre>
<p>Edite o arquivo <tt>/etc/ssh/sshd_config</tt> e procure pelo parâmetro <tt>Banner</tt>, geralmente está próximo do final desse arquivo.</p>
<p>Provavelmente esse parâmetro estará comentado:</p>
<pre class="brush: shell">
#Banner /some/path
</pre>
<p>Altere essa linha para:</p>
<pre class="brush: plain">
Banner /etc/ssh/banner.txt
</pre>
<p>Grave a alteração e reinicie o servidor do ssh:</p>
<pre class="brush: shell">
service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
</pre>
<p>ou</p>
<pre class="brush: shell">
/etc/init.d/sshd restart
</pre>
<p>Para testar se tudo está OK, tente conectar-se via SSH no host que foi feita a alteração:</p>
<pre class="brush:shell">
ssh localhost
</pre>
<p>Deverá ser apresentada uma tela parecida com a seguinte:</p>
<pre class="brush:plain">
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is e8:86:ca:cc:e5:fd:cc:76:c3:57:55:5b:67:f8:98:c3.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
************************************************

            NOTICE TO USERS WARNING! 

The use of this system is restricted to authorized
users, unauthorized access is forbidden and will
be prosecuted by law. 

All information and communications on this system
are subject to review, monitoring and recording at
any time, without notice or permission. 

Users should have no expectation of privacy. 

*************************************************

root@localhost's password:
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/04/ssh-adicionar-um-banner-quando-alguem-tentar-fazer-login/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SED: adicionar 1 string a cada 2 caracteres</title>
		<link>http://www.fogonacaixadagua.com.br/2010/03/sed-adicionar-1-string-a-cada-2-caracteres/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/03/sed-adicionar-1-string-a-cada-2-caracteres/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 13:47:26 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[sed]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1353</guid>
		<description><![CDATA[
			
		
		Estou colocando aqui um exemplo que pode ser adaptado para sua necessidade.
No caso, essa linha adiciona o caracter &#8220;:&#8221; (sem as aspas) a cada 2 caracteres.
Utilizei para formatar uma lista enorme de MAC address que me foi passado no formato 00106037614C
O arquivo texto original continha várias linhas:
Arquivo: mac1.txt

001060376173
001060376124
00106037614C
001060374840
001060376125
00106037612A
001060376176
001060375D9A
001060375D97

E executando sed, na linha abaixo

sed -e :a [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/03/sed-adicionar-1-string-a-cada-2-caracteres/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Estou colocando aqui um exemplo que pode ser adaptado para sua necessidade.</p>
<p>No caso, essa linha adiciona o caracter &#8220;:&#8221; (sem as aspas) a cada 2 caracteres.</p>
<p>Utilizei para formatar uma lista enorme de MAC address que me foi passado no formato <tt>00106037614C</tt></p>
<p>O arquivo texto original continha várias linhas:</p>
<p><b>Arquivo:</b> <tt>mac1.txt</tt></p>
<pre class="brush: plain">
001060376173
001060376124
00106037614C
001060374840
001060376125
00106037612A
001060376176
001060375D9A
001060375D97
</pre>
<p>E executando sed, na linha abaixo</p>
<pre class="brush: shell">
sed -e :a -e 's/\(.*[0-9,A-Z]\)\([0-9,A-Z]\{2\}\)/\1:\2/;ta' mac1.txt > mac2.txt
</pre>
<p>O resultado que foi direcionado para o arquivo <tt>mac2.txt</tt> é o desejado:</p>
<pre class="brush: plain">
00:10:60:37:61:73
00:10:60:37:61:24
00:10:60:37:61:4C
00:10:60:37:48:40
00:10:60:37:61:25
00:10:60:37:61:2A
00:10:60:37:61:76
00:10:60:37:5D:9A
00:10:60:37:5D:97
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/03/sed-adicionar-1-string-a-cada-2-caracteres/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Samba com Antivírus ClamAV no Red Hat 5.x / CentOS 5.x</title>
		<link>http://www.fogonacaixadagua.com.br/2010/03/samba-com-antivirus-clamav-no-red-hat-centos/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/03/samba-com-antivirus-clamav-no-red-hat-centos/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 21:51:48 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1317</guid>
		<description><![CDATA[
			
		
		Não é preciso descrever como é importante em um ambiente onde haja computadores Windows envolvidos que é necessário ter um antivírus no servidor de arquivos Linux ou FreeBSD com o Samba.
Essa versão do artigo irá cobrir Red Hat / CentOS versão 5.x.
Pré-requisitos

Instalação mínima do CentOS e RedHat 5.3
Utilizando o repositório Yum RPMforge

1.0 Instalando o ClamAV
É [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/03/samba-com-antivirus-clamav-no-red-hat-centos/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Não é preciso descrever como é importante em um ambiente onde haja computadores Windows envolvidos que é necessário ter um antivírus no servidor de arquivos Linux ou FreeBSD com o Samba.</p>
<p>Essa versão do artigo irá cobrir Red Hat / CentOS versão 5.x.</p>
<h2>Pré-requisitos</h2>
<ul>
<li><a href="http://www.fogonacaixadagua.com.br/2009/08/instalacao-minima-do-centos-e-redhat-5-3/">Instalação mínima do CentOS e RedHat 5.3</a></li>
<li><a href="http://www.fogonacaixadagua.com.br/2009/08/utilizando-o-repositorio-yum-rpmforge/">Utilizando o repositório Yum RPMforge</a></li>
</ul>
<h2>1.0 Instalando o ClamAV</h2>
<p>É necessário o repositório Yum RPMforge estar instalado e configurado. Veja &#8220;Pré-requisitos&#8221;.</p>
<pre class="brush: shell">yum install clamav clamav-db clamd
</pre>
<h3>1.1 Configurando o clamd</h3>
<p>Após a instalação do clamav, edite o arquivo <tt>/etc/clamd.conf</tt> e adeque as suas necessidades.</p>
<p>Para uma utilização geral, a seguinte configuração é suficiente:</p>
<p><strong>Arquivo: </strong><tt>/etc/clamd.conf</tt></p>
<pre class="brush: plain">LogFile /var/log/clamav/clamd.log
LogFileMaxSize 0
LogTime yes
LogSyslog yes
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/tmp
DatabaseDirectory /var/clamav
LocalSocket /var/run/clamav/clamd.sock
FixStaleSocket yes
TCPSocket 3310
TCPAddr 127.0.0.1
MaxConnectionQueueLength 30
MaxThreads 50
ReadTimeout 300
User root
AllowSupplementaryGroups yes
ScanPE yes
ScanELF yes
DetectBrokenExecutables yes
ScanOLE2 yes
ScanMail yes
ScanArchive yes
ArchiveBlockEncrypted no
</pre>
<p>Por que o usuário &#8216;root&#8217;? Porque por padrão o Clamd roda como usuário &#8216;clamav&#8217; e quando o Samba chamar o clamav e for necessário apagar algum arquivo com vírus ele não vai ter permissão.</p>
<p>Inicar e garantir que iniciará no boot:</p>
<pre class="brush: plain">
chkconfig --levels 35 clamd on
service clamd start
</pre>
<pre class="brush: plain">Starting Clam AntiVirus Daemon:                            [  OK  ]
</pre>
<h3>1.2 Configurando freshclam para atualizações</h3>
<p>Editar o arquivo de configuração do freshclam que ficará parecido com o seguinte:</p>
<p><strong>Arquivo:</strong> <tt>/etc/freshclam.conf</tt></p>
<pre class="brush: plain; gutter: true">DatabaseDirectory /var/clamav
UpdateLogFile /var/log/clamav/freshclam.log
LogTime yes
DatabaseMirror db.br.clamav.net
DatabaseMirror database.clamav.net
DatabaseOwner root
NotifyClamd /etc/clamd.conf
SubmitDetectionStats /etc/clamd.conf
</pre>
<p>Criar o arquivo de log pro Freshclam</p>
<pre class="brush:plain">
touch /var/log/clamav/freshclam.log
chown clamav:clamav /var/log/clamav/freshclam.log
</pre>
<p>Caso seu servidor não tenha acesso diretamente à internet mas você possui um proxy na rede, coloque os seguintes parâmetros no arquivo <tt>/etc/freshclam.conf</tt> com as informações do proxy.</p>
<p><strong>Arquivo:</strong> <tt>/etc/freshclam.conf</tt></p>
<pre class="brush: plain">HTTPProxyServer 192.168.1.1
HTTPProxyPort 3128
HTTPProxyUsername user
HTTPProxyPassword s3nh4
</pre>
<p>Após isso, a permissão do arquivo <tt>/etc/freshclam.conf</tt> deverá ser <tt>0600</tt>.</p>
<pre class="brush: shell">chmod 0600 /etc/freshclam.conf
</pre>
<p>Pode-se executar o comando <tt>freshclam</tt> para atualizar a assinatura de vírus.</p>
<pre class="brush: shell">freshclam
</pre>
<h2>2.0 Instalando o Samba</h2>
<p>A versão que vem por padrão com o Red Hat / CentOS não é possível utilizar em conjunto com o vscan, por isso será necessário compilar o Samba para que tenha suporte ao samba-vscan.</p>
<h4>2.0.1 RPMs 64 bits gerados</h4>
<p>Se o seu SO é 64 bits, então os pacotes do Samba eu compilei e estou disponbilizando aqui, pra facilitar o trabalho e não ser necessário instalar o ambiente de desenvolvimento no servidor.</p>
<ul>
<li><a href="http://www.virtualxp.org/downloads/samba-3.0.33/x86_64/samba-3.0.33-3.14.x86_64.rpm">samba-3.0.33-3.14.x86_64.rpm</a></li>
<li><a href="http://www.virtualxp.org/downloads/samba-3.0.33/x86_64/samba-client-3.0.33-3.14.x86_64.rpm">samba-client-3.0.33-3.14.x86_64.rpm</a></li>
<li><a href="http://www.virtualxp.org/downloads/samba-3.0.33/x86_64/samba-common-3.0.33-3.14.x86_64.rpm">samba-common-3.0.33-3.14.x86_64.rpm</a></li>
</ul>
<p>Caso queira compilar, prossiga para o próximo passo</p>
<h4>2.0.2 Preparando o Samba para gerar o pacote .rpm</h4>
<p>Faça o download do RPM source do samba:</p>
<pre class="brush: plain">cd ~
wget http://netops.nexicom.net/centos/5.4/updates/SRPMS/samba-3.0.33-3.14.el5.src.rpm</pre>
<p>Instalar os arquivos:</p>
<pre class="brush: plain">rpm -ivh samba-3.0.33-3.14.el5.src.rpm
</pre>
<p>É necessário descompacatar o .tar.gz do código fonte e depois compactá-lo.</p>
<pre class="brush:shell">cd /usr/src/redhat/SOURCES
tar zxvf samba-3.0.33.tar.gz
cd samba-3.0.33/source
./autogen.sh &amp;&amp; ./configure
make proto
</pre>
<p>Se ao tentar compilar o Samba, ao executar os comandos acima você tiver a seguinte mensagem:</p>
<pre class="brush: plain">
./autogen.sh &#038;&#038; ./configure
./autogen.sh: running script/mkversion.sh
./script/mkversion.sh: 'include/version.h' created for Samba("3.0.33")
./autogen.sh: running autoheader -I. -Ilib/replace
./autogen.sh: running autoconf -I. -Ilib/replace
Now run ./configure and then make.
SAMBA VERSION: 3.0.33
LIBREPLACE_LOCATION_CHECKS: START
...
LIBREPLACE_LOCATION_CHECKS: END
LIBREPLACE_CC_CHECKS: START
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
</pre>
<p>É por que não tem os pacotes de desenvolvimento instalado, para resolver isso, instale-os:</p>
<pre class="brush: plain">
yum install rpm-build gcc gcc-c++ make autoconf automake libtool</pre>
<h3>2.1 Fazer o download do vscan</h3>
<h4>2.1.1 Binário 64bits do vscan</h4>
<p>Caso seu SO seja 64 bits, estou dispobilizando a biblioteca do vscan-clamav já compilada.</p>
<ul>
<li><a href="http://www.virtualxp.org/downloads/samba-vscan-0.3.6c-beta5/x86_64/vscan-clamav.so">vscan-clamav.so</a></li>
</ul>
<p>Caso seja 32 bits ou queira compilar o código fonte, prossiga para o próximo tópico.</p>
<h4>2.1.2 Compilando pelo código fonte</h4>
<pre class="brush: shell">cd ~
wget http://www.openantivirus.org/download/samba-vscan-0.3.6c-beta5.tar.gz
</pre>
<p>Descompactar:</p>
<pre class="brush: shell">tar zxvf ~/samba-vscan-0.3.6c-beta5.tar.gz -C /usr/src
</pre>
<p>Compilar o samba-vscan:</p>
<pre class="brush: shell">cd /usr/src/samba-vscan-0.3.6c-beta5/
./configure --with-libclamav --with-samba-source=/usr/src/redhat/SOURCES/samba-3.0.33/source/
</pre>
<p>Ao final, você terá algo como:</p>
<pre class="brush: plain">** Configuration summary for samba-vscan 0.3.6c beta5 :

 Compile samba-vscan for Samba      : "3.0.33"
 Compile samba-vscan with sources in: /usr/src/redhat/SOURCES/samba-3.0.33/source/
 Compile samba-vscan backends       : oav sophos fprotd fsav trend icap mksd kavp clamav nai antivir
 Use GLOBAL_LIBS                    : -lmagic
 Use libmksd as                     : builtin
 Use libkavdc as                    : builtin
</pre>
<p>Hora de começar a compilar o samba-vscan:</p>
<pre class="brush: shell">cd /usr/src/samba-vscan-0.3.6c-beta5
make
</pre>
<p>Por enquanto é isso. Não execute <tt>make install</tt>.</p>
<h3>2.1 Gerando o .rpm para o samba com vscan</h3>
<h4>2.1.1 Gerar o .rpm do samba</h4>
<p>Agora é necessário compactar o diretório <tt>samba-3.0.33</tt> novamente pra gerar o .rpm com tudo certo dentro.</p>
<p>Instalar dependências:</p>
<pre class="brush: shell">yum install cups-devel gnutls-devel pam-devel readline-devel ncurses-devel libacl-devel openldap-devel openssl-devel
</pre>
<pre class="brush: shell">cd /usr/src/redhat/SOURCES/
mv samba-3.0.33.tar.gz samba-3.0.33.tar.gz.orig
tar zcvf samba-3.0.33.tar.gz samba-3.0.33
</pre>
<p>Gerar o .rpm do samba-3.0.33:</p>
<pre class="brush: shell">cd /usr/src/redhat/SPECS/
rpmbuild -bb samba.spec
</pre>
<p>Ao final do processo, você terá algo como:</p>
<pre class="brush: plain">Wrote: /usr/src/redhat/RPMS/x86_64/samba-3.0.33-3.14.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/samba-client-3.0.33-3.14.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/samba-common-3.0.33-3.14.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/samba-swat-3.0.33-3.14.x86_64.rpm
Wrote: /usr/src/redhat/RPMS/x86_64/samba-debuginfo-3.0.33-3.14.x86_64.rpm
...
</pre>
<p>Para instalar, utilizaremos o próprio <tt>rpm</tt>.</p>
<pre class="brush: plain">rpm -iUvh /usr/src/redhat/RPMS/x86_64/samba-3.0.33-3.14.x86_64.rpm /usr/src/redhat/RPMS/x86_64/samba-client-3.0.33-3.14.x86_64.rpm /usr/src/redhat/RPMS/x86_64/samba-common-3.0.33-3.14.x86_64.rpm
</pre>
<p>Eu já tinha o samba instalado e nesse caso não me deixou instalar por cima e finalizou com as seguintes mensagens:</p>
<pre class="brush: plain">Preparing...                ########################################### [100%]
	package samba-common-3.0.33-3.15.el5_4.1.x86_64 (which is newer than samba-common-3.0.33-3.14.x86_64) is already installed
	package samba-3.0.33-3.15.el5_4.1.x86_64 (which is newer than samba-3.0.33-3.14.x86_64) is already installed
	package samba-client-3.0.33-3.15.el5_4.1.x86_64 (which is newer than samba-client-3.0.33-3.14.x86_64) is already installed
</pre>
<p>Nesse caso é seguro executar o <tt>rpm</tt> com o parâmetro <tt>--force</tt></p>
<pre class="brush: plain">rpm -iUvh --force /usr/src/redhat/RPMS/x86_64/samba-3.0.33-3.14.x86_64.rpm /usr/src/redhat/RPMS/x86_64/samba-client-3.0.33-3.14.x86_64.rpm /usr/src/redhat/RPMS/x86_64/samba-common-3.0.33-3.14.x86_64.rpm
</pre>
<pre class="brush: plain">Preparing...                ########################################### [100%]
   1:samba-common           ########################################### [ 33%]
   2:samba                  ########################################### [ 67%]
   3:samba-client           ########################################### [100%]
</pre>
<h2>3.0 Configuração do vscan</h2>
<p>No diretório <tt>/etc/samba</tt> crie o arquivo de configuração para o samba-vscan (um exemplo desse arquivo está em: <tt>/usr/src/samba-vscan-0.3.6c-beta5/clamav/vscan-clamav.conf)</tt></p>
<p><strong>Arquivo: </strong><tt>/etc/samba/vscan-clamav.conf</tt></p>
<pre class="brush:plain">max file size = 0
verbose file logging = no
scan on open = yes
scan on close = yes
deny access on error = yes
deny access on minor error = yes
send warning message = yes
infected file action = delete
quarantine directory  = /tmp
quarantine prefix = vir-
max lru files entries = 100
lru file entry lifetime = 5
exclude file types =
exclude file regexp =
clamd socket name = /var/run/clamav/clamd.sock
scan archives = yes
libclamav max files in archive = 1000
libclamav max archived file size = 10485760
libclamav max recursion level = 5
</pre>
<h3>64 bits</h3>
<p>Copie a lib gerada do vscan para o ClamAV que está em <tt>/usr/src/samba-vscan-0.3.6c-beta5/</tt></p>
<pre class="brush: plain">cd /usr/src/samba-vscan-0.3.6c-beta5/
cp vscan-clamav.so /usr/lib64/samba/vfs
</pre>
<h3>32 bits</h3>
<p>Copie a lib gerada do vscan para o ClamAV que está em <tt>/usr/src/samba-vscan-0.3.6c-beta5/</tt></p>
<pre class="brush: plain">cd /usr/src/samba-vscan-0.3.6c-beta5/
cp vscan-clamav.so /usr/lib/samba/vfs</pre>
<h2>4.0 Configuração do Samba para utilizar o vscan</h2>
<p>Edite o arquivo <tt>/etc/samba/smb.conf</tt> e adicione as entradas em <tt>[global]</tt></p>
<p><strong>Arquivo: </strong><tt>/etc/samba/smb.conf</tt></p>
<pre class="brush: plain">        vfs object = vscan-clamav
        vscan-clamav: config-file = /etc/samba/vscan-clamav.conf
</pre>
<p>Pronto.</p>
<p>Só falta iniciar ou reiniciar o Samba:</p>
<pre class="brush: shell">service smb start
Starting SMB services:                                     [  OK  ]
Starting NMB services:                                     [  OK  ]
</pre>
<p>Os logs dos arquivos scanneados são mostrados em <tt>/var/log/messages</tt>.</p>
<h2>5.0 Não permitir que o yum atualize o Samba</h2>
<p>É interessante não permitir que o yum atualize o Samba, se isso acontecer, as alterações feitas pelo samba-vscan quando compilamos ele serão perdidas e você perderá as funcionalidade de antivírus do Samba.</p>
<p>Para fazer isso, é bem simples, adicione a seguinte linha no arquivo <tt>/etc/yum.conf</tt> na sessão <tt>[main]</tt></p>
<pre class="brush: plain">
exclude=samba*
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/03/samba-com-antivirus-clamav-no-red-hat-centos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>LibClamAV Error: cli_loaddb()</title>
		<link>http://www.fogonacaixadagua.com.br/2010/03/libclamav-error-cli_loaddb/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/03/libclamav-error-cli_loaddb/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 22:29:23 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Troubleshoot]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1301</guid>
		<description><![CDATA[
			
		
		This error can happen with Linux or FreeBSD or whichever SO that ClamAV support.
When you run
clamscan
You get this error

LibClamAV Error: cli_loaddb(): No supported database files found in /var/db/clamav
ERROR: Can't open file or directory

----------- SCAN SUMMARY -----------
Known viruses: 0
Engine version: 0.95.1
Scanned directories: 0
Scanned files: 0
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.001 [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/03/libclamav-error-cli_loaddb/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>This error can happen with Linux or FreeBSD or whichever SO that ClamAV support.</p>
<p>When you run</p>
<pre class="brush:plain">clamscan</pre>
<p>You get this error</p>
<pre class="brush:plain">
LibClamAV Error: cli_loaddb(): No supported database files found in /var/db/clamav
ERROR: Can't open file or directory

----------- SCAN SUMMARY -----------
Known viruses: 0
Engine version: 0.95.1
Scanned directories: 0
Scanned files: 0
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 0.001 sec (0 m 0 s)
</pre>
<p>It means that you have no database virus.</p>
<p>Just configure and run <tt>freshclam</tt>.</p>
<p>A sample freshclam.conf file:</p>
<pre class="brush:plain">
DatabaseDirectory /var/lib/clamav
UpdateLogFile /var/log/freshclam.log
LogTime yes
LogSyslog yes
PidFile /var/run/clamd/freshclam.pid
DatabaseOwner clamav
DNSDatabaseInfo current.cvd.clamav.net
DatabaseMirror db.br.clamav.net
DatabaseMirror database.clamav.net
NotifyClamd /usr/local/etc/clamd.conf
SubmitDetectionStats /usr/local/etc/clamd.conf
DetectionStatsCountry BR
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/03/libclamav-error-cli_loaddb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install GOsa2 on RedHat / CentOS (rpm based)</title>
		<link>http://www.fogonacaixadagua.com.br/2010/03/how-to-install-gosa2-on-redhat-centos-rpm-based/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/03/how-to-install-gosa2-on-redhat-centos-rpm-based/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 14:29:26 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Featured Articles]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[GOsa2]]></category>
		<category><![CDATA[RedHat]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/2010/03/how-to-install-gosa2-on-redhat-centos-rpm-based/</guid>
		<description><![CDATA[
			
		
		1.0 About this
The goal of this article is to be a base for a complete installarion of GOsa2, it will be used by future articles on what maters with integrating with others services.
2.0 What GOsa2 means?
GOsa2 is the constrict form for GOnicus System Administration.
 From author&#8217;s site gosa-project.org
A mighty System-/Config-management frontend using LDAP as a [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/03/how-to-install-gosa2-on-redhat-centos-rpm-based/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><h2>1.0 About this</h2>
<p>The goal of this article is to be a base for a complete installarion of GOsa2, it will be used by future articles on what maters with integrating with others services.</p>
<h2>2.0 What GOsa2 means?</h2>
<p>GOsa2 is the constrict form for GOnicus System Administration.<br />
 From author&#8217;s site gosa-project.org</p>
<blockquote><p>A mighty System-/Config-management frontend using LDAP as a backend. It is able to manage POSIX, Samba, Mail, Kolab, FAX, Asterisk and many more services.</p>
</blockquote>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-1.png"><img class="aligncenter size-medium wp-image-1245" title="Screenshot-1" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-1-300x197.png" alt="" width="300" height="197" /></a></p>
<h2>3.0 Prerequisites</h2>
<ul>
<li><a href="http://www.fogonacaixadagua.com.br/2009/08/instalacao-minima-do-centos-e-redhat-5-3/">A minimal install of CentOS e RedHat 5.3</a> (This guide is in Portuguese only :( )</li>
<li>Apache 2.2.x</li>
<li>PHP 5.2</li>
<li>OpenLDAP</li>
<li>Repository yum EPEL</li>
</ul>
<h2>4.0 Instaling pre-requisites</h2>
<p>As said before, I&#8217;m assuming that you already have an installation of CentOS or Red Hat, therefore, I&#8217;ll be covering the system requisites to get a functional GOsa2.</p>
<h4>4.1 Installing the yum EPEL repository</h4>
<pre class="brush: shell">rpm -ivh http://virtualxp.org/downloads/epel-release-5-3.noarch.rpm
</pre>
<h4>4.2 Setting the repository for GOsa2</h4>
<p>Go to <tt>/etc/yum.repos.d</tt> and create the file <tt>GOsa2.repo</tt> with your favorite text editor.<br />
 File: <tt>/etc/yum.repos.d/GOsa2.repo</tt></p>
<pre class="brush: text">[GOsa]
name=GOsa Repository
baseurl=ftp://oss.gonicus.de/pub/gosa/redhat
enabled=1
gpgcheck=0
</pre>
<h4>4.3 Setting the repository for PHP 5.2</h4>
<p>GOsa2 needs the PHP 5.2 to run, however, there&#8217;s no PHP 5.2 on official repository. With that said, we need to set up a third party repository. For this article I&#8217;ll be using the repository from <a title='Original Link: http://www.jasonlitka.com/yum-repository/'  href="http://www.fogonacaixadagua.com.br/?5DR0pKUz">Utter Ramblings</a>. It&#8217;s a nice and reliable repo, you can use it with no fear.<br />
 Go to <tt>/etc/yum.repos.d</tt> and with your favorite text editor create a file called <tt>utterramblings.repo</tt>.<br />
 File: <tt>/etc/yum.repos.d/utterramblings.repo</tt></p>
<pre class="brush:text">[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
</pre>
<p>This repo already have a version of Apache 2.2.x (2.2.14 at this momment) that we&#8217;ll be using.</p>
<h4>4.4 Installing OpenLDAP Server</h4>
<p>We&#8217;ll use the offical version (which means the one into the repository or Media).<br />
 To accomplish this, execute the following command:</p>
<pre class="brush: shell">yum install openldap openldap-clients openldap-servers
</pre>
<h2>5.0 Installing GOsa2 via yum</h2>
<p>With the prerequisites satisfied, continue the installation of GOsa2</p>
<p>There are a couple of plugins availiable from GOsa2 respository, doing a search over it, it is possible to get an idea of which of them you really need to install. Install those that suit to your environment.</p>
<pre class="brush: shell">yum search gosa
</pre>
<p>WARNING: Avoid to install the package <tt>gosa-desktop</tt>, as it will install Gnome and X.org as dependence.</p>
<p>Below are the packs that we will use in this article. Feel free to alter it.</p>
<pre class="brush: shell">yum install gosa-schema.noarch gosa-plugin-systems.noarch gosa-plugin-sudo.noarch gosa-plugin-squid.noarch gosa-plugin-samba.noarch gosa-plugin-rolemanagement.noarch gosa-plugin-pureftpd.noarch gosa-plugin-mail.noarch gosa-plugin-log.noarch gosa-plugin-ldapmanager.noarch gosa-plugin-dns.noarch gosa-plugin-dhcp.noarch gosa-plugin-connectivity.noarch gosa-plugin-addressbook.noarch gosa-help-en.noarch gosa.noarch
</pre>
<h4>5.1 Edit PHP (php.ini) params to suit GOsa2</h4>
<p>To GOsa2 run happy, it&#8217;s necessary to alter 2 parameters in file <tt>/etc/php.ini</tt>. Edit it and save it.</p>
<p>Before:</p>
<ul>
<li>expose_php = On</li>
<li>magic_quotes_gpc = Off</li>
</ul>
<p>After:</p>
<ul>
<li>expose_php = Off</li>
<li>magic_quotes_gpc = On</li>
</ul>
<h4>5.2 Making sure the services start at boot time</h4>
<pre class="brush:shell">chkconfig --levels 35 ldap on
chkconfig --levels 35 httpd on
</pre>
<h2>6.0 Setting OpenLDAP to suit GOsa2 needs</h2>
<p>With all those work we have done so far, now it&#8217;s a critical time, but simple to do.<br />
 Will be necessary to suit OpenLDAP to talk to GOsa2, this means showing the right <tt>schemas</tt> to OpenLDAP.<br />
 Make a backup copy from the original <tt>slapd.conf</tt> file.</p>
<pre class="brush: shell">cd /etc/openldap
cp slapd.conf slapd.conf.orig
</pre>
<p>To generate the <tt>cn=Manager</tt> password hash.</p>
<pre class="brush: shell">slappasswd -h {SSHA}
New password:
Re-enter new password:
{SSHA}Nag4FWwXLoGO/WpdpFJUlMVCBYwB94wt
</pre>
<p>The result will be the hash from the entered password, this case I used &#8220;fogonacaixadagua&#8221;. Keep this hash, we will use it soon.</p>
<p>Now, make your <tt>/etc/openldap/slapd.conf</tt> look like the one below:<br />
 File: <tt>/etc/openldap/slapd.conf</tt></p>
<pre class="brush: text">include         /etc/openldap/schema/corba.schema
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/dyngroup.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/java.schema
include         /etc/openldap/schema/misc.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/openldap.schema
include         /etc/openldap/schema/ppolicy.schema

include /etc/openldap/schema/gosa/samba3.schema
include /etc/openldap/schema/gosa/pureftpd.schema
include /etc/openldap/schema/gosa/gofon.schema
include /etc/openldap/schema/gosa/gosystem.schema
include /etc/openldap/schema/gosa/goto.schema
include /etc/openldap/schema/gosa/gosa-samba3.schema
include /etc/openldap/schema/gosa/gofax.schema
include /etc/openldap/schema/gosa/goserver.schema
include /etc/openldap/schema/gosa/goto-mime.schema
include /etc/openldap/schema/gosa/trust.schema
include /etc/openldap/schema/gosa/dnszone.schema
include /etc/openldap/schema/gosa/gosa_custom.schema

pidfile		/var/run/openldap/slapd.pid
argsfile	/var/run/openldap/slapd.args

database	bdb
suffix		"dc=FogoNaCaixadAgua"
rootdn		"cn=Manager,dc=FogoNaCaixadAgua"

# Senha gerada pelo comando slappasswd -h {SSHA}
rootpw		{SSHA}Nag4FWwXLoGO/WpdpFJUlMVCBYwB94wt

directory	/var/lib/ldap

index entryCSN,entryUUID eq
index uid,mail eq
index gosaMailAlternateAddress,gosaMailForwardingAddress eq
index cn,sn,givenName,ou pres,eq,sub
index objectClass pres,eq
index uidNumber,gidNumber,memberuid eq
index gosaSubtreeACL,gosaObject,gosaUser pres,eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq

cachesize 100000
</pre>
<p>To copy some schemas that aren&#8217;t on schemas&#8217; dir:</p>
<pre class="brush: shell">cp /usr/share/gosa/plugins/pureftpd/contrib/pureftpd.schema /etc/openldap/schema/gosa
cp /usr/share/gosa/plugins/dns/contrib/dnszone.schema /etc/openldap/schema/gosa
</pre>
<p>Create the file <tt>/etc/openldap/schema/gosa_custom.schema</tt> with the following content:</p>
<p>File: <tt>/etc/openldap/schema/gosa_custom.schema</tt></p>
<pre class="brush: plain">#$Id: authldap.schema,v 1.8 2005/03/20 19:10:30 mrsam Exp $
#
# OID prefix: 1.3.6.1.4.1.25981
#
# Attributes: 1.3.6.1.4.1.25981.1.1
#
# Depends on: gosa.schema and cosine.schema

attributetype ( 1.3.6.1.4.1.25981.1.1.1 NAME 'gosaMailHome'
	DESC 'The absolute path to the mail message stor directory in a virtual mail setup.'
        EQUALITY caseExactIA5Match
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )

#
# Objects: 1.3.6.1.4.1.25981.1.2
#

objectclass ( 1.3.6.1.4.1.25981.1.2.1 NAME 'gosaVirtualMailAccount' SUP top AUXILIARY
	DESC 'Objectclass to mark Virtual MailAccounts for GOsa (v2.4)'
        MAY ( gosaMailHome ) )
</pre>
<h2>7.0 Starting OpenLDP</h2>
<p>With OpenLDAP server configured and the schemas on the right place, copy DB_CONFIG.example to LDAP&#8217;s dir:</p>
<pre class="brush: shell">cd /etc/openldap
cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG
</pre>
<p>Now, you can start OpenLDAP and you can verify if it&#8217;s gonna ok.</p>
<pre class="brush: shell">service ldap start
Checking configuration files for slapd:  config file testing succeeded
                                                           [  OK  ]
Starting slapd:                                            [  OK  ]
</pre>
<h2>8.0 Starting Apache</h2>
<p>Apache was installed with the GOsa2. The GOsa2 package created the config file to apache, this file can be found at <tt>/etc/httpd/conf.d/gosa-apache.conf</tt></p>
<p>File: <tt>/etc/httpd/conf.d/gosa-apache.conf</tt></p>
<pre class="brush: plain"># Include GOsa to your web service
Alias /gosa /usr/share/gosa/html

    php_admin_flag engine on
    php_admin_flag register_globals off
    php_admin_flag allow_call_time_pass_reference off
    php_admin_flag expose_php off
    php_admin_flag zend.ze1_compatibility_mode off
    php_admin_flag register_long_arrays off
    php_admin_flag magic_quotes_gpc on
    php_admin_value upload_tmp_dir /var/spool/gosa/
    php_admin_value session.cookie_lifetime 0
    include /etc/gosa/gosa.secrets

   PHP_Fix_Pathinfo_Enable 1

     Options +ExecCGI
     AddHandler fcgid-script .php
     FCGIWrapper /var/www/php-fcgi/php-fcgi-starter .php
     include /etc/gosa/gosa.secrets
</pre>
<p>Isnt&#8217; recommended to edit it, do it only if it&#8217;s really necessary.<br />
 Time to start Apache:</p>
<pre class="brush: shell">service httpd start
Starting httpd:                                            [  OK  ]
</pre>
<h2>9.0 Setting GOsa2 through Web interface</h2>
<p>After starting Apache, access through of server IP.</p>
<h4>9.1 Initial screen of GOsa2 set up</h4>
<pre>http://192.168.11.13/gosa/
</pre>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-2.png"><img class="aligncenter size-full wp-image-1257" title="Screenshot-2" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-2.png" alt="" width="991" height="590" /></a></p>
<p>Note the highlighted part on image, it&#8217;s necessary to execute the above command to GOsa2 installer know that you have control over server.</p>
<pre class="brush: shell">echo -n 93esjraq6baopmpchl1qsksc84 &gt; /tmp/gosa.auth
</pre>
<p>After you executed the command, click &#8220;Next&#8221;.</p>
<h4>9.2 Language selection</h4>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-3.png"><img class="aligncenter size-full wp-image-1260" title="Screenshot-3" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-3.png" alt="" width="791" height="630" /></a></p>
<p>Pick up the correct one and Click &#8220;Next&#8221;.</p>
<h4>9.3 Environment checking</h4>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-4.png"><img class="aligncenter size-full wp-image-1262" title="Screenshot-4" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-4.png" alt="" width="774" height="680" /></a></p>
<p>If you got any error here, get back to: 5.1 Edit PHP (php.ini) params to suit GOsa2.</p>
<p>After all field being marked with Ok, click &#8220;Next&#8221;.</p>
<h4>License agreement</h4>
<p>This screen you must accept the license.<br />
 <a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-5.png"><img class="alignEscolha a linguagem e clique em " title="Screenshot-5" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-5.png" alt="" width="808" height="638" /></a><br />
 After you check it, click &#8220;Next.</p>
<h4>9.4 LDAP Connection</h4>
<p>Here you set the connection between GOsa2 and OpenLDAP that we configured before.</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-6.png"><img class="aligncenter size-full wp-image-1265" title="Screenshot-6" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-6.png" alt="" width="808" height="645" /></a><br />
 The parts tha need to be changed are marked in 1 and 2:<br />
 1. Put the conext to Manager user: &#8220;cn=Manager,dc=FogoNaCaixadAgua&#8221;<br />
 2. Password hash, &#8220;fogonacaixadagua&#8221;</p>
<p>Click &#8220;Next&#8221;".</p>
<h4>9.5 Schema validation</h4>
<p>Yeah!<br />
 <a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-7.png"><img class="aligncenter size-full wp-image-1266" title="Screenshot-7" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-7.png" alt="" width="808" height="621" /></a><br />
 Click &#8220;Next&#8221;.</p>
<h4>9.6 Setting GOsa2 1/3</h4>
<p>Let the default ones and click &#8220;Next&#8221;.<br />
 <a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-8.png"><img class="aligncenter size-full wp-image-1267" title="Screenshot-8" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-8.png" alt="" width="808" height="719" /></a></p>
<h4>9.7 Setting GOsa2 2/3</h4>
<p>Some settings to GOsa2.<br />
 <a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-9.png"><img class="aligncenter size-full wp-image-1268" title="Screenshot-9" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-9.png" alt="" width="791" height="756" /></a><br />
 Below I&#8217;ll explain the changes done, based on the number into above picture, change them as show.<br />
 1. the context that will have the Workstations info from Windows Domain.<br />
 2. Timezone for GOsa2.<br />
 3. Enable Copy &amp; Paster, it&#8217;s a nice function, very interesting when you change some entry into an Organizational Unit, for example.<br />
 4. Enable snapshots, they are useful to revert some bat change, for example<br />
 5. Put the Manager password, &#8220;fogonacaixadagua&#8221;.</p>
<p>Click &#8220;Next&#8221; after you finish it.</p>
<h4>9.8 Setting GOsa2 3/3</h4>
<p>Last part on setting GOsa2.</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-10.png"><img class="aligncenter size-full wp-image-1269" title="Screenshot-10" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-10.png" alt="" width="790" height="840" /></a></p>
<p>1. Enter your SNMP community, if you have one in your network, otherwise put &#8216;public&#8217;.<br />
 2. To enable the SUDO config from GOsa2 Interface</p>
<p>Click &#8220;Next&#8221;.</p>
<h4>9.9 Inspecting OpenLDAP</h4>
<p>In this screen will have a full check to verify if you have some tree in LDAP, as we started from scratch, it have nothing, because of this you see a lot of &#8220;Fails&#8221;. Do not worry, soon it will be all Green ;)</p>
<p>To create a root object, click the button as highlighted on pic below:</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-11.png"><img class="aligncenter size-full wp-image-1270" title="Screenshot-11" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-11.png" alt="" width="792" height="837" /></a></p>
<p>After clicking &#8220;Try to create a root object&#8221; look that the things are starting to getting better :D</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-12.png"><img class="aligncenter size-full wp-image-1271" title="Screenshot-12" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-12.png" alt="" width="811" height="739" /></a></p>
<p>First click the button &#8220;Migrate&#8221;, in &#8220;Inspecting object classes in root object&#8221; then you will be redirected to the following page:</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-13.png"><img class="aligncenter size-full wp-image-1272" title="Screenshot-13" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-13.png" alt="" width="361" height="397" /></a></p>
<p>Click &#8220;Migrate&#8221;.</p>
<p>Getting back to LDAP Inspection page, click the unique button shown.</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-14.png"><img class="aligncenter size-full wp-image-1273" title="Screenshot-14" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-14.png" alt="" width="636" height="335" /></a></p>
<p>This time it&#8217;s to create a password for the user &#8216;admin&#8217; that will log into GOsa2 interface. Enter a password, here is &#8220;fogonacaixadagua&#8221; then click &#8220;Apply&#8221;</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-15.png"><img class="aligncenter size-full wp-image-1274" title="Screenshot-15" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-15.png" alt="" width="630" height="244" /></a></p>
<p>All nice and green, as I promised you.</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-16.png"><img class="aligncenter size-full wp-image-1276" title="Screenshot-16" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-16.png" alt="" width="645" height="648" /></a></p>
<p>Time to go to the last part. Click &#8220;Next&#8221;.</p>
<h4>9.10 Send a feedback</h4>
<p>You are on your own.</p>
<p>Finnished, click &#8220;Next&#8221;.</p>
<h3>9.11 Almost END</h3>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-17.png"><img class="aligncenter size-full wp-image-1277" title="Screenshot-17" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-17.png" alt="" width="644" height="323" /></a></p>
<p>Download the config file to your computer and then copy it to <tt>/etc/gosa</tt> on server side, apply the permissions as shown by installer.</p>
<pre class="brush: shell">scp ~/temp/gosa.conf root@192.168.11.13:/etc/gosa
</pre>
<p>After, on GOsa2 server</p>
<pre class="brush: shell">chown root:apache /etc/gosa/gosa.conf
chmod 640 /etc/gosa/gosa.conf
</pre>
<p>Click &#8220;Next&#8221; on final step to confirm that the config file is there.</p>
<p>You will be awarded with the login screen, use the &#8216;admin&#8217; user and the password defined in the install process to login.</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-18.png"><img class="aligncenter size-full wp-image-1278" title="Screenshot-18" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-18.png" alt="" width="809" height="510" /></a></p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-19.png"><img class="aligncenter size-full wp-image-1280" title="Screenshot-19" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-19.png" alt="" width="811" height="632" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/03/how-to-install-gosa2-on-redhat-centos-rpm-based/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Instalando o GOsa2 no RedHat / CentOS (rpm based)</title>
		<link>http://www.fogonacaixadagua.com.br/2010/03/instalando-o-gosa2-no-redhat-centos-rpm-based/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/03/instalando-o-gosa2-no-redhat-centos-rpm-based/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 19:38:12 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[GOsa2]]></category>
		<category><![CDATA[RedHat]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1243</guid>
		<description><![CDATA[
			
		
		Sobre esse artigo
A idéia deste artigo é servir como base para instalação completa do GOsa2 que será utilizada por artigos futuros no que diz respeito a integração com outros serviços.
O que GOsa2 quer dizer?
GOsa2 é a forma compacta para GOnicus System Administration.
Do site http://www.gosa-project.org/
A mighty System-/Config-management frontend using LDAP as a backend. It is able [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/03/instalando-o-gosa2-no-redhat-centos-rpm-based/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><h2>Sobre esse artigo</h2>
<p>A idéia deste artigo é servir como base para instalação completa do GOsa2 que será utilizada por artigos futuros no que diz respeito a integração com outros serviços.</p>
<h2>O que GOsa2 quer dizer?</h2>
<p>GOsa2 é a forma compacta para GOnicus System Administration.</p>
<p>Do site <a title='Original Link: http://www.gosa-project.org/'  href="http://www.fogonacaixadagua.com.br/?D5DIP2Uj">http://www.gosa-project.org/</a></p>
<blockquote><p>A mighty System-/Config-management frontend using LDAP as a backend. It is able to manage POSIX, Samba, Mail, Kolab, FAX, Asterisk and many more services.</p>
</blockquote>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-1.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-1-300x197.png" alt="" title="Screenshot-1" width="300" height="197" class="aligncenter size-medium wp-image-1245" /></a></p>
<h2>Pré-requisitos</h2>
<ul>
<li><a href="http://www.fogonacaixadagua.com.br/2009/08/instalacao-minima-do-centos-e-redhat-5-3/">Instalação mínima do CentOS e RedHat 5.3</a> (Esse guia também aplica-se à versão 5.4 e superior)</li>
<li>Apache 2.2.x</li>
<li>PHP 5.2</li>
<li>OpenLDAP</li>
<li>Repositório yum EPEL</li>
</ul>
<h2>Instalando os pré-requisitos</h2>
<p>Como informado acima, estou partindo do princípio que você já possui um sistema CentOS ou RedHat instalado, portanto, estarei cobrindo aqui os requisitos do sistema, para ter o GOsa2 funcional.</p>
<h4>Instalando o repositório Yum EPEL</h4>
<ul>
<li><a href="http://www.fogonacaixadagua.com.br/2009/08/utilizando-o-repositorio-yum-epel/">Utilizando o repositório Yum EPEL</a></li>
</ul>
<pre class="brush: shell">
rpm -ivh http://virtualxp.org/downloads/epel-release-5-3.noarch.rpm
</pre>
<h4>Configurar o repositório do GOsa2</h4>
<p>Vá ao diretório <tt>/etc/yum.repos.d</tt> e crie o arquivo <tt>GOsa2.repo</tt> com seu editor de texto favorito.</p>
<p>Arquivo <tt>GOsa2.repo</tt></p>
<pre class="brush: text">
[GOsa]
name=GOsa Repository
baseurl=ftp://oss.gonicus.de/pub/gosa/redhat
enabled=1
gpgcheck=0
</pre>
<h4>Configurando repositório para PHP 5.2</h4>
<p>O PHP 5.2 não está no repositório oficial do CentOS / RedHat, para isso será necessário utilizarmos um repositório de terceiros, nesse guia utilizarei o repositório do <a title='Original Link: http://www.jasonlitka.com/yum-repository/'  href="http://www.fogonacaixadagua.com.br/?5DR0pKUz">Utter Ramblings</a>. É um repositório confiável e estável, pode utilizar sem maiores receios.</p>
<p>Vá ao diretório <tt>/etc/yum.repos.d</tt> e crie um novo arquivo com seu editor de textos favorito com o seguinte conteúdo:</p>
<p>Arquivo <tt>utterramblings.repo</tt></p>
<pre class="brush:text">
[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
</pre>
<p>Esse repositório já tem também o Apache 2.2.x a ser utilizado.</p>
<h4>Instalando o servidor OpenLDAP</h4>
<p>Pode ser utilizado a versão oficial.</p>
<p>Para isso, executar o comando:</p>
<pre class="brush: shell">
yum install openldap openldap-clients openldap-servers
</pre>
<h2>Instalando o GOsa2 via yum</h2>
<p>Com os pré-requisitos satisfeitos, prossegue-se com a instalação definitiva do GOsa2.</p>
<p>Há uma série de plugins disponíveis para o GOsa2, fazendo uma busca no seu repositório, é possível ter uma idéia dos plugins e você pode instalar os que adequam ao seu ambiente:</p>
<pre class="brush: shell">
yum search gosa
</pre>
<p>WARNING: Evite instalar o pacote <tt>gosa-desktop</tt> pois virá o Gnome e o X com dependência.</p>
<p>Abaixo estão os pacotes que serão instalados para esse guia, como dito antes, adeque com o que lhe servir.</p>
<pre class="brush: shell">
yum install gosa-schema.noarch gosa-plugin-systems.noarch gosa-plugin-sudo.noarch gosa-plugin-squid.noarch gosa-plugin-samba.noarch gosa-plugin-rolemanagement.noarch gosa-plugin-pureftpd.noarch gosa-plugin-mail.noarch gosa-plugin-log.noarch gosa-plugin-ldapmanager.noarch gosa-plugin-dns.noarch gosa-plugin-dhcp.noarch gosa-plugin-connectivity.noarch gosa-plugin-addressbook.noarch gosa-help-en.noarch gosa.noarch
</pre>
<h4>Editar prâmetros do PHP (php.ini) para o GOsa2</h4>
<p>Para que o GOsa2 rode adequadamente, é necessário alterar 2 parâmetros no arquivo <tt>/etc/php.ini</tt>. Edite o arquivo e grave as alterações.</p>
<p>Antes:</p>
<ul>
<li>expose_php = On</li>
<li>magic_quotes_gpc = Off</li>
</ul>
<p>Depois:</p>
<ul>
<li>expose_php = Off</li>
<li>magic_quotes_gpc = On</li>
</ul>
<h4>Certificando-se que os serviços corretos iniciarão no boot</h4>
<p>Fazer com o Apache e o OpenLDAP iniciem no boot.</p>
<pre class="brush:shell">
chkconfig --levels 35 ldap on
chkconfig --levels 35 httpd on
</pre>
<h2>Configurando o OpenLDAP para ser utilizado com o GOsa2</h2>
<p>Temos todos os programas necessários instalados e tudo indo bem, agora é parte mais crítica, mas não complicada, do ambiente que estamos configurando.</p>
<p>Será necessário adequar o OpenLDAP para que o GOsa2 se entenda com ele, isso significa apresentar os <tt>schemas</tt> corretos ao OpenLDAP.</p>
<p>Crie um cópia de backup do arquivo de configuração atual, just in case :)</p>
<pre class="brush: shell">
cd /etc/openldap
cp slapd.conf slapd.conf.orig
</pre>
<p>Gerar uma senha para o <tt>cn=Manager</tt></p>
<pre class="brush: shell">
slappasswd -h {SSHA}
New password:
Re-enter new password:
{SSHA}Nag4FWwXLoGO/WpdpFJUlMVCBYwB94wt
</pre>
<p>O resultado foi um hash da senha informada, nesse caso utilizei a senha &#8220;fogonacaixadagua&#8221; e gerou esse hash, guarde esse hash por que ele será utilizado na sequencia.</p>
<p>Edite o arquivo <tt>/etc/openldap/slapd.conf</tt> e faça com fique parecido com o seguinte:</p>
<pre class="brush: text">
include         /etc/openldap/schema/corba.schema
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/dyngroup.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/java.schema
include         /etc/openldap/schema/misc.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/openldap.schema
include         /etc/openldap/schema/ppolicy.schema

include /etc/openldap/schema/gosa/samba3.schema
include /etc/openldap/schema/gosa/pureftpd.schema
include /etc/openldap/schema/gosa/gofon.schema
include /etc/openldap/schema/gosa/gosystem.schema
include /etc/openldap/schema/gosa/goto.schema
include /etc/openldap/schema/gosa/gosa-samba3.schema
include /etc/openldap/schema/gosa/gofax.schema
include /etc/openldap/schema/gosa/goserver.schema
include /etc/openldap/schema/gosa/goto-mime.schema
include /etc/openldap/schema/gosa/trust.schema
include /etc/openldap/schema/gosa/dnszone.schema
include /etc/openldap/schema/gosa/gosa_custom.schema

pidfile		/var/run/openldap/slapd.pid
argsfile	/var/run/openldap/slapd.args

database	bdb
suffix		"dc=FogoNaCaixadAgua"
rootdn		"cn=Manager,dc=FogoNaCaixadAgua"

# Senha gerada pelo comando slappasswd -h {SSHA}
rootpw		{SSHA}Nag4FWwXLoGO/WpdpFJUlMVCBYwB94wt

directory	/var/lib/ldap

index entryCSN,entryUUID eq
index uid,mail eq
index gosaMailAlternateAddress,gosaMailForwardingAddress eq
index cn,sn,givenName,ou pres,eq,sub
index objectClass pres,eq
index uidNumber,gidNumber,memberuid eq
index gosaSubtreeACL,gosaObject,gosaUser pres,eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq

cachesize 100000
</pre>
<p>Copiar alguns <tt>schemas</tt> que não estão no diretório certo:</p>
<pre class="brush: shell">
cp /usr/share/gosa/plugins/pureftpd/contrib/pureftpd.schema /etc/openldap/schema/gosa
cp /usr/share/gosa/plugins/dns/contrib/dnszone.schema /etc/openldap/schema/gosa
</pre>
<p>Criar o arquivo <tt>/etc/openldap/schema/gosa_custom.schema</tt> com o seguinte conteúdo:</p>
<p>Arquivo <tt>/etc/openldap/schema/gosa_custom.schema</tt></p>
<pre class="brush: plain">
#$Id: authldap.schema,v 1.8 2005/03/20 19:10:30 mrsam Exp $
#
# OID prefix: 1.3.6.1.4.1.25981
#
# Attributes: 1.3.6.1.4.1.25981.1.1
#
# Depends on: gosa.schema and cosine.schema

attributetype ( 1.3.6.1.4.1.25981.1.1.1 NAME 'gosaMailHome'
	DESC 'The absolute path to the mail message stor directory in a virtual mail setup.'
        EQUALITY caseExactIA5Match
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )

#
# Objects: 1.3.6.1.4.1.25981.1.2
#

objectclass ( 1.3.6.1.4.1.25981.1.2.1 NAME 'gosaVirtualMailAccount' SUP top AUXILIARY
	DESC 'Objectclass to mark Virtual MailAccounts for GOsa (v2.4)'
        MAY ( gosaMailHome ) )
</pre>
<h2>Iniciando o OpenLDAP</h2>
<p>Com o OpenLDAP server configurado e o schemas copiados, copie o arquivo DB_CONFIG.example para o diretório do LDAP:</p>
<pre class="brush: shell">
cd /etc/openldap
cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG
</pre>
<p>Agora pode-se iniciar o OpenLDAP e verificar se tudo vai bem.</p>
<pre class="brush: shell">
service ldap start
Checking configuration files for slapd:  config file testing succeeded
                                                           [  OK  ]
Starting slapd:                                            [  OK  ]
</pre>
<h2>Iniciando o Apache</h2>
<p>O apache foi instalado e fará a interface para o GOsa2.</p>
<p>O próprio pacote do GOsa2 criou um arquivo de configuração para ele no apache, esse arquivo encontra-se em <tt>/etc/httpd/conf.d/gosa-apache.conf</tt></p>
<p>Seu conteúdo é o seguinte:</p>
<pre class="brush: plain">
# Include GOsa to your web service
Alias /gosa /usr/share/gosa/html

<ifmodule mod_php5.c>
<location /gosa>
    php_admin_flag engine on
    php_admin_flag register_globals off
    php_admin_flag allow_call_time_pass_reference off
    php_admin_flag expose_php off
    php_admin_flag zend.ze1_compatibility_mode off
    php_admin_flag register_long_arrays off
    php_admin_flag magic_quotes_gpc on
    php_admin_value upload_tmp_dir /var/spool/gosa/
    php_admin_value session.cookie_lifetime 0
    include /etc/gosa/gosa.secrets
</location>
</ifmodule>

<ifmodule mod_fcgid.c>
   PHP_Fix_Pathinfo_Enable 1
   <location /gosa>
     Options +ExecCGI
     AddHandler fcgid-script .php
     FCGIWrapper /var/www/php-fcgi/php-fcgi-starter .php
     include /etc/gosa/gosa.secrets
   </location>
</ifmodule>
</pre>
<p>Não é recomendado alterá-lo, a não ser que seja realmente necessário.</p>
<p>Pode-se iniciar o serviço do apache.</p>
<pre class="brush: shell">
service httpd start
Starting httpd:                                            [  OK  ]
</pre>
<h2>Configurando o GOsa2 pela interface Web</h2>
<p>Depois de iniciar o serviço do apache, acesse o IP do host que foi instalado o GOsa2, como por exemplo:</p>
<h4>Tela inicial da configuração do GOsa2</h4>
<pre>

http://192.168.11.13/gosa/
</pre>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-2.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-2.png" alt="" title="Screenshot-2" width="991" height="590" class="aligncenter size-full wp-image-1257" /></a></p>
<p>Note a parte destacada da imagem, é necessário executar esse comando para que o instalador do GOsa2 saiba que você tem poder sobre o servidor.</p>
<pre class="brush: shell">
echo -n 93esjraq6baopmpchl1qsksc84 > /tmp/gosa.auth
</pre>
<p>Após executado o comando, clique em &#8220;Next&#8221;.</p>
<h4>Seleção da linguagem</h4>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-3.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-3.png" alt="" title="Screenshot-3" width="791" height="630" class="aligncenter size-full wp-image-1260" /></a><br />
Escolha a linguagem e clique em &#8220;Next&#8221;.</p>
<h4>Verificação do ambiente</h4>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-4.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-4.png" alt="" title="Screenshot-4" width="774" height="680" class="aligncenter size-full wp-image-1262" /></a><br />
Se houver alguma falha nessa parte, volte para o início do documento e revise a sessão que diz: Editar prâmetros do PHP (php.ini) para o GOsa2.</p>
<p>Após todos os campos estarem com OK, clique em &#8220;Next&#8221;.</p>
<h4>Aceite do acordo</h4>
<p>Nessa tela faz-se o aceite do acordo da licença.<br />
<a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-5.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-5.png" alt="" title="Screenshot-5" width="808" height="638" class="aligncenter size-full wp-image-1263" /></a><br />
Após marcar, conforme a a figura acima, clique em &#8220;Next&#8221;.</p>
<h4>Conexão com o LDAP</h4>
<p>Aqui configura-se a conectividade com o OpenLDAP que configuramos anteriormente.</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-6.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-6.png" alt="" title="Screenshot-6" width="808" height="645" class="aligncenter size-full wp-image-1265" /></a><br />
As partes que devem ser alteradas estão marcadas em 1 e 2, no caso:<br />
1. Informar o contexto para o usuário Manager, &#8220;cn=Manager,dc=FogoNaCaixadAgua&#8221;<br />
2. Colocar a senha que foi gerada no hash, &#8220;fogonacaixadagua&#8221;</p>
<p>Clicar em &#8220;Next&#8221;".</p>
<h4>Verificação dos schemas</h4>
<p>Sim!<br />
<a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-7.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-7.png" alt="" title="Screenshot-7" width="808" height="621" class="aligncenter size-full wp-image-1266" /></a><br />
Clique em &#8220;Next&#8221;.</p>
<h4>Configuração do GOsa2 1/3</h4>
<p>Deixe as opções padrão e clique em &#8220;Next&#8221;.<br />
<a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-8.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-8.png" alt="" title="Screenshot-8" width="808" height="719" class="aligncenter size-full wp-image-1267" /></a></p>
<h4>Configuração do GOsa2 2/3</h4>
<p>Mais algumas configurações pertinentes ao GOsa2.<br />
<a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-9.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-9.png" alt="" title="Screenshot-9" width="791" height="756" class="aligncenter size-full wp-image-1268" /></a><br />
Abaixo, vou explicar as alterações feitas, baseada na numeração da figura acima, altere-as conforme mostrado na foto.<br />
1. É onde ficarão gravadas as informações das workstations de um domínio Windows<br />
2. Timezone para o GOsa2.<br />
3. Habilitar o &#8220;Copiar / Colar&#8221;, é uma função bastante interessante quando se quer mudar uma entrada de Unidade Organizacional, por exemplo.<br />
4. Habilitar snapshots, são úteis para reverter uma adição mal feita, por exemplo.<br />
5. Informar a senha do Manager, &#8220;fogonacaixadagua&#8221;.</p>
<p>Clicar em &#8220;Next&#8221; ao terminar.</p>
<h4>Configurações do GOsa2 3/3</h4>
<p>Última parte da configuração do GOsa2.<br />
<a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-10.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-10.png" alt="" title="Screenshot-10" width="790" height="840" class="aligncenter size-full wp-image-1269" /></a><br />
1. Coloque a sua comunidade SNMP caso já exista alguma padrão na sua rede, ou coloque &#8216;public&#8217; apenas.<br />
2. Para habilitar as configurações do SUDO no LDAP.</p>
<p>Quando terminar, clicar em &#8220;Next&#8221;.</p>
<h4>Inspeção final do LDAP</h4>
<p>Nessa tela, haverá uma checagem para verificar se existe alguma árvore no LDAP, como começamos do zero, não tem nada, por isso vê-se uma sequencia de falhas. Não se preocupe, logo vai estar tudo verdinho!</p>
<p>Para criar o objeto root, clique no botão conforme destacado na imagem abaixo.<br />
<a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-11.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-11.png" alt="" title="Screenshot-11" width="792" height="837" class="aligncenter size-full wp-image-1270" /></a></p>
<p>Após clicar no botão &#8220;Try to create a root object&#8221; veja que as coisas começar a melhorar ;) </p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-12.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-12.png" alt="" title="Screenshot-12" width="811" height="739" class="aligncenter size-full wp-image-1271" /></a></p>
<p>Clique primeiro no botão &#8220;Migrate&#8221; em &#8220;Inspecting object classes in root object&#8221; e você vai ser direcionado para a página abaixo:</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-13.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-13.png" alt="" title="Screenshot-13" width="361" height="397" class="aligncenter size-full wp-image-1272" /></a><br />
Clique em &#8220;Migrate&#8221;.</p>
<p>Voltando para a tela da inspeção do LDAP, clique no único botão que aparece:<br />
<a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-14.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-14.png" alt="" title="Screenshot-14" width="636" height="335" class="aligncenter size-full wp-image-1273" /></a></p>
<p>Dessa vez, é para criar uma senha para o usuário &#8216;admin&#8217; que logará na interface Web do GOsa2, informe a senha para esse usuário, aqui foi definida &#8220;fogonacaixadagua&#8221; e clique em &#8220;Apply&#8221;.<br />
<a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-15.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-15.png" alt="" title="Screenshot-15" width="630" height="244" class="aligncenter size-full wp-image-1274" /></a></p>
<p>Tudo bonito agora e verdinho, conforme o prometido!</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-16.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-16.png" alt="" title="Screenshot-16" width="645" height="648" class="aligncenter size-full wp-image-1276" /></a></p>
<p>Hora de prosseguir, para o final. Clique em &#8220;Next&#8221;.</p>
<h4>Enviar um feedback</h4>
<p>Aqui é por sua conta.</p>
<p>Terminando, clique em &#8220;Next&#8221;.</p>
<h3>FIM</h3>
<p>Chegamos.<br />
<a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-17.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-17.png" alt="" title="Screenshot-17" width="644" height="323" class="aligncenter size-full wp-image-1277" /></a><br />
Faça o download do arquivo de configuração para o seu computador e copie para o diretório <tt>/etc/gosa</tt> no servidor do GOsa2, altere as permissões do arquivo conforme a sugestão do instalador.</p>
<pre class="brush: shell">
scp ~/temp/gosa.conf root@192.168.11.13:/etc/gosa
</pre>
<p>E depois, no servidor</p>
<pre class="brush: shell">
chown root:apache /etc/gosa/gosa.conf
chmod 640 /etc/gosa/gosa.conf
</pre>
<p>Clique em &#8220;Next&#8221; na tela final do instalador para confirmar que o arquivo está lá.</p>
<p>Você então será agraciado com a tela de Login e utilize o usuário &#8216;admin&#8217; com a senha definida no processo de instalação.</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-18.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-18.png" alt="" title="Screenshot-18" width="809" height="510" class="aligncenter size-full wp-image-1278" /></a></p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-19.png"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2010/03/Screenshot-19.png" alt="" title="Screenshot-19" width="811" height="632" class="aligncenter size-full wp-image-1280" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/03/instalando-o-gosa2-no-redhat-centos-rpm-based/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OpenVPN: routes losing/disappearing after connection established</title>
		<link>http://www.fogonacaixadagua.com.br/2010/03/openvpn-routes-losing-disappearing-after-connection-established/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/03/openvpn-routes-losing-disappearing-after-connection-established/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 22:19:12 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Troubleshoot]]></category>
		<category><![CDATA[OpenVPN]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/2010/03/openvpn-routes-losing-disappearing-after-connection-established/</guid>
		<description><![CDATA[
			
		
		Symptom
After you connect to your OpenVPN, even without error and you are still able to see the print that say the routes were added successfully, after about a 10 seconds, the routes simply disappear and you lose connection with your hosts/server.
However, manually adding the routes, you can reach the servers and they become accessible.
Cause
This is [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/03/openvpn-routes-losing-disappearing-after-connection-established/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><h2>Symptom</h2>
<p>After you connect to your OpenVPN, even without error and you are still able to see the print that say the routes were added successfully, after about a 10 seconds, the routes simply disappear and you lose connection with your hosts/server.</p>
<p>However, manually adding the routes, you can reach the servers and they become accessible.</p>
<h2>Cause</h2>
<p>This is a problem with 3G technology, I haven&#8217;t seen this behavior with ADSL or dedicated Links.</p>
<p>It&#8217;s what I call obscure problem, why this happen with 3G and 3G only? don&#8217;t no if it is regarding the technology or drivers, but we have an elegant workaround for this, as you can see below.</p>
<h2>Workaround</h2>
<p>For that situation do not occurs, add the following parameter to config file of OpenVPN, client side:</p>
<pre class="brush: plain">
route-delay 20
</pre>
<p>With that line, after you connect to OpenVPN, the client will wait 20 seconds to add the routes given by server and won&#8217;t disappear no more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/03/openvpn-routes-losing-disappearing-after-connection-established/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash: Convertendo TABs para Espaço em arquivos</title>
		<link>http://www.fogonacaixadagua.com.br/2010/03/bash-convertendo-tabs-para-espaco-em-arquivos/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/03/bash-convertendo-tabs-para-espaco-em-arquivos/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 13:35:33 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1236</guid>
		<description><![CDATA[
			
		
		É possível utilizar várias ferramentas para essa finalidade, como por exemplo o sed e o awk. O comando expand coverte todos os TABs para espaços.
Ele preserva os caracteres de backspace na saída; eles que fazem com os espaços sejam reduzidos na contagem para o cálculo dos TABs.

expand arquivo.log > output.log
expand dados.txt > output.txt
expand -t 2 [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/03/bash-convertendo-tabs-para-espaco-em-arquivos/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>É possível utilizar várias ferramentas para essa finalidade, como por exemplo o <tt>sed</tt> e o <tt>awk</tt>. O comando <tt>expand</tt> coverte todos os TABs para espaços.</p>
<p>Ele preserva os caracteres de backspace na saída; eles que fazem com os espaços sejam reduzidos na contagem para o cálculo dos TABs.</p>
<pre class="brush:shell">
expand arquivo.log > output.log
expand dados.txt > output.txt
expand -t 2 dados.txt > output.txt
</pre>
<p>A opção <tt>-t</tt> pode ser usada para gerar uma lista separada por vírgula (arquivo CSV).</p>
<p>Caso você queira fazer o contrário, ou seja, converter espaços para TABs, use o comando <tt>unexpand</tt>.</p>
<p>Veja as man pages para mais informações</p>
<pre class="brush:shell">
man expand
man unexpand
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/03/bash-convertendo-tabs-para-espaco-em-arquivos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD: Quando o csup ou cvsup atrás de um Proxy não funciona</title>
		<link>http://www.fogonacaixadagua.com.br/2010/03/freebsd-quando-o-csup-ou-cvsup-atras-de-um-proxy-nao-funciona/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/03/freebsd-quando-o-csup-ou-cvsup-atras-de-um-proxy-nao-funciona/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 22:32:10 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1225</guid>
		<description><![CDATA[
			
		
		Quando se está atrás de um proxy para acessar sites e etc, os programas CSUP e CVSUP não irão conectar via HTTP ou FTP através do Proxy, mesmo que as variáveis HTTP_PROXY e/ou HTTP_PROXY_AUTH estejam definidas.
Mas há uma alternativa simples e elegante utilizando ssh forward para ter seu FreeBSD atualizado :)
Pré-requisito
Ter acesso ao ssh do [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/03/freebsd-quando-o-csup-ou-cvsup-atras-de-um-proxy-nao-funciona/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Quando se está atrás de um proxy para acessar sites e etc, os programas CSUP e CVSUP não irão conectar via <tt>HTTP</tt> ou <tt>FTP</tt> através do Proxy, mesmo que as variáveis <tt>HTTP_PROXY</tt> e/ou <tt>HTTP_PROXY_AUTH</tt> estejam definidas.</p>
<p>Mas há uma alternativa simples e elegante utilizando ssh forward para ter seu FreeBSD atualizado :)</p>
<h3>Pré-requisito</h3>
<p>Ter acesso ao ssh do Proxy que tem acesso à internet e consiga conectar na porta 5999 na internet</p>
<h3>Tunelando com SSH forward</h3>
<p>Com o pré-requisito satisfeito, para utilizar o CSVUP ou o CSUP faça um SSH no servidor proxy ou no computador que tenha acesso à internet fazer um forward na porta 5999, conforme o exemplo:</p>
<pre class="brush: bash">ssh -L 5999:cvsup4.FreeBSD.org:5999 -l usuario host.com.acesso.a.internet
</pre>
<p>O SSH vai redirecionar as conexões em localhost na porta 5999 para o host cvsup4.FreeBSD.org porta 5999.</p>
<p>Isto feito, para utlizar agora o CSUP ou CVSUP:</p>
<pre class="brush: bash">cvsup -h localhost
</pre>
<p>ou</p>
<pre class="brush: shell">csup -h localhost
</pre>
<p>ou ainda editar o arquivo <tt>supfile</tt> definindo o host como <tt>localhost</tt>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/03/freebsd-quando-o-csup-ou-cvsup-atras-de-um-proxy-nao-funciona/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Template para Script Resource no Red Hat Cluster Suite</title>
		<link>http://www.fogonacaixadagua.com.br/2010/01/template-para-script-resource-no-red-hat-cluster-suite/</link>
		<comments>http://www.fogonacaixadagua.com.br/2010/01/template-para-script-resource-no-red-hat-cluster-suite/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 20:34:12 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Red Hat Cluster Suite]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[RHCS]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1215</guid>
		<description><![CDATA[
			
		
		Existem alguns recursos já prontos no Red Hat Cluster Suite (RHCS) para serem adicionados como serviço. Mas também é possível acrescentar seu próprio script para que o RHCS realoque ou reinicie o serviço em questão.
Basicamente o script tem que conter 3 chamadas: status, start e stop.
Abaixo está um exemplo que inicia, pára e verifica o [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2010/01/template-para-script-resource-no-red-hat-cluster-suite/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Existem alguns recursos já prontos no Red Hat Cluster Suite (RHCS) para serem adicionados como serviço. Mas também é possível acrescentar seu próprio script para que o RHCS realoque ou reinicie o serviço em questão.</p>
<p>Basicamente o script tem que conter 3 chamadas: status, start e stop.</p>
<p>Abaixo está um exemplo que inicia, pára e verifica o status do Sun Glassfish, fique a vontade em adaptar a sua necessidade.</p>
<pre class="brush: bash">
#!/bin/sh

# Script Name: glassfish
# Script Path: /etc/init.d/glassfish
# Script Purpose: To provide glassfish management
# start/stop/status under Red Hat Cluster Cluster
# Script Author: Daniel K. Lima

BASEDIR=/opt/glassfish/bin

case $1 in
	'start')
		cd ${BASEDIR}
		./asadmin start-domain domain1
		exit 0
	;;

	'stop')
		z=$(ps -ef | grep "com.sun.aas" | grep -v "grep"| awk ' { print $2 } ')
		if [[ $? -eq 0 ]]
		then
			cd ${BASEDIR}
			./asadmin stop-domain domain1
			exit 0
		fi
	;;

	'restart')
	   	/etc/init.d/glassfish stop
   		sleep 2
  		echo Now starting......
  		/etc/init.d/glassfish start
    		echo "restarted"
    	;;

	'status')
		ps awx | grep -v "grep " | grep "com.sun.aas" 1>/dev/null
		if [[ $? = 0 ]]
		then
			echo "Glassfish is running..."
			exit 0
		else
			echo "Glassfish is stopped..."
			exit 1
		fi
	;;
esac
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2010/01/template-para-script-resource-no-red-hat-cluster-suite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Não diga aos outros sua senha</title>
		<link>http://www.fogonacaixadagua.com.br/2009/11/nao-diga-aos-outros-sua-senha/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/11/nao-diga-aos-outros-sua-senha/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 00:50:53 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Comic]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1209</guid>
		<description><![CDATA[
			
		
		
]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/11/nao-diga-aos-outros-sua-senha/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/11/dontgiveyourpasspn0.jpg"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/11/dontgiveyourpasspn0.jpg" alt="dontgiveyourpasspn0" title="dontgiveyourpasspn0" width="599" height="305" class="aligncenter size-full wp-image-1210" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/11/nao-diga-aos-outros-sua-senha/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Você está sendo monitorado</title>
		<link>http://www.fogonacaixadagua.com.br/2009/11/voce-esta-sendo-monitorado/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/11/voce-esta-sendo-monitorado/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 10:48:04 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Comic]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1205</guid>
		<description><![CDATA[
			
		
		
]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/11/voce-esta-sendo-monitorado/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/11/SextaFeira30.jpg"><img src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/11/SextaFeira30.jpg" alt="Monitoramento" title="Monitoramento" width="425" height="400" class="aligncenter size-full wp-image-1206" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/11/voce-esta-sendo-monitorado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenVPN: Rotas desaparecendo após conexão estabelecida</title>
		<link>http://www.fogonacaixadagua.com.br/2009/11/openvpn-rotas-desaparecendo-apos-conexao-estabelecida/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/11/openvpn-rotas-desaparecendo-apos-conexao-estabelecida/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 15:48:50 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Troubleshoot]]></category>
		<category><![CDATA[OpenVPN]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1194</guid>
		<description><![CDATA[
			
		
		Sintoma
Após conectar-se no servidor OpenVPN, sem erros e com o print de transferência das rotas sendo mostrado normalmente, uns 10 segundos depois, as rotas desaparecem e perde-se conexão com os servidores.
No entanto, adicionando as rotas manualmente, os servidores tornam-se navegáveis novamente.
Causa
Isto é um problema isolado com clientes que utilizam para conectar-se na internet modems USB [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/11/openvpn-rotas-desaparecendo-apos-conexao-estabelecida/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><h2>Sintoma</h2>
<p>Após conectar-se no servidor OpenVPN, sem erros e com o print de transferência das rotas sendo mostrado normalmente, uns 10 segundos depois, as rotas desaparecem e perde-se conexão com os servidores.</p>
<p>No entanto, adicionando as rotas manualmente, os servidores tornam-se navegáveis novamente.</p>
<h2>Causa</h2>
<p>Isto é um problema isolado com clientes que utilizam para conectar-se na internet modems USB e modems 3G (Timweb, VIVO etc).</p>
<p>Esse comportamento não ocorre com clientes que conectam-se via ADSL ou Links dedicados.</p>
<p>Portanto, é um problema obscuro, ficando &#8220;no ar&#8221; se é problema de drivers ou da tecnologia.</p>
<h2>Workaround</h2>
<p>Para que essa situação não ocorra, adicione o seguinte parâmetro no arquivo de configuração do OpenVPN no lado do cliente</p>
<pre class="brush: plain">
route-delay 20
</pre>
<p>Com essa linha, após a conexão com o servidor OpenVPN o cliente esperará 20 segundos para adicionar as rotas fornecidas pelo servidor e não mais desaparecerão.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/11/openvpn-rotas-desaparecendo-apos-conexao-estabelecida/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Fazendo com que o GRUB utilize um kernel específico uma vez ao dar boot</title>
		<link>http://www.fogonacaixadagua.com.br/2009/11/fazendo-com-que-o-grub-utilize-um-kernel-especifico-uma-vez-ao-dar-boot/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/11/fazendo-com-que-o-grub-utilize-um-kernel-especifico-uma-vez-ao-dar-boot/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 11:05:01 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[CLI]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1187</guid>
		<description><![CDATA[
			
		
		Cenário
Essa situação é interessante quando foi compilado um novo kernel e se está com acesso remoto ao servidor, ou seja, mandar um reboot remotamente com um novo kernel, muita coisa pode acontecer, e o mínimo é perder a conexão.
Para essas situações tem como fazer com que o GRUB utilize um kernel em específico apenas uma [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/11/fazendo-com-que-o-grub-utilize-um-kernel-especifico-uma-vez-ao-dar-boot/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><h2>Cenário</h2>
<p>Essa situação é interessante quando foi compilado um novo kernel e se está com acesso remoto ao servidor, ou seja, mandar um <tt>reboot</tt> remotamente com um novo kernel, muita coisa pode acontecer, e o mínimo é perder a conexão.</p>
<p>Para essas situações tem como fazer com que o GRUB utilize um kernel em específico apenas uma vez, e em caso de <tt>Kernel Panic</tt> o servidor será resetado e o kernel original será utilizado, voltando assim o acesso remoto para serem feitas as alterações necessárias.</p>
<h2>Preparando o ambiente</h2>
<p>É importante também definir os seguinte parâmetros de kernel:</p>
<pre class="brush: shell; gutter: false">
kernel.panic = 5
kernel.panic_on_oops = 1
</pre>
<p>A primeira linha significa que o computador será &#8220;resetado&#8221; após 5 segundo de Panic e a segunda linha informa que será gerado um <tt>Kernel Panic</tt> em qualquer evento de estouro de memória e afins.</p>
<p>Adicione as duas linhas anteriores no arquivo <tt>/etc/sysctl.conf</tt> e após isso, execute o comando</p>
<pre class="brush: shell; gutter: false"> sysctl -p</pre>
<h2>Lidando com o GRUB</h2>
<p>Como root execute</p>
<pre class="brush: shell; gutter: true">grub --batch</pre>
<pre class="brush: shell; gutter: true">
grub> savedefault --default=1 --once
grub> quit
</pre>
<p>Fará com que o GRUB ignore uma única vez os parâmetros &#8216;default&#8217; e &#8216;timeout&#8217; do grub.conf e nessa inicialização utilizará o kernel &#8216;1&#8242; do GRUB, no boot seguinte será utilizado o arquivo grub.conf normalmente. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/11/fazendo-com-que-o-grub-utilize-um-kernel-especifico-uma-vez-ao-dar-boot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curva de satisfação de usuário em relação ao número de features de um software</title>
		<link>http://www.fogonacaixadagua.com.br/2009/11/curva-de-satisfacao-de-usuario-em-relacao-a-um-sofware/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/11/curva-de-satisfacao-de-usuario-em-relacao-a-um-sofware/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 19:20:05 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Comic]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1180</guid>
		<description><![CDATA[Um gráfico simples, porém verdadeiro, onde é grafado o contentamento do usuário em relação a quantidade de features que um software oferece.

]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"></div><p>Um gráfico simples, porém verdadeiro, onde é grafado o contentamento do usuário em relação a quantidade de features que um software oferece.</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/11/FeaturesAndHappiness.png"><img class="aligncenter size-full wp-image-1181" title="FeaturesAndHappiness" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/11/FeaturesAndHappiness.png" alt="FeaturesAndHappiness" width="440" height="343" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/11/curva-de-satisfacao-de-usuario-em-relacao-a-um-sofware/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FreeBSD: forçar uso de login e senha ao iniciar em single mode</title>
		<link>http://www.fogonacaixadagua.com.br/2009/11/freebsd-forcar-uso-de-login-e-senha-ao-iniciar-em-single-mode/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/11/freebsd-forcar-uso-de-login-e-senha-ao-iniciar-em-single-mode/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 16:10:19 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Seguranca]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1172</guid>
		<description><![CDATA[Sintoma
Ao iniciar o FreeBSD em single mode, o Sistema entra direto como root, sem pedir senha.
Causa
Para evitar esse tipo de situação e obrigando quem quer que seja a saber a senha para poder mexer no sistema, proceda da seguinte maneira:
Edite o arquivo /etc/ttys e procure pela linha 

console none       [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"></div><h2>Sintoma</h2>
<p>Ao iniciar o FreeBSD em single mode, o Sistema entra direto como root, sem pedir senha.</p>
<h2>Causa</h2>
<p>Para evitar esse tipo de situação e obrigando quem quer que seja a saber a senha para poder mexer no sistema, proceda da seguinte maneira:</p>
<p>Edite o arquivo <tt>/etc/ttys</tt> e procure pela linha </p>
<pre class="brush: shell; gutter: false">
console none                            unknown off secure
</pre>
<h2>Solução</h2>
<p>E altere o parâmetro onde lê-se <tt>secure</tt> para <tt>insecure</tt>, ficando assim:</p>
<pre class="brush: shell; gutter: false">
console none                            unknown off insecure
</pre>
<p>Após isso, quando for iniciado no single mode, o acesso somente será permito à console mediante confirmação da senha.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/11/freebsd-forcar-uso-de-login-e-senha-ao-iniciar-em-single-mode/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pergunta e resposta na tampinha de garrafa de uma cerveja Australiana</title>
		<link>http://www.fogonacaixadagua.com.br/2009/10/pergunta-e-resposta-na-tampinha-de-garrafa-de-uma-cerveja-australiana/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/10/pergunta-e-resposta-na-tampinha-de-garrafa-de-uma-cerveja-australiana/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 00:56:23 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Comic]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1147</guid>
		<description><![CDATA[
			
		
		É no mínimo show!
Olha só, numa série da cerveja Carlton Draught vem perguntas com respostas&#8230; e vejam uma delas&#8230;
&#8220;Aprecie com moderação&#8221;.
]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/10/pergunta-e-resposta-na-tampinha-de-garrafa-de-uma-cerveja-australiana/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>É no mínimo show!</p>
<p>Olha só, numa série da cerveja <a title='Original Link: http://www.carltondraught.com.au'  href="http://www.fogonacaixadagua.com.br/?kD5Pex1W" target="_blank">Carlton Draught</a> vem perguntas com respostas&#8230; e vejam uma delas&#8230;</p>
<p>&#8220;Aprecie com moderação&#8221;.</p>

<a href="http://www.fogonacaixadagua.com.br/wp-content/gallery/linux/linux-cap.jpg" title="" class="shutterset_singlepic44" >
	<img class="ngg-singlepic" src="http://www.fogonacaixadagua.com.br/wp-content/gallery/cache/44__640xmode=web20_linux-cap.jpg" alt="linux-cap" title="linux-cap" />
</a>

]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/10/pergunta-e-resposta-na-tampinha-de-garrafa-de-uma-cerveja-australiana/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SELinux: Política que permite o Postfix &#8216;conversar&#8217; com o gnarwl</title>
		<link>http://www.fogonacaixadagua.com.br/2009/10/selinux-politica-que-permite-o-postfix-conversar-com-o-gnarwl/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/10/selinux-politica-que-permite-o-postfix-conversar-com-o-gnarwl/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 05:59:24 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguranca]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[SELinux]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1127</guid>
		<description><![CDATA[
			
		
		O gnarwl é de longe o melhor auto-reply disponível, bastante customizável e o melhor é que usa LDAP e é facilmente integrado com o Postifx.
Lembrando que se você tem o plugin &#8216;vacation&#8217; no squirrelmail ele não vai ter incompatilidade, uma vez que setando a auto-resposta no squirrelmail vai sobrescrever os dados colocados originalmente no LDAP [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/10/selinux-politica-que-permite-o-postfix-conversar-com-o-gnarwl/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>O gnarwl é de longe o melhor auto-reply disponível, bastante customizável e o melhor é que usa LDAP e é facilmente integrado com o Postifx.</p>
<p>Lembrando que se você tem o plugin &#8216;vacation&#8217; no squirrelmail ele não vai ter incompatilidade, uma vez que setando a auto-resposta no squirrelmail vai sobrescrever os dados colocados originalmente no LDAP manualmente ou pelo phamm ou pelo GOsa2, ou seja, tranquilo :)</p>
<p>Não vou discutir aqui como instalar o gnarwl, pois para isso vou fazer outro post.</p>
<p>Esse post é específico em criar uma política que permita o Postfix &#8220;conversar&#8221; com o gnarwl, ou seja, vai permitir que o Postfix envie a mensagem, via BCC ao gnarwl e este verificará se o campo vacationActive está como TRUE.</p>
<h2>Criando o arquivo com as regras</h2>
<p>Primero, crie o arquivo que contém as regras para o gnarwl, chamando-o de <tt>gnarwl.te</tt> e com o seguinte conteúdo:</p>
<p><tt>Arquivo gnarwl.te</tt></p>
<pre class="brush: plain; gutter: true">module gnarwl 1.0;

require {
	type var_lib_t;
	type postfix_postdrop_t;
	type postfix_local_t;
	type sendmail_exec_t;
	class unix_stream_socket { read write getattr };
	class file { execute read lock create execute_no_trans write getattr };
	class dir { write search add_name };
}

#============= postfix_local_t ==============
allow postfix_local_t sendmail_exec_t:file { read execute execute_no_trans };
allow postfix_local_t var_lib_t:dir { write add_name };
allow postfix_local_t var_lib_t:file { read lock getattr write create };

#============= postfix_postdrop_t ==============
allow postfix_postdrop_t postfix_local_t:unix_stream_socket { read write getattr };
</pre>
<p>Vou explicar algumas linhas.</p>
<p>Linha 7 e 14: o postfix tem que ter permissão para executar o sendmail, pois quando o email é encaminhado para o usuário gnarwl (é um usuário local do Linux) ele auto-responde a mensagem para quem enviou, por isso essa regra é necessária.</p>
<p>Linhas 8 e 19: ao acessar o arquivo <tt>.forward</tt> do home do gnarwl, tem o comando que faz um pipe para o executável do gnarwl, essa linha é <tt>|/usr/bin/gnarwl</tt>, por isso o postfix precisa dessa permissão.</p>
<h2>Compilando as regras</h2>
<p>Com o arquivo criado, é necessário compilar as régras e instalar a nova política.</p>
<pre class="brush: shell">checkmodule -M -m -o gnarwl.mod gnarwl.te</pre>
<p>O resultado do comando será algo parecido com:</p>
<pre class="brush:shell; gutter: false">checkmodule:  loading policy configuration from gnarwl.te
checkmodule:  policy configuration loaded
checkmodule:  writing binary representation (version 6) to gnarwl.mod
</pre>
<pre class="brush: shell">semodule_package -o gnarwl.pp -m gnarwl.mod</pre>
<p>Se tudo for Ok, não haverá resultado de saída.</p>
<pre class="brush: shell">semodule -i gnarwl.pp</pre>
<p>Se tudo for Ok, não haverá resultado de saída.</p>
<h2>Verificando a instalação</h2>
<p>O comando <tt>semodule -l</tt> lista todos os módulos instalados, veja que o novo módulo gnarwl 1.0 está instalado.</p>
<pre class="brush: shell; gutter: false">semodule -l |grep gnarwl
gnarwl	1.0
</pre>
<p>Se algum problema ocorreu no processo, comente sua dúvida.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/10/selinux-politica-que-permite-o-postfix-conversar-com-o-gnarwl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apresentação sobre IPv6, por Luciano Borguetti</title>
		<link>http://www.fogonacaixadagua.com.br/2009/10/apresentacao-sobre-ipv6/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/10/apresentacao-sobre-ipv6/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 03:37:21 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[IPv6]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1065</guid>
		<description><![CDATA[Uma excelente apresentação acerca do IPv6, a nova versão do protocolo IP que vem substituir o bom e velho IPv4.

]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"></div><p>Uma excelente apresentação acerca do IPv6, a nova versão do protocolo IP que vem substituir o bom e velho IPv4.</p>
<p><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=id=2325153&amp;doc=paletra-ipv6-new-091022222744-phpapp01" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=id=2325153&amp;doc=paletra-ipv6-new-091022222744-phpapp01" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355" wmode="transparent"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/10/apresentacao-sobre-ipv6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCSI ID: Pinagem para HD SCSI 68 pinos Maxtor e Seagate</title>
		<link>http://www.fogonacaixadagua.com.br/2009/10/scsi-id-pinagem-para-hd-scsi-68-pinos-maxtor-e-seagate/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/10/scsi-id-pinagem-para-hd-scsi-68-pinos-maxtor-e-seagate/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 02:51:36 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[SCSI]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1041</guid>
		<description><![CDATA[
			
		
		Jumpeamento dos HDs SCSI de 68 pinos&#8230; um saquinho né.
Vou colocar aqui uma cola com a pinagem certa e os IDs para os disco, assim não precisa ficar na tentativa e erro.
Na verdade é mais pra mim, que onde trabalho temos alguns disco desse naipe e volta e meia tenho que dar manutenção neles (falhas [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://www.fogonacaixadagua.com.br/2009/10/scsi-id-pinagem-para-hd-scsi-68-pinos-maxtor-e-seagate/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div></div><p>Jumpeamento dos HDs SCSI de 68 pinos&#8230; um saquinho né.</p>
<p>Vou colocar aqui uma cola com a pinagem certa e os IDs para os disco, assim não precisa ficar na tentativa e erro.</p>
<p>Na verdade é mais pra mim, que onde trabalho temos alguns disco desse naipe e volta e meia tenho que dar manutenção neles (falhas e trocas).</p>
<p>A quem interessar, espero ter ajudado.</p>
<p><a href="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/10/scsi_id_chart.jpg"><img class="aligncenter size-full wp-image-1042" title="scsi_id_chart" src="http://www.fogonacaixadagua.com.br/wp-content/uploads/2009/10/scsi_id_chart.jpg" alt="scsi_id_chart" width="279" height="321" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/10/scsi-id-pinagem-para-hd-scsi-68-pinos-maxtor-e-seagate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD troubleshooting Samba AD</title>
		<link>http://www.fogonacaixadagua.com.br/2009/10/freebsd-troubleshooting-samba-ad/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/10/freebsd-troubleshooting-samba-ad/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 20:47:31 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Troubleshoot]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1011</guid>
		<description><![CDATA[Ao instalar o samba via ports no FreeBSD com suporte ao AD (Active Directory) da Microsoft, pode acontecer de o samba não compilar e terminar com o seguinte erro
Compiling libsmb/clikrb5.c
libsmb/clikrb5.c: In function `krb5_set_real_time':
libsmb/clikrb5.c:128: error: dereferencing pointer to incomplete type
libsmb/clikrb5.c:129: error: dereferencing pointer to incomplete type
The following command failed:
cc -I. -I/usr/ports/net/samba3/work/samba-3.0.26a/source  -O2 -pipe
-march=prescott -D_SAMBA_BUILD_=3 -I/usr/local/include
-I/usr/ports/net/samba3/work/samba-3.0.26a/source/iniparser/src
-Iinclude [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"></div><p>Ao instalar o samba via ports no FreeBSD com suporte ao AD (Active Directory) da Microsoft, pode acontecer de o samba não compilar e terminar com o seguinte erro</p>
<pre class="brush: shell; gutter: false">Compiling libsmb/clikrb5.c
libsmb/clikrb5.c: In function `krb5_set_real_time':
libsmb/clikrb5.c:128: error: dereferencing pointer to incomplete type
libsmb/clikrb5.c:129: error: dereferencing pointer to incomplete type
The following command failed:
cc -I. -I/usr/ports/net/samba3/work/samba-3.0.26a/source  -O2 -pipe
-march=prescott -D_SAMBA_BUILD_=3 -I/usr/local/include
-I/usr/ports/net/samba3/work/samba-3.0.26a/source/iniparser/src
-Iinclude -I./include  -I. -I. -I./lib/replace -I./lib/talloc
-I./tdb/include -I./libaddns -I./librpc -DHAVE_CONFIG_H
-I/usr/local/include -DLDAP_DEPRECATED
-I/usr/ports/net/samba3/work/samba-3.0.26a/source/lib -D_SAMBA_BUILD_=3
-fPIC -DPIC -c libsmb/clikrb5.c -o libsmb/clikrb5.o
*** Error code 1

Stop in /usr/ports/net/samba3/work/samba-3.0.26a/source.
*** Error code 1

Stop in /usr/ports/net/samba3.
*** Error code 1

Stop in /usr/ports/net/samba3.
</pre>
<p>Para resolver isso, instale, pelo ports, o krb5</p>
<pre class="brush: shell; gutter: true">cd /usr/ports/security/krb5
make install
</pre>
<p>Em seguida, volte ao port do samba e prossiga com a instalação</p>
<pre class="brush: shell; gutter: true">cd /usr/ports/net/samba3
make clean
make KRB5_HOME=/usr/local
make install
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/10/freebsd-troubleshooting-samba-ad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD: como montar uma imagem de CD .iso (iso9660) localmente</title>
		<link>http://www.fogonacaixadagua.com.br/2009/10/como-montar-uma-imagem-de-cd-iso-is9660-localmente/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/10/como-montar-uma-imagem-de-cd-iso-is9660-localmente/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 20:34:02 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[CLI]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=1006</guid>
		<description><![CDATA[Muitas vezes baixamos uma imagem de CD mas não queremos ou não precisamos queimar um CD pra pegar o necessário.
No linux, para montar uma imagem de CD o comando
mount -o loop /caminho/imagem.iso /ponto/de/montagem

é o suficiente, mas e no FreeBSD? Como chegar ao mesmo resultado?
A sequencia de comandos a serem digitados é esta:
mdconfig -a -t vnode [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"></div><p>Muitas vezes baixamos uma imagem de CD mas não queremos ou não precisamos queimar um CD pra pegar o necessário.</p>
<p>No linux, para montar uma imagem de CD o comando</p>
<pre class="brush: shell; gutter: true">mount -o loop /caminho/imagem.iso /ponto/de/montagem
</pre>
<p>é o suficiente, mas e no FreeBSD? Como chegar ao mesmo resultado?</p>
<p>A sequencia de comandos a serem digitados é esta:</p>
<pre class="brush: shell; gutter: true">mdconfig -a -t vnode -f /caminho/para/imagem.iso -u 1
mount -t cd9660 /dev/md1 /ponto/de/montagem
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/10/como-montar-uma-imagem-de-cd-iso-is9660-localmente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comportamento de um servidor comprometido</title>
		<link>http://www.fogonacaixadagua.com.br/2009/10/comportamento-de-um-servidor-comprometido/</link>
		<comments>http://www.fogonacaixadagua.com.br/2009/10/comportamento-de-um-servidor-comprometido/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 12:26:16 +0000</pubDate>
		<dc:creator>Daniel Kühl Lima</dc:creator>
				<category><![CDATA[Pânico]]></category>
		<category><![CDATA[Seguranca]]></category>

		<guid isPermaLink="false">http://www.fogonacaixadagua.com.br/?p=997</guid>
		<description><![CDATA[As características apresentadas são um escopo geral de como você pode identificar ou partir para uma análise caso seu servidor comece a se comportar de forma estranha, como segue:

As aplicações instaladas no servidor de repente começam a não responder de forma esperada, ou seja, problemas incomuns e um ambiente considerado estável
Contas de usuários adicionais que [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"></div><p>As características apresentadas são um escopo geral de como você pode identificar ou partir para uma análise caso seu servidor comece a se comportar de forma estranha, como segue:</p>
<ul>
<li>As aplicações instaladas no servidor de repente começam a não responder de forma esperada, ou seja, problemas incomuns e um ambiente considerado estável</li>
<li>Contas de usuários adicionais que você não consegue visualizar (elas podem ter sido feitas para parecer com contas do sistema)</li>
<li>Novos arquivos ou diretórios com nomes incomuns, por exemplo &#8216;&#8230;&#8217;, &#8216;.qualquercoisa&#8217; etc</li>
<li>Tráfego de rede acima do comum e que não podem ser atribuidas a um processo em particular</li>
<li>Você recebe um email de um departamento de segurança dizendo que seu servidor foi detectado em estar fazendo port scan ou enviando tráfego de rede malicioso para determinado site</li>
<li>O servidor está rodando significativamente lento e alto consumo de processamento.</li>
</ul>
<p>Esses são os pontos principais, onde, pode haver um ou até mesmo todos os sintomas listados acima, mas não limitado a esses.</p>
<h3>Link relacionado</h3>
<p>Nesse Blog, do meu amigo Luciano, tem uma análise completa de um host comprometido e detalhamento do que foi feito para identificar e combater. Obrigado pela contribuição Luciano!</p>
<ul>
<li><a title='Original Link: http://lucianoborguetti.blogspot.com/2009/06/possible-t0rn-v8-or-variation-rootkit.html'  href="http://www.fogonacaixadagua.com.br/?MFGvs4Hr">http://lucianoborguetti.blogspot.com/2009/06/possible-t0rn-v8-or-variation-rootkit.html</a></li>
</ul>
<p>Comente caso você tenha uma outra característica!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fogonacaixadagua.com.br/2009/10/comportamento-de-um-servidor-comprometido/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
