<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7620206746892663415</atom:id><lastBuildDate>Sun, 15 Sep 2024 02:20:40 +0000</lastBuildDate><category>seguranca_de_rede</category><category>servicos_de_rede</category><category>diversos</category><category>scripts_administrativos</category><category>Sistemas_Operacionais</category><title>Conteúdo Open  Source e segurança da informação.</title><description>Este blog vêm com o intuito de compartilhar informações com os demais usuários de tecnologias open source, ou em bom protuguês: tecnologias computacionais de código aberto. Aqui será colocado assuntos do cotidiano de quem trabalha com essas tecnologias. Será postado dicas, resoluções de problemas, implementações de serviços de rede, novidades,  solicitações de ajuda e etc. Com foco principal em sistemas operacionais Unix-Like e softwares livre que forneçam serviços de rede.</description><link>http://conteudoopensource.blogspot.com/</link><managingEditor>noreply@blogger.com (Leonardo Couto Conrado)</managingEditor><generator>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-7527350870758766981</guid><pubDate>Thu, 25 Oct 2018 15:35:00 +0000</pubDate><atom:updated>2018-10-25T08:47:13.634-07:00</atom:updated><title>Adjust Daylight Saving Time - Red Hat/CentOS</title><description>Adjust Daylight Saving Time - Red Hat/CentOS

- Create the file in anywhere:

&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt; # vi Sao_Paulo.zic &lt;/pre&gt;

&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt; 

Rule    BrazilSP  2018    only    -       Nov     04      0:00    1:00    S
Rule    BrazilSP  2019    only    -       Feb     17      0:00    0       -

# Zone  NAME                    GMTOFF  RULES/SAVE      FORMAT  [UNTIL]
Zone    America/Sao_Paulo       -3:00   BrazilSP        BR%sT

&lt;/pre&gt;

&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt; # zic  Sao_Paulo.zic &lt;/pre&gt;

- Check out if the daylight time interval changed in the timezone:


&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt; # zdump -v /usr/share/zoneinfo/America/Sao_Paulo | grep 2018 &lt;/pre&gt;

- Create a link symbolic 
&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt; # ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime &lt;/pre&gt;

&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt; # env | grep TZ &lt;/pre&gt;


- Type the timezone to be used:

&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt; # vi /etc/profile &lt;/pre&gt;
&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt; # export TZ=America/Sao_Paulo &lt;/pre&gt;
&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt; # source /etc/profile &lt;/pre&gt;

Done!! Check if the Daylight is being displayed right!! </description><link>http://conteudoopensource.blogspot.com/2018/10/adjust-daylight-saving-time-red_25.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-426271610153452787</guid><pubDate>Sun, 26 Aug 2018 16:20:00 +0000</pubDate><atom:updated>2018-08-26T09:25:05.511-07:00</atom:updated><title>Not found ifconfig in CentOS?</title><description>Don&#39;t worry, if you have installed your CentOS/RedHat using minimal mode. The OS comes lightly without some of well-known binaries. Following how to install some of these necessary admin programs via yum:&lt;br /&gt;
&lt;br /&gt;
1 - ifconfig:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt;# yum install net-tools&lt;/pre&gt;
&lt;br /&gt;
2 - killall:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt;yum install psmisc&lt;/pre&gt;
&lt;br /&gt;
3 - snmpwalk:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot; name=&quot;code&quot;&gt;yum install net-snmp-utils&lt;/pre&gt;</description><link>http://conteudoopensource.blogspot.com/2018/08/not-found-ifconfig-in-centos.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-5124675468792188914</guid><pubDate>Tue, 18 Feb 2014 13:06:00 +0000</pubDate><atom:updated>2014-02-18T05:12:24.308-08:00</atom:updated><title>Sessão Fix: MISCONFIGURATION</title><description>&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;MISCONFIGURATION&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;kernel rp_filter settings,
reverse path filtering&lt;/span&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Sistema utilizado&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Red Hat Enterprise Linux Server
release 5.10 (Tikanga)&lt;/span&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;SINTOMA:&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Configuramos o servidor para ser um banco de
dados Oracle, esse server ficava durante um tempo, tipo 1 dia, funcionando
normalmente mas de repente o mesmo parava de responder a qualquer tipo de
conexão vindo de determinadas máquinas, simplesmente os pacotes chegavam no
servidor, em sua interface de rede, e o mesmo não respondia não importando o
tipo de conexão vindas de&amp;nbsp;determinadas&amp;nbsp;máquinas. O firewall deste
servidor assim como&amp;nbsp;SELinux estavam desativados e não existia também
nenhum filtro no caminho entre os servidores envolvidos nessa comunicação.&lt;/span&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/i&gt;&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;PROBLEMA:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;/span&gt;O esquema de segurança contra ataque
tipo Spoofing é assegurado por um parâmetro&amp;nbsp;de Kernel&amp;nbsp;rp_filter
settings no Red Hat e esse&amp;nbsp;parâmetro&amp;nbsp; foi ajustado incorretamente. A
versão 5 do Red Hat&amp;nbsp;admite&amp;nbsp;somente dois valores&amp;nbsp;para
esse&amp;nbsp;parâmetro(0 ou 1), já &amp;nbsp;a versão 6 do Red hat admite 3
valores(0,1 e 2).&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-ansi-language: EN-US;&quot;&gt;No Red Hat 5:&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.5pt;&quot;&gt;&lt;u2:p&gt;&lt;/u2:p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;rp_filter - BOOLEAN&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;1 - Faz a validação da origem usando o caminho reverso, como
especificado no RFC1812. Opção recomendada para servidores e roteadores de
rede. Poderá causar problemas para redes complexas rodando um protocolo não
confiável e lento(tipo RIP) ou que usa rotas estáticas.&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;u1:p&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/u1:p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 - Sem
validação de origem.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; conf/all/rp_filter deve ser
também configurado para TRUE para fazer a validação de origem na interface.&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;u1:p&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/u1:p&gt;Valor padrão é 0. Observe que algumas
distribuições habilitam essa opção nos scripts de inicialização.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-ansi-language: EN-US;&quot;&gt;No Red Hat 6:&lt;u1:p&gt;&lt;/u1:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-size: 13.5pt;&quot;&gt;&lt;u2:p&gt;&lt;/u2:p&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;rp_filter - INTEGER&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;/span&gt;0 - Sem validação de origem.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
1 - Modo rígido como definido na RFC3704. Cada pacote que chega é te&lt;/span&gt;stado
contra a FIB(Forwarding Information Base, encontra a interface apropriada para
a qual a interface de entrada deverá encaminhar um pacote) e se a interface não
é o melhor caminho reverso o check do pacote falhará. Por padrão pacotes que
falharam são descartados.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
2 - Modo folgado como definido na RFC3704 cada endereço de origem do pacote que
chega é também testado contra a FIB e se o endereço de origem não é alcançável
via qualquer interface o check do pacote falhará.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;SOLUÇÃO:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;br /&gt;
&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0cm 0cm 0.0001pt;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Se este problema de comunicação estiver acontecendo em seu
servidor devemos primeiramente habilitar o log de martians packet:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;echo 1 &amp;gt;
/proc/sys/net/ipv4/conf/eth0/log_martians&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;sysctl -w
net.ipv4.conf.default.log_martians=1&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;sysctl -p&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Check os logs &lt;/span&gt;no
dmesg:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;dmesg | grep
-i martian&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;Algo do tipo
&quot;martian source 169.254.179.40 from 169.254.179.43, on dev eth0&quot;&lt;/span&gt;&amp;nbsp;irá
aparecer no seu log.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;O nosso
problema foi que configuramos o parâmetro rp_filter no arquivo /etc/sysctl.conf
na versão 5 do Red Hat com o valor 2(Sendo que essa versão só aceita dois
valores 0 ou 1):&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;net.ipv4.conf.default.rp_filter
= 2&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background-color: white; background-position: initial initial; background-repeat: initial initial; color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 10pt;&quot;&gt;Modificamos o
parâmetro para o valo&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;r certo em dois parâmetros e o sistema parou
de logar martian packet e derrubar as conexões legitimas vindas outros servidores da nossa rede:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;net.ipv4.conf.default.rp_filter
= 1&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;background: white; color: #222222; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt;&quot;&gt;net.ipv4.conf.all.rp_filter
= 1&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;&lt;u2:p&gt;&lt;/u2:p&gt;









&lt;u2:p&gt;&lt;/u2:p&gt;



&lt;u2:p&gt;&lt;/u2:p&gt;



&lt;u2:p&gt;&lt;/u2:p&gt;



&lt;u2:p&gt;&lt;/u2:p&gt;



&lt;u2:p&gt;&lt;/u2:p&gt;



&lt;u2:p&gt;&lt;/u2:p&gt;



&lt;u2:p&gt;&lt;/u2:p&gt;



&lt;u2:p&gt;&lt;/u2:p&gt;



























&lt;u2:p&gt;&lt;/u2:p&gt;

















































&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://conteudoopensource.blogspot.com/2014/02/sessao-fix-misconfiguration.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-2711507952826887729</guid><pubDate>Thu, 27 Jun 2013 11:34:00 +0000</pubDate><atom:updated>2013-06-28T13:31:44.985-07:00</atom:updated><title>Localizar arquivos ou diretórios grandes ocupando a partição /</title><description>Uma forma simples para pesquisar arquivos que possivelmente esteja ocupando espaço na sua partição, usamos os seguintes e simples comandos:

1 - Acessar a partição que deseja pesquisar quem são os maiores arquivos:
&lt;pre name=&quot;code&quot; class=&quot;brush: bash&quot;&gt;
# cd /
&lt;/pre&gt;
2 - Listar e filtrar por arquivos ou diretórios que o tamanho esteja em gigabyte(G):
&lt;pre class=&quot;brush: bash&quot;&gt;
# du -h | awk &#39;{print $1}&#39;|grep G
5.1G
6.0G
6.0G
1.8G
2.0G
8.4G
1.4G
2.8G
2.9G
3.2G
6.4G
&lt;/pre&gt;
3 - Com uma das linhas do resultado acima, que informa os diretórios ou arquivos que possuem tamanho em giga, execute o seguinte comando para saber qual o diretório ou arquivo, por exemplo:
&lt;pre class=&quot;brush: bash&quot;&gt;
# du -h | grep 8.4G
8.4G    ./var
&lt;/pre&gt;

4 - Podemos realizar esse mesmo procedimento entrando na partição /var e depois executar os passos 2 e 3 afim de refinar mais ainda a nossa pesquisa para encontrar o diretório ou arquivo que esteja ocupando muito espaço em nossa partição.</description><link>http://conteudoopensource.blogspot.com/2013/06/localizar-arquivos-de-tamanhos-grande.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-152159372198955535</guid><pubDate>Fri, 21 Dec 2012 14:01:00 +0000</pubDate><atom:updated>2013-03-06T10:46:33.666-08:00</atom:updated><title>Script deletar e-mails da fila do Qmail</title><description>Quando uma conta de e-mail de seu domínio esta sendo utilizada para enviar spam para internet(provavelmente por que esteja com uma senha frágil) será necessário deletar os e-mails que estão na fila para serem enviados. Você identificará isso quando ver que sua fila de e-mails está muito grande e que existe uma conta sendo a responsável pelo envio dessa massa de e-mails.

1 - Para visualizar a sua fila de e-mails no Qmail utilize o comando:
&lt;pre class=&quot;brush: bash&quot;&gt;
# qmailctl queue
&lt;/pre&gt;

2 - As vezes o mailfrom pode ser um e-mail que não pertença ao seu domínio, os spammers nesse caso somente utilizam a conta de algum usuário do seu servidor de e-mail para realizar o login e ter permissão para enviar os spam e ai trocam o mailfrom que aparece quando você manda listar a fila. Para identificar a conta do usuário que está sendo utilizada procure nos logs do smtpd faço um filtro usando o mailfrom que aparece lá na fila.

3 - O script abaixo deletar e-mails da fila com base no mailfrom que aparece lá na fila. Então para utiliza-lo você deverá parar o serviço Qmail e então executar o script informando o mailfrom que está enviando a massa de e-mails.

OBS.: Não esqueça, logicamente, de redefinir a senha da conta que estava sendo utilizada para enviar spam.

&lt;pre class=&quot;brush: bash&quot;&gt;
###############################################################
# Deletar spam de acordo com remetente local
# Por Leonardo Couto Conrado
# Em 16.11.2012
###############################################################
#!/bin/sh

path=/var/qmail/queue
cmdFind=/usr/bin/find
cmdQmailCtl=/usr/local/bin/qmailctl
cmdGrep=/bin/grep
cmdEcho=/bin/echo
cmdLs=/bin/ls
cmdRm=/bin/rm
cmdAwk=/bin/awk

$cmdEcho -n &quot;Informe o e-mail que esta sendo usado para enviar spam: &quot;; read emailUsedAsSpammer


$cmdEcho &quot;O servico do Qmail ja esta parado e o e-mail usado como spam e $emailUsedAsSpammer? yes, no ou quit?&quot;
read opt
case $opt in
&quot;quit&quot;)
        $cmdEcho &quot;Saindo...&quot;
        exit
        ;;
&quot;yes&quot;)
        $cmdEcho &quot;Entrando em processo de exclusao de e-mails...&quot;
        for i in $( $cmdQmailCtl queue | $cmdGrep $emailUsedAsSpammer |$cmdAwk -F &#39;#&#39; &#39;{ print $2 }&#39; | $cmdAwk &#39;{ print $1 }&#39; ); do
        $cmdFind $path -name $i -exec $cmdRm -rf {} \;
        $cmdEcho &quot;Vai ser deletado= &quot; $i
        done
        ;;

&quot;no&quot;)
        $cmdEcho &quot;Você deve parar o servico do qmail antes de deletar mensagens na fila e ter certeza do e-mail que esta sendo usado como spam.&quot;
        exit
        ;;

*)
        $cmdEcho &quot;O servico do Qmail ja esta parado e o e-mail usado como spam e $emailUsedAsSpammer? yes, no ou quit?&quot;
        ;;
esac
&lt;/pre&gt;</description><link>http://conteudoopensource.blogspot.com/2012/12/deletar-e-mails-da-fila-do-qmail.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-3746135911098952970</guid><pubDate>Tue, 31 Jan 2012 01:33:00 +0000</pubDate><atom:updated>2012-01-30T17:37:59.181-08:00</atom:updated><title>Parque tecnológico da Bahia</title><description>&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;A Bahia está muito perto de ter seu primeiro Parque Tecnológico.&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;Este empreendimento surge para abrigar empresas de base tecnológica, centros de pesquisas, universidades e incubadoras de empresas.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;Com alto padrão urbanístico, o empreendimento tem um cuidadoso  tratamento paisagístico, preservando parte da cobertura da Mata Atlântica e do seu relevo. Localizado na Avenida Paralela, principal eixo de expansão urbana de Salvador, o Parque Tecnológico da Bahia está próximo ao aeroporto de Salvador, centros de tecnologia, instituições de ensino e conta com conexão de fibra ótica.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;O Estado da Bahia dispõe de recursos para apoiar empresas inovadoras que se instalem no parque. São 581.000 m² de área, destinados à geração de conhecimento e de negócios de alto valor agregado.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;&lt;b&gt;Entenda como vai funcionar:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://saudeweb.com.br/video/entenda-como-vai-funcionar-o-parque-tecnologico-da-bahia/&quot;&gt;http://saudeweb.com.br/video/entenda-como-vai-funcionar-o-parque-tecnologico-da-bahia/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: x-small;&quot;&gt;Fonte:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.secti.ba.gov.br/parquetecnologico/&quot;&gt;http://www.secti.ba.gov.br/parquetecnologico/&lt;/a&gt;</description><link>http://conteudoopensource.blogspot.com/2012/01/parque-tecnologico-da-bahia.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-1139465730511559895</guid><pubDate>Fri, 20 Jan 2012 17:13:00 +0000</pubDate><atom:updated>2012-01-21T10:15:36.651-08:00</atom:updated><title>Plugin do Nagios para verificar a fila de e-mails do servidor Qmail</title><description>OBS.: O plugin é executado através do NRPE na máquina remota, logo, o script deve ser colocado junto aos outros plugins do nagios na máquina cliente, ou seja, no servidor Qmail e não no servidor Nagios.&lt;br /&gt;
&lt;br /&gt;
Este script ajudará a identificar um possível ataque ao seu servidor de e-mails. Onde uma conta de e-mail do seu dominio provavelmente com uma senha frágil esteja sendo utilizada para enviar uma grande massa de e-mails (SPAM) com destino a endereços e-mails da internet, logo, isso acarretará em uma grande quantidade em excesso de mensagens na fila de envio do seu servidor Qmail atrasando o envio de e-mails verdadeiros. O script checará sempre essa quantidade de mensagens na fila e retornará a saída para o Nagios.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Copie o script abaixo, que irá checar a fila de e-mails, para o diretório de plugins do Nagios no seu servidor Qmail:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi /usr/local/nagios/libexec/check_qmail_queue
&lt;/pre&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;############################################################### 
# Script checar fila de e-mails do Qmail 
# Por Leonardo Couto Conrado 
# Em 20.01.2012
############################################################### 
#!/bin/sh

OK=0
WARNING=1
CRITICAL=2
UNKNOWN=3

criticalMsgsInQueue=90
warningMsgsInQueue=80

mailQueue=$(/usr/local/bin/qmailctl queue | grep &quot;messages in queue:&quot; | awk -F &quot;:&quot; &#39;{print $2}&#39;)

if [ $mailQueue -gt $criticalMsgsInQueue ]; then
        echo &quot;NÚMERO DE MENSAGENS NA FILA ULTRAPASSOU O LIMITE DE CRITICAL, $mailQueue MSGS NA FILA!&quot;
        exit $CRITICAL
fi


if [ $mailQueue -gt $warningMsgsInQueue ]; then
        echo &quot;NÚMERO DE MENSAGENS NA FILA ULTRAPASSOU O LIMITE DE WARNING, $mailQueue MSGS NA FILA!!&quot;
        exit $WARNING

        else
                echo &quot;NÚMERO DE MENSAGENS NA FILA ESTÁ OK, IGUAL A $mailQueue MSGS NA FILA.&quot;
                exit $OK
fi

exit $UNKNOWN

&lt;/pre&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# chmod +x /usr/local/nagios/libexec/check_qmail_queue
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Para ativar o check, devemos inserir o comando e o serviço no servidor do Nagios. Segue procedimento para ser executado no Nagios:&lt;br /&gt;
&lt;br /&gt;
1 - Crie o comando no arquivo commands.cfg (No ambiente usado para esse &quot;how to&quot; o arquivo encontra-se em /usr/local/nagios/etc/objects/commands/commands.cfg no servidor Nagios:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;vi /usr/local/nagios/etc/objects/commands/commands.cfg
#&#39;check_nrpe_qmail_queue&#39; command definition
define command{
        command_name    check_nrpe_qmail_queue
        command_line    $USER2$/check_nrpe -H $HOSTADDRESS$ -c check_msgs_qmail_queue
        }

&lt;/pre&gt;
2 - Crie o serviço para o servidor Qmail:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;vi /usr/local/nagios/etc/objects/services/linux-services.cfg
define service{
        use                             non-critical-services         ; Name of service template to use
        host_name                       SRVLMSSAMAIL01
        service_description             EMAILS IN QUEUE
        check_command                   check_nrpe_qmail_queue
      }
&lt;/pre&gt;
&lt;br /&gt;
3 - Configure o check no NRPE no servidor Qmail:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;vi /usr/local/nagios/etc/nrpe.cfg

command[check_msgs_qmail_queue]=/usr/local/nagios/libexec/check_qmail_queue
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
4 - Reinicie o serviço do Nagios no servidor Nagios e o serviço do NRPE no servidor de e-mail Qmail.</description><link>http://conteudoopensource.blogspot.com/2012/01/plugin-do-nagios-para-verificar-fila-de.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-8163892246415827820</guid><pubDate>Thu, 12 Jan 2012 01:17:00 +0000</pubDate><atom:updated>2012-01-11T17:35:00.821-08:00</atom:updated><title>Script para atualizar periodicamente blacklists selecionadas do squidGuard</title><description>&lt;br /&gt;
O script abaixo irá baixar os arquivos tar.gz de blacklist dos sites&amp;nbsp;squidguard.mesd.k12.or.us e&amp;nbsp;www.shallalist.de, após isso ele irá descompactar os arquivos e copiar as pastas de blacklists, que estejam listados por você nos arquivos&amp;nbsp;bls_mesd.txt e&amp;nbsp;bls_shalla.txt, para o diretório de blacklists do squidGuard, após isso mudará o dono dos diretórios de blacklists do squidGuard para o usuário squid e por ultimo ele irá recompilar as blacklists transformando-as em arquivo de banco de dados para o squidGuard. O conteúdo da pasta utlizada para baixar e descompactar os tar.gz será limpa no final do processo.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;-&amp;gt; PARA AGENDAR A EXECUÇÃO DO SCRIPT UTILIZE O crontab.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;height: auto; overflow: scroll; width: 440px;&quot;&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#!/bin/bash
############################################################### 
# Atualizando blacklists selecionadas para o squidGuard
# Por Leonardo Couto Conrado 
# Em 11/01/2012 
############################################################### 
# README:
# Crie o diretorio da variavel dirWork
# Crie o arquivo de log da variavel logUpBlackLists
# Crie o arquivo /usr/local/upblacklists/bls_mesd.txt ele deverá conter as blacklists desejadas da mesd squidguard.mesd.k12.or.us para serem copiadas para as blacklists do squidGuard
# Crie o arquivo /usr/local/upblacklists/bls_shalla.txt ele deverá conter as blacklists desejadas da shalla www.shallalist.de para serem copiadas para as blacklists do squidGuard

clockNow=$(date +%d.%m.%Y-%H:%M)
dirBlackListSquidGuard=/usr/local/squidGuard/db/blacklists/
dirWork=/usr/local/upblacklists/work/
dirUpBlackLists=/usr/local/upblacklists/
squidGuardCreateDBs=&quot;/usr/local/squidGuard/bin/squidGuard -C all&quot;
 
urlListMesd=http://squidguard.mesd.k12.or.us/blacklists.tgz
urlListShalla=http://www.shallalist.de/Downloads/shallalist.tar.gz
fileTgzMesd=blacklists.tgz
fileTgzShalla=shallalist.tar.gz
fileBlacklistsMesd=blacklists/
fileBlacklistsShalla=BL/
 
logUpBlackLists=/var/log/updatebacklists.log
 
numBlsMesd=$(cat $dirUpBlackLists&quot;bls_mesd.txt&quot; | wc -l)
numBlsShalla=$(cat $dirUpBlackLists&quot;bls_shalla.txt&quot; | wc -l)
 
counter=1
 
# INICIO
 
cd $dirWork
 
wget -c $urlListMesd
wget -c $urlListShalla
 
if [ $? = 0 ]; then
        tar -xzf $dirWork$fileTgzMesd
        tar -xzf $dirWork$fileTgzShalla
 
        cd $dirWork$fileBlacklistsMesd
              echo $clockNow  &quot; - ANDAMENTO COPIA DAS BLS DA MESD: &quot; &amp;gt;&amp;gt; $logUpBlackLists
                while [ $counter -le $numBlsMesd ]; do
                        blMesd=$(cat $dirUpBlackLists&quot;bls_mesd.txt&quot; | awk -v VAR=$counter &#39;NR == VAR {print $0}&#39;)
                        /bin/cp -fv $dirWork$fileBlacklistsMesd$blMesd/domains $dirBlackListSquidGuard$blMesd &amp;gt;&amp;gt; $logUpBlackLists
                        /bin/cp -fv $dirWork$fileBlacklistsMesd$blMesd/urls $dirBlackListSquidGuard$blMesd &amp;gt;&amp;gt; $logUpBlackLists
                        let counter=counter+1
                done
       counter=1
 
        cd $dirWork$fileBlacklistsShalla
                echo $clockNow  &quot; - ANDAMENTO COPIA DAS BLS DA SHALA: &quot; &amp;gt;&amp;gt; $logUpBlackLists
                while [ $counter -le $numBlsShalla ]; do
                        blShalla=$(cat $dirUpBlackLists&quot;bls_shalla.txt&quot; | awk -v VAR=$counter &#39;NR == VAR {print $0}&#39;)
                        /bin/cp -fv $dirWork$fileBlacklistsShalla$blShalla/domains $dirBlackListSquidGuard$blShalla &amp;gt;&amp;gt; $logUpBlackLists
                        /bin/cp -fv $dirWork$fileBlacklistsShalla$blShalla/urls $dirBlackListSquidGuard$blShalla &amp;gt;&amp;gt; $logUpBlackLists
                        let counter=counter+1
                done
      
       echo $clockNow  &quot; - ANDAMENTO DAS PERMISSOES PARA SQUID NAS BLS DO SQUIDGUARD: &quot; &amp;gt;&amp;gt; $logUpBlackLists
        chown squid -R -v $dirBlackListSquidGuard &amp;gt;&amp;gt; $logUpBlackLists
      
       echo $clockNow  &quot; - RECOMPILANDO AS DBS DO SQUIDGUARD: &quot; &amp;gt;&amp;gt; $logUpBlackLists
       echo `$squidGuardCreateDBs` &amp;gt;&amp;gt; $logUpBlackLists
 
       echo $clockNow  &quot; - LIMPANDO DIRETORIO WORKS: &quot; &amp;gt;&amp;gt; $logUpBlackLists
        cd $dirWork &amp;amp;&amp;amp; rm -rf ./
else
   echo $clockNow &#39; - FALHOU DOWNLOAD DE UMA DAS BLS: &#39; &amp;gt;&amp;gt; $logUpBlackLists
 
fi
 
exit 0
 


&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</description><link>http://conteudoopensource.blogspot.com/2012/01/script-para-atualizar-periodicamente.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-8604755399981477241</guid><pubDate>Tue, 10 Jan 2012 12:28:00 +0000</pubDate><atom:updated>2012-01-10T08:10:38.552-08:00</atom:updated><title>Sessão Fix BUG</title><description>&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;BUG&lt;/b&gt;: NFS &lt;i&gt;mount: failed, reason given by server: Permission denied&lt;/i&gt;&lt;br /&gt;
&lt;b&gt;Versão NFS utilizada&lt;/b&gt;: nfs-utils-1.0.9-50.el5 e&amp;nbsp;nfs-utils-lib-1.0.8-7.6.el5&lt;br /&gt;
&lt;b&gt;Sistema utilizado&lt;/b&gt;: Red Hat Enterprise Linux Server release 5.3 Beta (Tikanga)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SINTOMA:&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Ao tentar mapear um&amp;nbsp;diretório remoto via NFS&amp;nbsp;no cliente aonde o mesmo possui as devidas permissões para acesso ao diretório no server é apresentada uma mensagem de erro informando:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;mount: failed, reason given by server: Permission denied.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;b&gt;PROBLEMA:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Durante a inicialização do cliente o filesystem &amp;nbsp;que controla o NFSD &amp;nbsp;não é montado.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
&lt;b&gt;SOLUÇÃO:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
É necessário montar&amp;nbsp;manualmente o filesystem especial nfsd.&lt;br /&gt;
&lt;br /&gt;
Adicione no arquivo /etc/fstab:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi /etc/fstab


#########################################

# FIX - BUG 692968 PERMISSION DENIED NFS

#########################################

none &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/proc/fs/nfsd &amp;nbsp; nfsd &amp;nbsp; &amp;nbsp; defaults 0 0


&lt;/pre&gt;
Reler o arquivo /etc/fstab&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# mount -a

&lt;/pre&gt;
Agora tente mapear novamente o diretório remoto.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;REFERÊNCIA:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=264661&quot;&gt;https://bugzilla.redhat.com/show_bug.cgi?id=264661&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://juljas.net/lpt/post/nfs-permission-denied#comment-118&quot;&gt;http://juljas.net/lpt/post/nfs-permission-denied#comment-118&lt;/a&gt;&lt;br /&gt;
&lt;pre class=&quot;bz_comment_text&quot; style=&quot;background-color: white; font-size: small; white-space: pre-wrap; width: 50em;&quot;&gt;&lt;/pre&gt;</description><link>http://conteudoopensource.blogspot.com/2012/01/secao-fix-bug.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-6789613812237470153</guid><pubDate>Sat, 07 Jan 2012 13:48:00 +0000</pubDate><atom:updated>2012-05-11T06:22:41.002-07:00</atom:updated><title>Instalando NRPE no SlackWare</title><description>Utilizado os seguintes pacotes do NRPE e Nagios Plugins para serem instalados no Slackware 13.37.0 Kernel&amp;nbsp;2.6.37.6-smp:&lt;br /&gt;
&lt;br /&gt;
nagios-plugins-1.4.15
&lt;a href=&quot;http://www.nagios.org/download/plugins&quot;&gt;http://www.nagios.org/download/plugins&lt;/a&gt;
&lt;br /&gt;
nrpe-2.13
&lt;a href=&quot;http://sourceforge.net/projects/nagios/files/&quot;&gt;http://sourceforge.net/projects/nagios/files/&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos para a instalação:&lt;br /&gt;
&lt;br /&gt;
Descompactando, ajustando, compilando e instalando o nagios plugins:
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# tar -xzf&amp;nbsp;nagios-plugins-1.4.15.tar.gz

# cd nagios-plugins-1.4.15&amp;gt;

# ./configure --prefix=/usr/local/nagios

# make

# make install

&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Adicione manualmente o user e group nagios, caso a instalação não tenha criados:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# adduser nagios

# groupadd nagios

# usermod -G nagios nagios
&lt;/pre&gt;
&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Descompactando, ajustando, compilando e instalando o NRPE:
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# tar -xzf&amp;nbsp;nrpe-2.13.tar.gz

# cd nrpe-2.13/

# ./configure

# make all

# make install

&lt;/pre&gt;
&lt;br /&gt;
Permissão de proprietário e grupo proprietário nagios no diretório abaixo:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#chown nagios.nagios /usr/local/nagios&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Finalizando a instalação do pacote NRPE:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# make install-plugin

# make install-daemon

# make install-daemon-config



&lt;/pre&gt;
Permissão de proprietário e grupo proprietário nagios no diretório abaixo:
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# chown -R nagios.nagios /usr/local/nagios/libexec

&lt;/pre&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi /etc/services

nrpe 5666/tcp # NRPE

&lt;/pre&gt;
&lt;br /&gt;
Adicionando o daemon NRPE para ser controlado pelo inetd (tcp wrapper) do Linux:
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi /etc/inetd.conf

nrpe &amp;nbsp; &amp;nbsp;stream &amp;nbsp;tcp &amp;nbsp; &amp;nbsp; nowait &amp;nbsp;nagios /usr/sbin/tcpd /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -i

&lt;/pre&gt;
&lt;br /&gt;
Editar /usr/local/nagios/etc/nrpe.cfg e dar as permissões de quem pode se conectar a esse host:&lt;br /&gt;
EXEMPLO:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi&amp;nbsp;/usr/local/nagios/etc/nrpe.cfg

allowed_hosts=127.0.0.1,192.168.9.144,192.168.1.69

&lt;/pre&gt;
&lt;br /&gt;
Especificar também os serviços serão checados na máquina local:&lt;br /&gt;
EXEMPLO:
&lt;br /&gt;
&lt;div style=&quot;height: auto; overflow: scroll; width: 440px;&quot;&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi&amp;nbsp;/usr/local/nagios/etc/nrpe.cfg




command[check_proc_qmail_supervise_pop3d]=/usr/local/nagios/libexec/check_procs -w 1:1 -c 1:1 -a &quot;supervise qmail-pop3d&quot;

command[check_proc_qmail_supervise_smtpd]=/usr/local/nagios/libexec/check_procs -w 1:1 -c 1:1 -a &quot;supervise qmail-smtpd&quot;

command[check_proc_qmail_supervise_imapd]=/usr/local/nagios/libexec/check_procs -w 1:1 -c 1:1 -a &quot;supervise qmail-imapd&quot;

command[check_proc_qmail_supervise_qmqpd]=/usr/local/nagios/libexec/check_procs -w 1:1 -c 1:1 -a &quot;supervise qmail-qmqpd&quot;

command[check_proc_qmail_supervise_send]=/usr/local/nagios/libexec/check_procs -w 1:1 -c 1:1 -a &quot;supervise qmail-send&quot;

&lt;div&gt;
&lt;/div&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
A maioria dos checks feitos na máquina local exigem privilégios de root, como o daemon NRPE é inicializado com o usuário nagios muitos checks terão saídas negadas pelo SO então utilizar o sudo como &amp;nbsp;solução de contorno liberando o usuários nagios a executar comandos especificados como root. Para isso:&lt;br /&gt;
&lt;br /&gt;
1 - Editar /usr/local/nagios/etc/nrpe.cfg e tirar o comentário da seguinte linha no arquivo, habilitando o uso do sudo pelo NRPE:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi /usr/local/nagios/etc/nrpe.cfg

command_prefix=/usr/bin/sudo



&lt;/pre&gt;
2 - Editar /etc/sudores e colocar os comandos que serão executados pelo usuário nagios como se fossem o root executando-os :&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi&amp;nbsp;&amp;nbsp;/etc/sudores

# Nagios

nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_qmail_queue

nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_procs

nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_users

nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_load

nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_disk

nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_swap

nagios ALL=(ALL) NOPASSWD: /usr/local/nagios/libexec/check_mem.pl



&lt;/pre&gt;
Reiniciei o NRPE, para isso execute um restart no daemon inetd que controla o daemon do NRPE:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# /etc/rc.d/rc.inetd restart&lt;/pre&gt;
&lt;br /&gt;
NO SERVDIDOR DO NAGIOS TESTE A COMUNICAÇÂO COM O HOST REMOTO:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.65.100&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
PARA HABILITAR E&amp;nbsp;VISUALIZAR&amp;nbsp;O&amp;nbsp;DEBUG DO NRPE&amp;nbsp;&amp;nbsp;UTILIZE O HOW TO ABAIXO:&lt;br /&gt;
&lt;br /&gt;
Editar /usr/local/nagios/etc/nrpe.cfg&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi&amp;nbsp;&amp;nbsp;/usr/local/nagios/etc/nrpe.cfg

debug=1

&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Editar /etc/syslog.conf&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi&amp;nbsp;/etc/syslog.conf

####################

# LOG PARA O NRPE

####################

daemon.debug &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/var/log/nrpe



&lt;/pre&gt;
Reiniciei o NRPE:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# /etc/rc.d/rc.inetd restart&lt;/pre&gt;
&lt;br /&gt;
Reload do syslog:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# killall -HUP syslogd&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;</description><link>http://conteudoopensource.blogspot.com/2012/01/instalando-nrpe-no-slackware.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-5464469403699831931</guid><pubDate>Tue, 11 Oct 2011 15:04:00 +0000</pubDate><atom:updated>2011-10-11T10:23:24.890-07:00</atom:updated><title>Bela homenagem a Jobs e a importância e consistência do O.S *BSD</title><description>&lt;img alt=&quot;20&quot; height=&quot;88&quot; src=&quot;http://www.freebsdbrasil.com.br/imagens/areas/titulo_20.png&quot; width=&quot;555&quot; /&gt;                                      &lt;br /&gt;
&lt;div id=&quot;tit_conteudo&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Steve Jobs&lt;/span&gt;&lt;/div&gt;&lt;div id=&quot;cont_conteudo&quot;&gt;&lt;div id=&quot;lipsum&quot;&gt;&lt;blockquote&gt;&lt;div align=&quot;right&quot;&gt;&lt;i&gt;&quot;Nosso marketshare é maior que o da BMW ou da Mercedes ou ainda da   Porsche no mercado automobilístico. O que há de errado em ser a BMW ou a  Mercedes?&quot;&lt;/i&gt; -- Steve Jobs   &lt;/div&gt;&lt;/blockquote&gt;&lt;span class=&quot;tit_area2&quot;&gt;Obrigado, Steve, obrigado.&lt;/span&gt;&lt;span class=&quot;tit_area2&quot;&gt;&lt;/span&gt; &lt;span class=&quot;tit_area2&quot;&gt;&lt;/span&gt; &lt;br /&gt;
&lt;a href=&quot;http://www.freebsdbrasil.com.br/fbsdbr_files/Image/corporate/equipe/IMG_0948.jpeg&quot; target=&quot;_blank&quot;&gt;&lt;img align=&quot;middle&quot; alt=&quot;Obrigado, Steve Jobs, obrigado.&quot; border=&quot;0&quot; height=&quot;366&quot; src=&quot;http://www.freebsdbrasil.com.br/fbsdbr_files/Image/corporate/equipe/image.jpg&quot; title=&quot;Obrigado, Steve Jobs, obrigado.&quot; width=&quot;490&quot; /&gt;&lt;/a&gt;  &lt;br /&gt;
&amp;nbsp;&lt;span class=&quot;tit_area2&quot;&gt;A tecnologia de Steve, FreeBSD &amp;amp; 4.2 BSD&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;tit_area2&quot;&gt;&lt;/span&gt; &lt;br /&gt;
&lt;blockquote&gt;Este homem colocou um sistema baseado em FreeBSD no coração de seu tablet, e revolucionou a indústria da tecnologia móvel. &lt;span class=&quot;txt_light&quot;&gt;(iPad, iOS = Darwin Embedded = Mach + FreeBSD)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Antes disso, ele revolucionou a indústria da telefonia celular, com um sistema baseado em FreeBSD no coração de seu telefone. &lt;span class=&quot;txt_light&quot;&gt;(iPad, iOS = Darwin Embedded = Mach + FreeBSD)&lt;/span&gt;  &lt;br /&gt;
Antes, criou um novo conceito de televisão on-line, que vem  revolucionando este segmento de mercado em regiões do mundo com acesso  persistente a banda larga. Em seu coração, um sistema baseado em  FreeBSD. &lt;span class=&quot;txt_light&quot;&gt;(iTV/Apple TV, iOS = Darwin Embedded = Mach + FreeBSD + TinyBSD)&lt;/span&gt;  &lt;br /&gt;
Bem antes, revolucionou a indústria da música, a forma de se consumir e  comercializar música, e no coração de seu tocador de música e loja,  colocou um sistema baseado em FreeBSD. &lt;span class=&quot;txt_light&quot;&gt;(iPod, iOS = Darwin Embedded = Mach + FreeBSD)&lt;/span&gt;  &lt;br /&gt;
Antes disso, criou a série de computadores pessoais mais desejado do  mundo, e em seu coração, colocou um sistema baseado em FreeBSD. &lt;span class=&quot;txt_light&quot;&gt;(Mac Book Pro, iMacs, Mac OS X = Darwin + Aqua + Quartz + Mach + FreeBSD)&lt;/span&gt;  &lt;br /&gt;
Ainda antes, revolucionou a indústria do cinema de animações gráficas, e  no coração dessa tecnologia colocou um sistema derivado do Mach 2.5 e  do 4.2-BSD. &lt;span class=&quot;txt_light&quot;&gt;(NEXTSTEP = Mach 2.5 + 4.2-BSD + 4.4BSD)&lt;/span&gt;  &lt;br /&gt;
Antes disso, teve seu primeiro contato com 4BSD ao criar uma plataforma  computacional superior à que ele mesmo havia criado no passado. &lt;span class=&quot;txt_light&quot;&gt;(NEXTSTEP = Mach 2.5 + 4.2-BSD + 4.4BSD)&lt;/span&gt;&lt;span class=&quot;txt_light&quot;&gt;&lt;/span&gt;  &lt;/blockquote&gt;Este homem mudou consideravelmente a forma como o mundo cria e consome  música, cinema, comunicação, cultura, livros. Criou a tecnologia e os  produtos mais desejados no mercado contemporâneo. Criou a maior empresa  de capital aberto do mundo. &lt;br /&gt;
E no coração disso tudo... vocês já sabem. &lt;br /&gt;
Por isso, nós, das equipes FreeBSD Brasil LTDA &amp;amp; IDS Tecnologia  prestamos nossa pequena e sincera homenagem, em reconhecimento a vida e  os feitos deste homem. Obrigado, Steve.  &lt;br /&gt;
&lt;div class=&quot;tit_area2&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;E mais uma coisa... &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;Foi num NeXT Cube, rodando NEXTSTEP, sistema criado a partir de um  kernel híbrido do Mach 2.5 e 4.2-BSD + 4.4BSD (incluindo, claro, TCP/IP  do 4-BSD) que Tim Berners-Lee criou o primeiro navegador web  (WorldWideWeb era o nome), primeiro servidor web (CERN httpd) e criou a  web (WWW e o W3C) como conhecemos hoje. Até onde Steve não estava  presente, sua obra (e o BSD, claro) fizeram e fazem toda a diferença. &lt;br /&gt;
Mac OS X 10.6 (Snow Leopard) é o primeiro sistema a ter instruções de  kernel massivamente processada por GPU em complemento a CPU. O OpenCL e  processamento GPU, além do Grand Central Dispatch voltam como  contribuição da Apple ao FreeBSD em 2011, no FreeBSD 9 (sistema base),  quase 4 anos depois de incorporado no Mac. Tardio? Pense da seguinte  forma: FreeBSD é o segundo SO a se apoiar em processamento GPU, quase 4  anos depois. O restante do mercado continua correndo atrás,  engatinhando. Em mais 2, 3 anos talvez absorvam mais essa influência da  tecnologia de Steve.  &lt;br /&gt;
Steve se foi, mas seu legado continua. E temos orgulho de enxergar que continua fundado em BSD. &lt;br /&gt;
Passado, presente, e por muitos anos ainda, o futuro. Obrigado Steve, por subir o nível.&lt;br /&gt;
&lt;br /&gt;
Fonte: &lt;a href=&quot;http://www.freebsdbrasil.com.br/home.php?area=20&amp;amp;conteudo=53&quot;&gt;http://www.freebsdbrasil.com.br/home.php?area=20&amp;amp;conteudo=53 &lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://conteudoopensource.blogspot.com/2011/10/bela-homenagem-jobs-e-importancia-e.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-3923465262922598054</guid><pubDate>Tue, 28 Jun 2011 23:02:00 +0000</pubDate><atom:updated>2011-06-28T16:11:28.992-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">diversos</category><title>Google Social Networking</title><description>&lt;span style=&quot;font-size: small;&quot;&gt;Google já iniciou o desenvolvimento do aplicativo de rede social que irá competir com o Facebook; Ele se chama: Google+. Muito desafiador... Tarefa árdua essa eim? Será possivel colocar um aplicativo para disputar com o maior serviço de rede social do mundo, o Facebook? De qualquer forma estou curioso para conhecer o Google+.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://ssl.gstatic.com/s2/oz/intl/pt-BR/images/google+109x34-fa9a11c753b2c23cc507d15d7c2089ab.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://ssl.gstatic.com/s2/oz/intl/pt-BR/images/google+109x34-fa9a11c753b2c23cc507d15d7c2089ab.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;a href=&quot;https://plus.google.com/up/start/?sw=1&amp;amp;type=st&quot;&gt;The Google+ project: real life sharing, rethought for the web.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: small;&quot;&gt;plus.google.com&lt;/span&gt;&lt;/b&gt;</description><link>http://conteudoopensource.blogspot.com/2011/06/google-ja-iniciou-o-desenvolvimento-do.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-6584931927773762016</guid><pubDate>Fri, 10 Jun 2011 16:54:00 +0000</pubDate><atom:updated>2011-06-28T10:41:38.558-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">scripts_administrativos</category><title>Trocar UID proprietário de arquivos e pastas em determinados diretórios por um outro UID para ser o novo proprietário desses arquivos encontrados</title><description>Pessoal o script abaixo foi feito para alterar o dono de arquivos e pastas em determinados diretórios, o mesmo sairá recursivamente trocando o UID dos arquivos e pastas encontrados, a partir do UID antigo, por um outro UID, definido por você, para que esse seja o novo dono do arquivos e pastas no diretório.&lt;br /&gt;
&lt;br /&gt;
OBS.: UID é uma identificação exclusiva de qualquer usuário no linux, para verificar o id de algum usuário digite:&lt;br /&gt;
&lt;br /&gt;
# id nomeDoUsuário&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;root@feigt:/# id leonardoconrado
uid=1018(leonardoconrado) gid=100(users) groups=100(users)
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Exemplo 01: Mudará o dono de todos arquivos e pastas do diretório / que tenham como UID 502 e irá &quot;setar&quot; ou configurar um novo UID dono desses arquivos que será UID 512 e irá também gerar um arquivo de log em /root/debug.txt, para que possamos ver se aconteceu alguma falha na tentativa de troca desses UIDs nos arquivos encontrados, ele também contará quantos arquivos foram encontrados com o velho UID, abaixo script:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#!/bin/bash

# Mudar UID proprietário de arquivos e pastas
# para um novo UID ser o proprietário em determinados
# diretórios
# Por Leonardo Couto Conrado
# Em 06.10.2011 

counter=0

# Encontre em / os arquivos que tenha UID igual à 502
for i in $( find / -uid 502 2&amp;gt;&amp;gt; /dev/null ); do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo $i

# Mude o dono desses arquivos para UID 512
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chown -v 512 $i &amp;gt;&amp;gt; /root/debug.txt

# Conte cada arquivo encontrado
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter=`echo &quot;$counter+1&quot;|bc`
done
echo $counter
&lt;/pre&gt;&lt;br /&gt;
Exemplo 02: Mudará o dono de todos arquivos e pastas do diretório /oracle que tenham como UID 501 e irá &quot;setar&quot; ou configurar um novo UID dono desses arquivos que será UID 511 e irá também gerar um arquivo de log em /root/debug.txt, para que possamos ver se aconteceu alguma falha na tentativa de troca desses UIDs nos arquivos encontrados, ele também contará quantos arquivos foram encontrados com o velho UID, abaixo script:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#!/bin/bash

# Mudar UID proprietário de arquivos e pastas
# para um novo UID ser o proprietário em determinados
# diretórios
# Por Leonardo Couto Conrado
# Em 06.10.2011 

counter=0

# Encontre em / os arquivos que tenha UID igual à 501
for i in $( find /oracle -uid 501 2&amp;gt;&amp;gt; /dev/null ); do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo $i

# Mude o dono desses arquivos para UID 511
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chown -v 511 $i &amp;gt;&amp;gt; /root/debug.txt

# Conte cada arquivo encontrado
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter=`echo &quot;$counter+1&quot;|bc`
done
echo $counter
&lt;/pre&gt;</description><link>http://conteudoopensource.blogspot.com/2011/06/trocar-uid-proprietario-de-arquivos-e.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-6556476595275014470</guid><pubDate>Wed, 04 May 2011 14:19:00 +0000</pubDate><atom:updated>2011-05-04T11:51:08.664-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">diversos</category><title>Já se foram os últimos blocos do velho e bom IPv4, que até hoje nos foi muito útil...</title><description>O competente ancião, protocolo IPv4, atualmente responsável por carregar todas as nossas informações na rede mundial, a internet, está se aposentando e delegando a tarefa para o jovem e aprimorado protocolo IPv6...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNk-RIXvZCUS6lAs8BsV_4Iyvzb93G9Ogo0uO1BzXJWOVJITljL49OAJ0hkIQi0FP9lglgEDq2Exppx0m074R7fUPgtrUhTwcpASnkBFiAV9cwwtZQd-cBaZoBXhuBo9NfZ1QN3NcCLFg/s1600/ipv6-ipv4.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNk-RIXvZCUS6lAs8BsV_4Iyvzb93G9Ogo0uO1BzXJWOVJITljL49OAJ0hkIQi0FP9lglgEDq2Exppx0m074R7fUPgtrUhTwcpASnkBFiAV9cwwtZQd-cBaZoBXhuBo9NfZ1QN3NcCLFg/s1600/ipv6-ipv4.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Saiba mais: &lt;a href=&quot;http://www.tiespecialistas.com.br/2011/02/o-fim-do-ipv4/&quot;&gt;&lt;b&gt;O fim do IPv4&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;</description><link>http://conteudoopensource.blogspot.com/2011/05/ja-se-foram-os-ultimos-blocos-do-velho.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNk-RIXvZCUS6lAs8BsV_4Iyvzb93G9Ogo0uO1BzXJWOVJITljL49OAJ0hkIQi0FP9lglgEDq2Exppx0m074R7fUPgtrUhTwcpASnkBFiAV9cwwtZQd-cBaZoBXhuBo9NfZ1QN3NcCLFg/s72-c/ipv6-ipv4.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-2864761044089142506</guid><pubDate>Fri, 11 Mar 2011 11:37:00 +0000</pubDate><atom:updated>2011-03-11T03:41:48.695-08:00</atom:updated><title>Linux Magazine Community Edition 76 baixe já a sua</title><description>Já está no ar a Linux Magazine 76 Community Edition.&lt;br /&gt;
&lt;br /&gt;
Confira nesta edição os principais assuntos da Linux Magazine de março (Monitoramento e segurança) e leia artigos completos sobre ferramentas de backup para auxiliar na prevenção de falhas e perdas de dados e proteção de servidores web Apache com o módulo mod_security.&lt;br /&gt;
&lt;br /&gt;
A Linux Magazine Community Edition surgiu em agosto de 2009. Trata-se de um arquivo em PDF com 30 páginas do conteúdo original da Linux Magazine do mês, disponível para download uma semana antes do lançamento da revista nas bancas – exclusivo para assinantes e cadastrados na newsletter.&lt;br /&gt;
&lt;br /&gt;
O sumário da Community Edition contém a relação de todas as matérias da revista. Algumas são de livre acesso e outras são artigos que podem ser adquiridos pelo site. O material de livre acesso representa 30% do conteúdo da edição do mês, uma prática já adotada pela Linux Magazine. Pode-se navegar pelo documento, acessando o material gratuito ou adquirindo o material exclusivo em nosso site. Basta clicar para ser levado à página do artigo correspondente. Tudo isso antes mesmo de a revista chegar às bancas ou ser publicada no site.&lt;br /&gt;
&lt;br /&gt;
A melhor parte é que você pode baixar o arquivo e enviar para quem você quiser. Por meio da licença Creative Commons, a Community Edition pode ser livremente copiada e distribuída. Assim, baixe, copie, envie para os seus amigos e faça parte de uma comunidade que não para de crescer. Participe de forma ativa na divulgação da tecnologia que mais traz benefícios para as pessoas e para o mercado em geral.&lt;br /&gt;
&lt;br /&gt;
Quando a revista chegar às bancas, a Community Edition será disponibilizada gratuitamente para download para qualquer visitante do site. Mas você, assinante da newsletter, tem a exclusividade de acesso em primeira mão.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/LM76_capaCE.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&amp;nbsp;&lt;img border=&quot;0&quot; height=&quot;240px&quot; src=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/LM76_capaCE.png&quot; width=&quot;185px&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.linuxmagazine.com.br/images/uploads/pdf_aberto/LM76_CE.pdf&quot;&gt;Baixe já a sua!&lt;/a&gt;&lt;/div&gt;</description><link>http://conteudoopensource.blogspot.com/2011/03/linux-magazine-community-edition-76.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-8448686417589647641</guid><pubDate>Thu, 24 Feb 2011 11:56:00 +0000</pubDate><atom:updated>2011-02-24T09:50:17.662-08:00</atom:updated><title>Editando arquivo CGI(status.cgi ) do Nagios realizando custom</title><description>Pessoal recentemente surgiu a necessidade de editar um CGI do Nagios, especificamente o arquivo status.cgi, a carência era adicionar mais uma coluna na tabela da página Problems &gt;&gt; Services(http://servidorNagios/nagios/cgi-bin/status.cgi?host=all&amp;servicestatustypes=28) tal coluna deveria conter a descrição/alias dos hosts. A intenção é para torna compreensivel, para o pessoal não técnico, o host que está apresentando problemas já que teremos uma clouna que informa a descrição do host e não somente a sua abreviatura(Hostname). Pois bem, o bom é que vivemos no mundo open source e sabendo-se disso temos acesso aos fontes dos programas, utilizando-se dessa flexibilidade podemos deixar o programa do nosso jeito, que beleza eim?! Nota 1000 para o GNU e viva ao Linux!! Pois bem, vamos meter a mão na massa: &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;OBS.: &lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
- Utilizado para esse artigo o CentOS 5.5 e o Nagios Core 3.2.3; &lt;br /&gt;
- Você deve compilar o código status.c na máquina que realmente roda o Nagios, tentei editar e compilar o status.c em outra máquina com o mesmo S.O e a mesma versão do Nagios e depois copiei o status.cgi já compilado para outra máquina de produção, porém, não rolou dava erro então compile o nagios na máquina que realmente utilizará os CGI; &lt;br /&gt;
&lt;br /&gt;
1 - Primeiramente vá ao site da Nagios e baixe o source do mesmo; &lt;br /&gt;
&lt;br /&gt;
2 - Descompacte-o; &lt;br /&gt;
&lt;br /&gt;
3 - Vá a pasta /nagios-3.2.3/cgi e edite o status.c; &lt;br /&gt;
&lt;br /&gt;
4 - Foi necessário adicionar somente duas linhas no arquivo, abaixo segue trechos do arquivo numerado e com comentários sobre as linhas adicionadas: &lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi /nagios-3.2.3/cgi/status.c
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Primeira parte:&lt;/b&gt;&lt;br /&gt;
&lt;div style=&quot;height: auto; width: 440px; overflow: scroll;&quot;&gt;&lt;pre class=&quot;brush: bash&quot;&gt;&lt;!--
1372         /* the main list of services */
1373         printf(&quot;&lt;table BORDER=0 width=100%% CLASS=&#39;status&#39;&gt;\n&quot;); 
1374         printf(&quot;
&lt;tr&gt;\n&quot;); 
1375 
1376         printf(&quot;&lt;th CLASS=&#39;status&#39;&gt;Host&amp;nbsp;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortoption=%d&#39;&gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 ALT=&#39;Sor        t by host name (ascending)&#39; TITLE=&#39;Sort by host name (ascending)&#39;&gt;&lt;/A&gt;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortoption=%d&#39;&gt;&lt;img SRC        =&#39;%s%s&#39; BORDER=0 ALT=&#39;Sort by host name (descending)&#39; TITLE=&#39;Sort by host name (descending)&#39;&gt;&lt;/A&gt;&lt;/TH&gt;&quot;,temp_url,SORT        _ASCENDING,SORT_HOSTNAME,url_images_path,UP_ARROW_ICON,temp_url,SORT_DESCENDING,SORT_HOSTNAME,url_images_path,DOWN_AR        ROW_ICON); 
1377 
1378 
1379 
1380 
1381         printf(&quot;&lt;th CLASS=&#39;status&#39;&gt;Service&amp;nbsp;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortoption=%d&#39;&gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 ALT=&#39;        Sort by service name (ascending)&#39; TITLE=&#39;Sort by service name (ascending)&#39;&gt;&lt;/A&gt;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortoption=%d&#39;        &gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 ALT=&#39;Sort by service name (descending)&#39; TITLE=&#39;Sort by service name (descending)&#39;&gt;&lt;/A&gt;&lt;/TH&gt;        &quot;,temp_url,SORT_ASCENDING,SORT_SERVICENAME,url_images_path,UP_ARROW_ICON,temp_url,SORT_DESCENDING,SORT_SERVICENAME,ur        l_images_path,DOWN_ARROW_ICON); 
1382 
1383         printf(&quot;&lt;th CLASS=&#39;status&#39;&gt;Status&amp;nbsp;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortoption=%d&#39;&gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 ALT=&#39;S        ort by service status (ascending)&#39; TITLE=&#39;Sort by service status (ascending)&#39;&gt;&lt;/A&gt;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortoption=        %d&#39;&gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 ALT=&#39;Sort by service status (descending)&#39; TITLE=&#39;Sort by service status (descending)&#39;&gt;&lt;/        A&gt;&lt;/TH&gt;&quot;,temp_url,SORT_ASCENDING,SORT_SERVICESTATUS,url_images_path,UP_ARROW_ICON,temp_url,SORT_DESCENDING,SORT_SERVI        CESTATUS,url_images_path,DOWN_ARROW_ICON); 
1384 
1385         printf(&quot;&lt;th CLASS=&#39;status&#39;&gt;Last Check&amp;nbsp;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortoption=%d&#39;&gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 AL        T=&#39;Sort by last check time (ascending)&#39; TITLE=&#39;Sort by last check time (ascending)&#39;&gt;&lt;/A&gt;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sorto        ption=%d&#39;&gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 ALT=&#39;Sort by last check time (descending)&#39; TITLE=&#39;Sort by last check time (descend        ing)&#39;&gt;&lt;/A&gt;&lt;/TH&gt;&quot;,temp_url,SORT_ASCENDING,SORT_LASTCHECKTIME,url_images_path,UP_ARROW_ICON,temp_url,SORT_DESCENDING,SO        RT_LASTCHECKTIME,url_images_path,DOWN_ARROW_ICON); 
1386 
1387         printf(&quot;&lt;th CLASS=&#39;status&#39;&gt;Duration&amp;nbsp;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortoption=%d&#39;&gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 ALT=        &#39;Sort by state duration (ascending)&#39; TITLE=&#39;Sort by state duration (ascending)&#39;&gt;&lt;/A&gt;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortoptio        n=%d&#39;&gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 ALT=&#39;Sort by state duration time (descending)&#39; TITLE=&#39;Sort by state duration time (des        cending)&#39;&gt;&lt;/A&gt;&lt;/TH&gt;&quot;,temp_url,SORT_ASCENDING,SORT_STATEDURATION,url_images_path,UP_ARROW_ICON,temp_url,SORT_DESCENDIN        G,SORT_STATEDURATION,url_images_path,DOWN_ARROW_ICON); 
1388 
1389         printf(&quot;&lt;th CLASS=&#39;status&#39;&gt;Attempt&amp;nbsp;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortoption=%d&#39;&gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 ALT=&#39;        Sort by current attempt (ascending)&#39; TITLE=&#39;Sort by current attempt (ascending)&#39;&gt;&lt;/A&gt;&lt;a HREF=&#39;%s&amp;sorttype=%d&amp;sortopti        on=%d&#39;&gt;&lt;img SRC=&#39;%s%s&#39; BORDER=0 ALT=&#39;Sort by current attempt (descending)&#39; TITLE=&#39;Sort by current attempt (descending        )&#39;&gt;&lt;/A&gt;&lt;/TH&gt;&quot;,temp_url,SORT_ASCENDING,SORT_CURRENTATTEMPT,url_images_path,UP_ARROW_ICON,temp_url,SORT_DESCENDING,SORT        _CURRENTATTEMPT,url_images_path,DOWN_ARROW_ICON); 
1390 
1391         printf(&quot;&lt;th CLASS=&#39;status&#39;&gt;Status Information&lt;/TH&gt;\n&quot;); 
1392 //############################################################### 
1393 //# Add colunm Alias/Description inside tables of the status.cgi 
1394 //# By Leonardo Couto Conrado 
1395 //# On February 24, 2011 
1396 //############################################################### 
1397 //#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
1398         printf(&quot;&lt;th CLASS=&#39;status&#39;&gt;DESCRIPTION&lt;/TH&gt;\n&quot;); 
1399 //#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
1400         printf(&quot;&lt;/TR&gt;
\n&quot;); 
--&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;b&gt;Segunda parte:&lt;/b&gt; &lt;br /&gt;
&lt;div style=&quot;height: auto; width: 540px; overflow: scroll;&quot;&gt;&lt;pre class=&quot;brush: bash&quot;&gt;&lt;!--
1796                         /* the rest of the columns... */
1797                         printf(&quot;&lt;td CLASS=&#39;status%s&#39;&gt;%s&lt;/TD&gt;\n&quot;,status_class,status);
1798                         printf(&quot;&lt;td CLASS=&#39;status%s&#39; nowrap&gt;%s&lt;/TD&gt;\n&quot;,status_bg_class,date_time);
1799                         printf(&quot;&lt;td CLASS=&#39;status%s&#39; nowrap&gt;%s&lt;/TD&gt;\n&quot;,status_bg_class,state_duration);
1800                         printf(&quot;&lt;td CLASS=&#39;status%s&#39;&gt;%d/%d&lt;/TD&gt;\n&quot;,status_bg_class,temp_status-&gt;current_attempt,temp_        status-&gt;max_attempts);
1801
1802 printf(&quot;&lt;td CLASS=&#39;status%s&#39; valign=&#39;center&#39;&gt;&quot;,status_bg_class); &lt;br /&gt;
1803                         printf(&quot;%s&amp;nbsp;&quot;,(temp_status-&gt;plugin_output==NULL)?&quot;&quot;:html_encode(temp_status-&gt;plugin_outpu        t,TRUE)); &lt;br /&gt;
1804 //############################################################################ &lt;br /&gt;
1805 //# Add data in colunm Alias/Description inside tables of the status.cgi &lt;br /&gt;
1806 //# By Leonardo Couto Conrado &lt;br /&gt;
1807 //# On February 24, 2011 &lt;br /&gt;
1808 //############################################################################ &lt;br /&gt;
1809 //#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
1810                         printf(&quot;&lt;td CLASS=&#39;status%s&#39;&gt;%s&lt;/TD&gt;\n&quot;,status_bg_class,temp_host-&gt;alias);&lt;br /&gt;
1811 //#;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
1812                         /* &lt;br /&gt;
1813                         if(enable_splunk_integration==TRUE) &lt;br /&gt;
1814                                 display_splunk_service_url(temp_service); &lt;br /&gt;
1815                         */ &lt;br /&gt;
1816                         printf(&quot;&lt;/TD&gt;\n&quot;);
1817
1818                         printf(&quot;&lt;/TR&gt;
\n&quot;);
1819
1820                         last_host=temp_status-&gt;host_name;
1821                         }
1822
1823                 }
1824
1825         printf(&quot;&lt;/TABLE&gt;\n&quot;);
--&gt;
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
Após isso será necessário configurar, compilar e instalar o nagios para ele recompilar os .CGIs, para fazer esta tarefa tomei como referência o How to de instalação do Nagios.org, faremos conforme abaixo:&lt;br /&gt;
&lt;br /&gt;
1 - Em /nagios-3.2.3(A pasta que tem os fontes) você executará 3 comandos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;./configure --with-command-group=nagcmd
&lt;/pre&gt;&lt;pre class=&quot;brush: bash&quot;&gt;make all
&lt;/pre&gt;&lt;pre class=&quot;brush: bash&quot;&gt;make install
&lt;/pre&gt;&lt;br /&gt;
Pronto!&lt;br /&gt;
E agora vamos ver se a nossa coluna apareceu no services.cgi do Nagios, acesse o seu nagios através do browser:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw3gAxKMw432-9d_LZtyqXE1akg_AvucN8CZ6VKe5ErVWsfodYYK1atuuXPGcF08jh0igznFEprvIaPK0RzHGKYB5y0mtqBExoXkEH2wF02Nec7vE79B8G2FUlE9CX1aQjaT2KcNG2o6g/s1600/nova_coluna_nagios.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;288&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw3gAxKMw432-9d_LZtyqXE1akg_AvucN8CZ6VKe5ErVWsfodYYK1atuuXPGcF08jh0igznFEprvIaPK0RzHGKYB5y0mtqBExoXkEH2wF02Nec7vE79B8G2FUlE9CX1aQjaT2KcNG2o6g/s400/nova_coluna_nagios.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voilà!! Customizamos o Nagios!! E Viva o mundo open source!</description><link>http://conteudoopensource.blogspot.com/2011/02/editando-arquivos-cgi-do-nagios.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw3gAxKMw432-9d_LZtyqXE1akg_AvucN8CZ6VKe5ErVWsfodYYK1atuuXPGcF08jh0igznFEprvIaPK0RzHGKYB5y0mtqBExoXkEH2wF02Nec7vE79B8G2FUlE9CX1aQjaT2KcNG2o6g/s72-c/nova_coluna_nagios.jpg" height="72" width="72"/><thr:total>7</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-3874399656358477433</guid><pubDate>Thu, 10 Feb 2011 11:29:00 +0000</pubDate><atom:updated>2016-11-18T05:50:46.005-08:00</atom:updated><title>Extendendo partição raiz / (VolGroup00) com LVM</title><description>É normal que o seu sistema Linux com o passar do tempo consuma o filesystem, com aplicativos instalados e logs dos aplicativos que são gerados continuamente e vão logicamente consumido o seu disco, e como consequência disso ficamos sem espaço disponivel na partição root ou /. Existe uma maneira rápida, simples e transparente de incrementarmos mais espaço nessa partição, utilizando para isso a ferramenta LVM, onde podemos realizar esse ajuste de espaço se e somente o seu S.O foi instalado com LVM e foi configurado para a partição / utilizar o esquema de VG(Volume Group) da LVM, que geralmente é o VolGroup00,  então isso significa que você porderá extender a sua partição.&lt;br /&gt;
&lt;br /&gt;
Para descobrir essas informações no seu S.O utilize o seguinte comando:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
25G  5.6G   18G  25% /
/dev/sda1              99M   13M   82M  13% /boot
tmpfs                 502M     0  502M   0% /dev/shm
/dev/mapper/VolGroupOracle-LogVolOracle
108G   29G   74G  28% /oracle
/dev/hdc              3.3G  3.3G     0 100% /mnt/dvd
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Perceba que o filesystem da sua partição / é: &lt;span style=&quot;font-weight: bold;&quot;&gt;/dev/mapper/VolGroup00-LogVol00&lt;/span&gt; onde VolGroup00 é o Grupo de volumes, é ele quem extenderemos primeiramente, pois, o nosso volume lógico LogVol00, que é a partição /, é membro deste grupo. Logo em seguida após extendermos o Grupo lógico VolGroup00 extenderemos nosso Volume lógico LogVol00 que como já foi dito é a nossa partição root.&lt;br /&gt;
&lt;br /&gt;
Então vamos lá:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Resumo da tarefa a ser realizada:&lt;/span&gt; Para poder extender um grupo lógico você deverá arranjar espaço de algum lugar, com LVM geralmente colocamos um novo disco rígido no servidor e após isso mudamos a tabela de partição deste novo disco para o tipo 8e(Linux LVM). Em seguida criamos um Phisical Volume a partir deste disco recém adicionado, PV ou phisical volume é um disco lógico utlizado pelo LVM. Criado o PV, extenderemos o nosso VG(Volume Group) que no nosso caso será o VolGroup00. Logo em seguida após extender o VG iremos extender o LV(Logical Volume) desejado ou em outras palavras a partição / e para finalizar iremos passar para o S.O a informação que extendemos um filesystem dele com o comando resize2fs.&lt;br /&gt;
&lt;br /&gt;
Verifique o nome do dispositivo que foi colocado para seu HD recém adicionado:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#fdsik -l
Disk /dev/sdd: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdd doesn&#39;t contain a valid partition table
&lt;/pre&gt;
&lt;br /&gt;
O dispositivo /dev/sdd está sem tabela de partição criada. Então iremos criar e coloca-la como tipo 8e(Linux LVM):&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#fdisk /dev/sdd
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won&#39;t be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-130, default 130):
Using default value 130

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
&lt;/pre&gt;
&lt;br /&gt;
Partição criada:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#fdisk -l /dev/sdd
Disk /dev/sdd: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1         130     1044193+  8e  Linux LVM
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Iremos agora para a parte do LVM, primeiramente criaremos um Phisical Volume(PV) com a partição que foi criada:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#pvcreate /dev/sdd1
Physical volume &quot;/dev/sdd1&quot; successfully created
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora que já temos o PV iremos extender um Volume Group, que no nosso caso é grupo de volumes que contém a partição raiz / normalmente é chamado de VolGroup00, se não saber qual o nome do grupo der o comando abaixo:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
25G  3.7G   20G  17% /
/dev/sda1              99M   13M   82M  13% /boot
tmpfs                1006M     0 1006M   0% /dev/shm
/dev/mapper/VolGroupOracle-LogVolOracle
206G  188M  196G   1% /oracle
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Identificado o Volume Group que contém a sua partição /, então, iremos extender esse VG passando para ele o dispositivo que contém o espaço livre, ou seja, o disco rigido recém adicionado na máquina:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#vgextend VolGroup00 /dev/sdd1
Volume group &quot;VolGroup00&quot; successfully extended
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Pronto com o grupo já extendido vamos ver quanto de espaço livre este VG possui agora:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#vgdisplay VolGroup00
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 8.69 GB
PE Size 32.00 MB
Total PE 278
Alloc PE / Size 248 / 7.75 GB
Free PE / Size 30 / 960.00 MB
VG UUID Ll4Bg4-jIFV-lfut-z4Ae-JTfH-0Hzp-Zf9RjM
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora sim iremos extender a nossa partição ou volume raiz / utilize o parâmetro Free PE do comando dado acima ele é o indice de espaço livre:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#lvextend -l+30 /dev/VolGroup00/LogVol00
Extending logical volume LogVol00 to 8.19 GB
Logical volume LogVol00 successfully resized
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
Pronto! Agoramos que extendemos o nosso VG do LVM iremos passar esta informação para o S.O, pois, ainda não foi extendido o disco fisico propriamente dito, para extende-lo utilize o comando resize2fs:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;#resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.40.2 (12-Jul-2007)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing
required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 2146304 (4k)
blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 2146304 blocks long.
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
df -T&lt;br /&gt;
Filesystem &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Type &amp;nbsp; &amp;nbsp; 1K-blocks &amp;nbsp; &amp;nbsp; Used Available Use% Mounted on&lt;br /&gt;
/dev/mapper/centos-root xfs &amp;nbsp; &amp;nbsp; &amp;nbsp; 47781076 47095908 &amp;nbsp; &amp;nbsp;685168 &amp;nbsp;99% /&lt;br /&gt;
devtmpfs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;devtmpfs &amp;nbsp; 1927272 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; 1927272 &amp;nbsp; 0% /dev&lt;br /&gt;
tmpfs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpfs &amp;nbsp; &amp;nbsp; &amp;nbsp;1937252 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; 1937252 &amp;nbsp; 0% /dev/shm&lt;br /&gt;
tmpfs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpfs &amp;nbsp; &amp;nbsp; &amp;nbsp;1937252 &amp;nbsp; &amp;nbsp; 8488 &amp;nbsp; 1928764 &amp;nbsp; 1% /run&lt;br /&gt;
tmpfs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpfs &amp;nbsp; &amp;nbsp; &amp;nbsp;1937252 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; 1937252 &amp;nbsp; 0% /sys/fs/cgroup&lt;br /&gt;
/dev/sda1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xfs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 508588 &amp;nbsp; 183388 &amp;nbsp; &amp;nbsp;325200 &amp;nbsp;37% /boot&lt;br /&gt;
10.71.50.71:/var/log &amp;nbsp; &amp;nbsp;nfs &amp;nbsp; &amp;nbsp; &amp;nbsp; 49578752 20107264 &amp;nbsp;26912512 &amp;nbsp;43% /var/log/syslogserver&lt;br /&gt;
tmpfs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmpfs &amp;nbsp; &amp;nbsp; &amp;nbsp; 387452 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp;387452 &amp;nbsp; 0% /run/user/0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ATENÇÃO: Se estiver usando o SO CentOS 7, o sistema de arquivo padrão é xfs e o comando resize2fs dará erro. Use o comando abaixo:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;xfs_growfs /dev/mapper/centos-root&lt;br /&gt;
meta-data=/dev/mapper/centos-root isize=256 &amp;nbsp; &amp;nbsp;agcount=4, agsize=2987776 blks&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sectsz=512 &amp;nbsp; attr=2, projid32bit=1&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crc=0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;finobt=0&lt;br /&gt;
data &amp;nbsp; &amp;nbsp; = &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bsize=4096 &amp;nbsp; blocks=11951104, imaxpct=25&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sunit=0 &amp;nbsp; &amp;nbsp; &amp;nbsp;swidth=0 blks&lt;br /&gt;
naming &amp;nbsp; =version 2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bsize=4096 &amp;nbsp; ascii-ci=0 ftype=0&lt;br /&gt;
log &amp;nbsp; &amp;nbsp; &amp;nbsp;=internal &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bsize=4096 &amp;nbsp; blocks=5835, version=2&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sectsz=512 &amp;nbsp; sunit=0 blks, lazy-count=1&lt;br /&gt;
realtime =none &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; extsz=4096 &amp;nbsp; blocks=0, rtextents=0&lt;br /&gt;
&lt;br /&gt;
data blocks changed from 11951104 to 27689984&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Pronto!!!! Se tudo correu bem você está agora com espaço livre em seu disco e na sua partição raiz /.&lt;br /&gt;
Simples!</description><link>http://conteudoopensource.blogspot.com/2011/02/extendendo-particao-volgroup00-com-lvm.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-2248218534607601022</guid><pubDate>Thu, 10 Feb 2011 11:28:00 +0000</pubDate><atom:updated>2011-02-10T03:28:27.114-08:00</atom:updated><title>Linux Magazine Community Edition 75 baixe já a sua Linux Magazine 75 Community Edition!</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/capa_75_CE.jpg&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 185px; height: 240px;&quot; src=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/capa_75_CE.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;Já está no ar a Linux Magazine 75 Community Edition.&lt;div&gt; &lt;p&gt;Confira nesta edição os principais assuntos da Linux Magazine de  fevereiro (Android) e leia um artigo completíssimo sobre programação  Palm para webOS, poderoso sistema móvel que pretende conquistar posições  no mercado. Leia ainda um completo tutorial sobre SystemTap.&lt;/p&gt; &lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.linuxmagazine.com.br/lm/noticia/linux_magazine_community_edition_73_baixe_ja_a_sua&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.linuxmagazine.com.br/images/uploads/pdf_aberto/LM_CE_75.pdf&quot;&gt;Baixe já a sua!&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;</description><link>http://conteudoopensource.blogspot.com/2011/02/linux-magazine-community-edition-75.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-5943756736663949577</guid><pubDate>Thu, 13 Jan 2011 11:14:00 +0000</pubDate><atom:updated>2011-02-10T03:27:43.382-08:00</atom:updated><title>Linux Magazine Community Edition 73 baixe já a sua Linux Magazine 73 Community Edition!</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/LM73_capinhaCE.png&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 185px; height: 240px;&quot; src=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/LM73_capinhaCE.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/capa_75_CE.jpg&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;Já está no ar a Linux Magazine 73 Community Edition.&lt;div&gt; &lt;p&gt;Confira nesta edição os principais assuntos da Linux Magazine de  fevereiro (Android) e leia um artigo completíssimo sobre programação  Palm para webOS, poderoso sistema móvel que pretende conquistar posições  no mercado. Leia ainda um completo tutorial sobre SystemTap.&lt;/p&gt; &lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.linuxmagazine.com.br/images/uploads/pdf_aberto/LM_CE_75.pdf&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.linuxmagazine.com.br/images/uploads/pdf_aberto/LM_73_CE.pdf&quot;&gt;Baixe já a sua!&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;</description><link>http://conteudoopensource.blogspot.com/2011/01/linux-magazine-community-edition-73.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-2512262581111752061</guid><pubDate>Thu, 13 Jan 2011 11:02:00 +0000</pubDate><atom:updated>2011-01-13T03:14:19.893-08:00</atom:updated><title>Baixe já a sua Linux Magazine Community Edition 74</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/LM_74_capinha_CE.png&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 185px; height: 249px;&quot; src=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/LM_74_capinha_CE.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;PT-BR&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val=&quot;Cambria Math&quot;&gt;    &lt;m:brkbin val=&quot;before&quot;&gt;    &lt;m:brkbinsub val=&quot;&amp;#45;-&quot;&gt;    &lt;m:smallfrac val=&quot;off&quot;&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val=&quot;0&quot;&gt;    &lt;m:rmargin val=&quot;0&quot;&gt;    &lt;m:defjc val=&quot;centerGroup&quot;&gt;    &lt;m:wrapindent val=&quot;1440&quot;&gt;    &lt;m:intlim val=&quot;subSup&quot;&gt;    &lt;m:narylim val=&quot;undOvr&quot;&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate=&quot;false&quot; defunhidewhenused=&quot;true&quot; defsemihidden=&quot;true&quot; defqformat=&quot;false&quot; defpriority=&quot;99&quot; latentstylecount=&quot;267&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;0&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Normal&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;heading 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 7&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 8&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 9&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 7&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 8&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 9&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;35&quot; qformat=&quot;true&quot; name=&quot;caption&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;10&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Title&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;1&quot; name=&quot;Default Paragraph Font&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;11&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Subtitle&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;22&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Strong&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;20&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Emphasis&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;59&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Table Grid&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Placeholder Text&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;1&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;No Spacing&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Revision&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;34&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;List Paragraph&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;29&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Quote&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;30&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Intense Quote&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;19&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Subtle Emphasis&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;21&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Intense Emphasis&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;31&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Subtle Reference&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;32&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Intense Reference&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;33&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Book Title&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;37&quot; name=&quot;Bibliography&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; qformat=&quot;true&quot; name=&quot;TOC Heading&quot;&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:&quot;Tabela normal&quot;;  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:&quot;&quot;;  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;  mso-para-margin:0cm;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:&quot;Times New Roman&quot;;  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:&quot;Times New Roman&quot;;  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;;font-family:&amp;quot;;font-size:10pt;color:black;&quot;   &gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt; &lt;p&gt;Já está no ar a Linux Magazine 74 Community Edition.&lt;/p&gt; &lt;p&gt;Confira nesta edição os principais assuntos da Linux Magazine de  janeiro (Interoperabilidade) e leia a terceira parte do tutorial de  Asterisk, um artigo de programação completo sobre trabalhar com pipes em  shell scrip e um artigo sobre como monitorar os daemons do seu sistema.&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.linuxmagazine.com.br/lm/noticia/linux_magazine_community_edition_74_baixe_ja_a_sua&quot;&gt;Baixe já a sua!&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;</description><link>http://conteudoopensource.blogspot.com/2011/01/baixe-ja-sua-linux-magazine-community.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-38765007560635877</guid><pubDate>Thu, 11 Nov 2010 14:30:00 +0000</pubDate><atom:updated>2011-01-13T04:50:28.338-08:00</atom:updated><title>Baixe já a sua Linux Magazine Community Edition 72</title><description>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/LM72_CE_capinha.png&quot;&gt;&lt;img style=&quot;display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 185px; height: 249px;&quot; src=&quot;http://www.linuxmagazine.com.br/images/uploads/mags/lm/covers/LM72_CE_capinha.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Aí Galera irei começar a disponibilizar aqui no blog link para download da revista Linux Magazine as edições oferecidas para a comunidade Linux quando a mesma for liberada.&lt;br /&gt;&lt;br /&gt;Já está no ar a Linux Magazine 72 Community Edition. Confira nesta edição os principais assuntos da Linux Magazine de novembro (Descomplicamos o VoIP) e leia um artigo completo sobre autenticação de usuários com PAM, e uma análise sobre TeamViewer, ferramenta para controle remoto gráfico.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Abaixo segue link da edição 72 oferecida para a community:&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.linuxmagazine.com.br/lm/noticia/linux_magazine_community_edition_72_baixe_ja_a_sua&quot;&gt;&lt;b&gt;Baixe já a sua! &lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</description><link>http://conteudoopensource.blogspot.com/2010/11/baixe-ja-sua-linux-magazine-community.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-3282506809566869986</guid><pubDate>Wed, 10 Nov 2010 16:52:00 +0000</pubDate><atom:updated>2010-11-10T16:56:10.455-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">scripts_administrativos</category><title>Shell scripting</title><description>&lt;span style=&quot;font-weight:bold;&quot;&gt;Shell script&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Shell script é uma linguagem de script usada em vários sistemas operacionais derivados do UNIX. O shell script é batizado com este nome devido a ele ser um arquivo em texto plano, ou seja, legível para uma pessoa interpretar as sua linhas de comandos que segue a forma de um &lt;span style=&quot;font-weight:bold;&quot;&gt;script&lt;/span&gt;, ou seja, intruções são executadas passo à passo além disso este arquivo é colocado como um tipo de arquivo executável, e o &lt;span style=&quot;font-weight:bold;&quot;&gt;Shell &lt;/span&gt;é o interpretador de comandos dos sistemas Unix-Like. O shell é aquele que aparece logo após digitar-se a senha do usuário e entrar na famosa tela preta que espera ansiosamente por algum comando para ele poder executar. Essa é a sua função: esperar e executar. Cada comando digitado é lido, verificado, interpretado e enviado ao sistema operacional para ser de fato executado. Um exemplo de interpretador de comandos é o bash, usado na grande maioria das distribuições GNU/Linux. O shell é a ligação entre o usuário e o kernel. O kernel é quem acessa os equipamentos(hardware) da máquina, como disco rígido, placa de vídeo e modem.&lt;br /&gt;&lt;br /&gt;A maior parte dos usuários classificam shell script como uma linguagem de fácil aprendizado. O primeiro passo é saber o que se deseja fazer, então, ver qual o código que executa este comando em shell e aí criar, basta escrever o código em algum editor de texto e salvar. Depois de salvo você deve coloca-lo como arquivo executável fazendo desta forma:&lt;br /&gt;&lt;pre class=&quot;brush: bash&quot;&gt;&lt;br /&gt;chmod +x &quot;Nome do arquivo, sem aspas&quot;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Depois de coloca-lo como executável, executamos o arquivo, dessa forma:&lt;br /&gt;&lt;pre class=&quot;brush: bash&quot;&gt;&lt;br /&gt;./&quot;Nome do arquivo, sem aspas&quot;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Para exibir um manual do bash ou mesmo do comando &#39;chmod&#39;, digite na linha de comando &lt;pre class=&quot;brush: bash&quot;&gt;man bash&lt;/pre&gt; ou &lt;pre class=&quot;brush: bash&quot;&gt;man chmod&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;É possível executar o arquivo mesmo sem modificar a permissão de execução, por exemplo, se for um arquivo escrito para ser executado pelo bash, usar:&lt;br /&gt;&lt;br /&gt;&lt;pre class=&quot;brush: bash&quot;&gt;&lt;br /&gt;sh ./&quot;Nome do arquivo, sem aspas&quot;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;FONTE: &lt;a href=&quot;http://pt.wikipedia.org/wiki/Shell_script&quot;&gt;http://pt.wikipedia.org/wiki/Shell_script&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Abaixo temos alguns links para o download de livros sobre shell scripting que serão bastante úteis para aqueles que querem aprender ou aprimorar o seu conhecimento sobre shell script:&lt;br /&gt;&lt;br /&gt;- &lt;a href=&quot;http://tips-linux.net/en/content/pro-bash-programming&quot;&gt;http://tips-linux.net/en/content/pro-bash-programming&lt;/a&gt; &lt;br /&gt;- &lt;a href=&quot;http://tips-linux.net/en/content/expert-shell-scripting&quot;&gt;http://tips-linux.net/en/content/expert-shell-scripting&lt;/a&gt; &lt;br /&gt;- &lt;a href=&quot;http://tips-linux.net/en/content/beginning-linux-command-line&quot;&gt;http://tips-linux.net/en/content/beginning-linux-command-line&lt;/a&gt; &lt;br /&gt;- &lt;a href=&quot;http://tips-linux.net/en/content/bash-pocket-reference&quot;&gt;http://tips-linux.net/en/content/bash-pocket-reference&lt;/a&gt;&lt;br /&gt;- &lt;a href=&quot;http://tips-linux.net/en/content/linux-command-line-and-shell-scripting-bible&quot;&gt;http://tips-linux.net/en/content/linux-command-line-and-shell-scripting-bible&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Agradecimento ao &lt;a href=&quot;http://tips-linux.net&quot;&gt;tips-linux.net&lt;/a&gt; : Compartilhando conhecimento; Neste site você encontrará dicas, e-books, tutoriais, Linux Commands, Softwares, Drivers e muito mais spbre o mundo Linux.</description><link>http://conteudoopensource.blogspot.com/2010/11/shell-script-shell-script-e-uma.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-8100367821147217979</guid><pubDate>Fri, 22 Oct 2010 13:32:00 +0000</pubDate><atom:updated>2010-10-24T07:14:15.035-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">servicos_de_rede</category><title>Switch Dell 6024F - TRAPS e SNMP Query funcionar mutuamente</title><description>Perdi um bom tempo com o switch Dell 6024F, pois, o mesmo não aceitava as configurações de traps e snmp query para trabalharem mutuamente no switch, pesquisei muito na internet e não achei nada e por esse motivo posto aqui para quem estiver passando pela mesma situação. O problema foi que quando eu tentava configurar o switch, a partir da console WEB, para habilitar os serviços de TRAPS e SNMP o equipamento ficava bugado não funcionava de hipotese alguma essas funções mencionadas acima. O problema foi resolvido quando tentei configura-lo a partir da console CLI(Linha de Comando) do equipamento:&lt;br /&gt;Habilite a SNMP Query através da CLI:&lt;br /&gt;&lt;pre class=&quot;brush: bash&quot;&gt;&lt;br /&gt;snmp-server community public ro 172.16.0.203 view default type router&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Onde:&lt;br /&gt;172.16.0.203 - é o computador que tem permissão para executar query na MIB do switch;&lt;br /&gt;&lt;br /&gt;Depois é só habilitar pela console WEB o envio de TRAPS e agora o switch trabalhrá normalmente com ambos os serviços habilitados.</description><link>http://conteudoopensource.blogspot.com/2010/10/switch-dell-6024f.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-4561622545765762270</guid><pubDate>Thu, 21 Oct 2010 20:40:00 +0000</pubDate><atom:updated>2012-01-09T14:10:58.173-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">servicos_de_rede</category><title>IPFW - Balanceamento de tráfego com dois links WAN usando o IPFW - FreeBSD</title><description>&lt;div style=&quot;height: auto; width: 440px; overflow: scroll;&quot;&gt;&lt;br /&gt;&lt;pre class=&quot;brush: bash&quot;&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;###########################################################################&lt;br /&gt;# Delete todas as regras do IPFW, zera toda tabela de regras.&lt;br /&gt;###########################################################################&lt;br /&gt;/sbin/ipfw -f flush                     &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###########################################################################&lt;br /&gt;# Carregar duas instâncias do NATD, uma para cada interface WAN.&lt;br /&gt;###########################################################################&lt;br /&gt;/sbin/natd -u -dynamic -interface re0 -p 8668 &lt;br /&gt;/sbin/natd -u -dynamic -interface re1 -p 8669&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###########################################################################&lt;br /&gt;# Regra number 0001: De acordo com o pacote que estiver passando no momento pelo&lt;br /&gt;# gateway, o IPFW primeiramente checará a tabela de sessão(que é criada&lt;br /&gt;# dinamicamente se você adicionar o parâmetro keep-state na regra que queira &lt;br /&gt;# torna-la dinâmica, veremos abaixo) dessa forma ele verifica se já não existe uma&lt;br /&gt;# regra dinâmica que se aplique ao pacote passante, ou seja, aqui estamos utlizando &lt;br /&gt;# o firewall no modo stateful.&lt;br /&gt;###########################################################################&lt;br /&gt;ipfw add 0001 check-state&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###########################################################################&lt;br /&gt;# Regra number 2000 e 2050: Definem as rotas para as intâncias do NATD &lt;br /&gt;# criadas acima. Ou seja, aqui setamos para que ocorra NAT nos pacotes &lt;br /&gt;# que passarem tanto pela interface re0 quanto pela interface re1.&lt;br /&gt;###########################################################################&lt;br /&gt;ipfw add 2000 divert 8668 ip from any to any in via re0&lt;br /&gt;ipfw add 2050 divert 8669 ip from any to any in via re1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###########################################################################&lt;br /&gt;# Regra number 2100: A palavra-chave desta regra é o cara que tem maior &lt;br /&gt;# responsabilidade sobre todo o balanceamento de tráfego, este cara é o parâmetro&lt;br /&gt;# prob, o seu valor varia de 0 a 1 e diz qual a probabilidade de executar tal regra.&lt;br /&gt;# No caso da regra number 2100, informamos que 50%(0.5) do tráfego utilizando &lt;br /&gt;# qualquer protocolo que seja IP(ip) de origem(from) 192.168.33.0/24 com destino(to) &lt;br /&gt;# a qualquer lugar saindo (out) por alguma interface do gateway será pulada (skipto)&lt;br /&gt;# para ser executada a partir da regra number 2200 em diante e além disso &lt;br /&gt;# colocaremos esta regra na tabela de sessão com o parametro keep-state. Resumindo, &lt;br /&gt;# estaremos colocando 50% do tráfego para ser roteado pelo NAT na interface re0 que &lt;br /&gt;# corresponde a instância de porta 8668.&lt;br /&gt;############################################################################&lt;br /&gt;ipfw add 2100 prob 0.5 skipto 2200 ip from 192.168.33.0/24 to any out keep-state&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;###########################################################################&lt;br /&gt;# Regra number 2150: Como 50% do tráfego será jogado para o NAT da interface re0, os &lt;br /&gt;# outros 50% do tráfego será ignorado pela regra prob, e adivinha aonde o tráfego &lt;br /&gt;# ignorado irá parar? Ele será executado pela regra number 2150, que diz que:&lt;br /&gt;# Qualquer protocolo que seja IP(ip) de origem(from) 192.168.33.0/24 com destino(to) &lt;br /&gt;# a qualquer lugar saindo (out) por alguma interface do gateway será pulada (skipto)&lt;br /&gt;# para ser executada a partir da regra number 2300 em diante e além disso &lt;br /&gt;# colocaremos esta regra na tabela de sessão com o parametro keep-state. Resumindo, &lt;br /&gt;# estaremos colocando esse tráfego que não foi executado pela regra prob será &lt;br /&gt;# roteado pelo NAT na interface re1 que corresponde a instância de porta&lt;br /&gt;# 8669.&lt;br /&gt;###########################################################################&lt;br /&gt;ipfw add 2150 skipto 2300 ip from 192.168.33.0/24 to any out keep-state&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;############################################################################&lt;br /&gt;# Regras utilizadas pelos skipto acima.&lt;br /&gt;############################################################################&lt;br /&gt;ipfw add 2200 divert 8668 ip from 192.168.33.0/24 to any in&lt;br /&gt;ipfw add 2250 divert 8668 ip from 192.168.33.0/24 to any out&lt;br /&gt;ipfw add 2300 divert 8669 ip from 192.168.33.0/24 to any out&lt;br /&gt;ipfw add 2350 divert 8669 ip from 192.168.33.0/24 to any in&lt;br /&gt;&lt;br /&gt;############################################################################&lt;br /&gt;# Aqui eu encaminho(fwd) o tráfego que o gateway estar fazendo(192.168.1.222 e&lt;br /&gt;# 192.168.4.222) para os gateways de rede 192.168.1.1 e 192.168.4.1.&lt;br /&gt;############################################################################&lt;br /&gt;ipfw add 2400 fwd 192.168.1.1 ip from 192.168.1.222 to any&lt;br /&gt;ipfw add 2500 fwd 192.168.4.1 ip from 192.168.4.222 to any&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;############################################################################&lt;br /&gt;# Aqui defina as regras allow e deny de seu firewall. Como este firewall é de&lt;br /&gt;# teste estou permitindo todo tráfego de qualquer canto para qualquer canto&lt;br /&gt;############################################################################&lt;br /&gt;ipfw add 65000 allow ip from any to any&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://conteudoopensource.blogspot.com/2010/10/ipfw-balanceamento-de-carga-com-dois.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7620206746892663415.post-5058267476492771166</guid><pubDate>Mon, 06 Sep 2010 18:09:00 +0000</pubDate><atom:updated>2011-04-15T06:16:07.864-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">servicos_de_rede</category><title>VNC - Configurando o VNC no Linux como módulo do X11 no display 0</title><description>Foi utilizado para este artigo o S.O Red Hat Enterprise Linux ES release 4 (Nahant) e o vnc-server-4.0-8.1.&lt;br /&gt;
&lt;br /&gt;
Se você precisar configurar o VNC para ser carregado na inicialização como módulo do X11 no display 0, ou seja, enxergar e acessar a sessão do usuário local para dar um suporte remotamente ao mesmo, ou seja, da mesma forma que acontece no winVNC da plataforma Windows que enxergamos a tela do usuário e os aplicativos que os estão sendo executados pelo mesmo.&lt;br /&gt;
&lt;br /&gt;
Primordialmente instale o vnc-server no Linux, após isso iremos iniciar a configuração.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;Procedimento para a configuração:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;1 - Editar /etc/X11/xorg.conf:&lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vi /etc/X11/xorg.conf
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;2 - Adicionar na seção &quot;Module&quot; a linha abaixo:&lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;Load  &quot;vnc&quot;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;3- Criar senha do acesso ao VNC&lt;/span&gt; A senha será gerada em um arquivo no home do usuário current(/home/usuario_current/.vnc/passwd) que estar a executar o comando abaixo, este arquivo deve ser apontado no arquivo xorg.conf como será explicado no passo 4:&lt;br /&gt;
Comando para criação do arquivo da senha: &lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# vncpasswd
&lt;/pre&gt;&lt;br /&gt;
Password:&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;4 -Adicionar na seção  &quot;Screen&quot; do aquivo xorg.conf&lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;Section &quot;Screen&quot;
...

Option &quot;SecurityTypes&quot; &quot;VncAuth&quot; #Inserir esta linha no arquivo
Option &quot;UserPasswdVerifier&quot; &quot;VncAuth&quot; #Inserir esta linha no arquivo
Option &quot;PasswordFile&quot; &quot;/root/.vnc/passwd&quot; #Inserir esta linha no arquivo

...
EndSection
&lt;/pre&gt;&lt;br /&gt;
OBS.: Encontre no arquivo a sessão &quot;Module&quot;, se não existir você deve inserir no final do arquivo fora de qualquer outra sessão, insira as seguintes informações:&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;Section &quot;Module&quot;
        Load  &quot;dbe&quot;
        Load  &quot;extmod&quot;
        Load  &quot;fbdevhw&quot;
        Load  &quot;glx&quot;
        Load  &quot;record&quot;
        Load  &quot;freetype&quot;
        Load  &quot;type1&quot;
        Load  &quot;vnc&quot;
        Load  &quot;dri&quot;
EndSection
&lt;/pre&gt;&lt;br /&gt;
Caso não deseje utilizar autenticação, adicionamos a linha abaixo dentro do arquivo xorg.conf ao invés de utilizar as linhas citadas acima: &lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;Section &quot;Screen&quot;
...
Option &quot;SecurityTypes&quot; &quot;None&quot; #Inserir esta linha no arquivo
...
EndSection
&lt;/pre&gt;&lt;br /&gt;
&lt;span style=&quot;font-weight: bold;&quot;&gt;5 - Restart o ambiente x11:&lt;/span&gt;&lt;br /&gt;
Para fazer isto sem a necessidade de restartar todo o servidor, podemos reiniciar somente o serviço x11, conforme abaixo:&lt;br /&gt;
&lt;br /&gt;
Saia do modo gráfico colocando-o em modo CLI(Comand Line Interface, sem ambiente gráfico):&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# init 3
&lt;/pre&gt;&lt;br /&gt;
Agora volte para o modo gráfico(KDE, Gnome etc):&lt;br /&gt;
&lt;pre class=&quot;brush: bash&quot;&gt;# init 5
&lt;/pre&gt;&lt;br /&gt;
Pronto agora é só esperar o modo gráfico carrega assim como o serviço do VNC e depois testar a conexão com o server VNC.</description><link>http://conteudoopensource.blogspot.com/2010/09/vnc-configurando-o-vnc-como-modulo-do.html</link><author>noreply@blogger.com (Leonardo Couto Conrado)</author><thr:total>3</thr:total></item></channel></rss>