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

<channel>
	<title>/sbin/lsmod - Módulos para seu cérebro &#187; management</title>
	<atom:link href="http://www.lsmod.net/tag/management/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lsmod.net</link>
	<description>Módulos para seu cérebro</description>
	<lastBuildDate>Wed, 28 Jul 2010 03:34:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Como remover apenas um grupo de usuário no Unix</title>
		<link>http://www.lsmod.net/2009/09/como-remover-apenas-um-grupo-de-usuario-no-unix/</link>
		<comments>http://www.lsmod.net/2009/09/como-remover-apenas-um-grupo-de-usuario-no-unix/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 18:30:23 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Posix]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[aix]]></category>
		<category><![CDATA[gestão]]></category>
		<category><![CDATA[hp-ux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[segurança]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[user]]></category>
		<category><![CDATA[usuários]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=258</guid>
		<description><![CDATA[Olá pessoal ! Ontem foi dia de análise de alguns servidores da GM, especialmente os SOX, por estarmos próximos à outra auditoria. Numa empresa grande como a HP, temos centenas de funcionários de suporte ao ambiente &#8211; Pessoas lidando com o sistema operacional, outros com banco de dados, alguns especialistas em ferramentas de monitoração, entre [...]


Leia também:<ol><li><a href='http://www.lsmod.net/2008/10/dicas-para-administracao-de-usuarios-unix/' rel='bookmark' title='Permanent Link: Dicas para administração de usuários &#8211; Unix'>Dicas para administração de usuários &#8211; Unix</a> <small>Aqui vai uma mini coleção de dicas para gerenciamento de...</small></li>
<li><a href='http://www.lsmod.net/2009/11/conditional-expressions-shell-script/' rel='bookmark' title='Permanent Link: Using conditional expressions to improve your shell scripts'>Using conditional expressions to improve your shell scripts</a> <small>You can use these very simple shell script conditional expressions...</small></li>
<li><a href='http://www.lsmod.net/2010/03/a-sysadmins-universal-translator-rosetta-stone/' rel='bookmark' title='Permanent Link: A Sysadmin&#8217;s Universal Translator (Rosetta Stone)'>A Sysadmin&#8217;s Universal Translator (Rosetta Stone)</a> <small>Clicando aqui e ali, encontrei algo que com certeza vai...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal !</p>
<p>Ontem foi dia de análise de alguns servidores da GM, especialmente os SOX, por estarmos próximos à outra auditoria.<br />
Numa empresa grande como a HP, temos centenas de funcionários de suporte ao ambiente &#8211; Pessoas lidando com o sistema operacional, outros com banco de dados, alguns especialistas em ferramentas de monitoração, entre outros.</p>
<p>A menos que sua rede toda esteja rodando NIS ou LDAP (o que raramente acontece), você acaba tendo que criar todos estes ID&#8217;s nos servidores, e ao longo dos anos isso vira bagunça, se não for administrado corretamente.</p>
<p>Nessa revisão de ontem constatamos que possuíamos muita gente com acesso demais nos servidores. Isto é, com regras de sudo excessivas, pelo fato de serem membros de grupos desnecessários.</p>
<p>Tente administrar mais de 3.000 servidores e ir, de um por um, removendo os grupos de algumas dezenas de usuários. Complicado né ?<br />
Foi com isso em vista que fiz um simples shell script, com a função de fazer algo que, na minha opinião, deveria ser um recurso nativo do Unix.<span id="more-258"></span>As regras de sudo, num ambiente bem estruturado, são, em sua maioria, desenhadas para grupos &#8211; e então usuários adicionados aos grupos, dando-os permissões para a execução dos comandos como root.</p>
<p>Imaginemos então que o usuário <strong>torvalds </strong>é membro dos grupos <span style="color: #ff0000;"><strong>admin</strong></span>, <span style="color: #ff0000;"><strong>monitoracao </strong></span>e <span style="color: #ff0000;"><strong>impressoras</strong></span>. E que nosso objetivo é retirá-lo do grupo <span style="color: #ff0000;"><strong>admin</strong></span>, pois este grupo possui permissões para executar <em><strong>sudo su -</strong></em>.</p>
<p>Seria simples, não ?</p>
<pre class="brush: bash;">usermod -g monitoracao -G impressoras torvalds</pre>
<p>Porém agora considere o seguinte: O cara vai estar no grupo <span style="color: #ff0000;"><strong>admin </strong></span>em todos os servidores, porém os grupos secundários dele são desconhecidos.<br />
Além disso, você não pode conectar-se a cada servidor, grepando o <span style="color: #0000ff;">/etc/group</span> pelo ID dele, e montando um script para cada ocasião. Total perda de tempo, certo ?<br />
Ah sim, mais um probleminha: Você vai rodar o script em Solaris, HP-UX, AIX e em alguns poucos servidores Linux. Portanto nada de comandos específicos.</p>
<p>Foi pensando nisso que eu criei um script simples, feio, mal-feito mas que funciona Usando apenas as ferramentas encontradas em todos os sabores de Unix, como sed, while-do, grep, cut, entre outros.<br />
Ele automatiza a coisa, fantástico para uma ocasião como a minha, onde tenho em mãos uma ferramenta web que é capaz de rodar o script em todos os servidores ao mesmo tempo.</p>
<p>Enfim, sem mais delongas &#8211; Segue o script. Torço pro Google indexar isso logo e outros que passaram pelo mesmo problema que eu tenham uma solução mais prática:</p>
<pre class="brush: bash;">
# Entrar num diretório temporário:
mkdir –p /tmp/controlid &amp;amp;&amp;amp; cd /tmp/controlid
# Pegar do /etc/group os grupos atuais do cara e jogar num arquivo temp:
grep torvalds /etc/group | cut -d: -f1 &amp;gt; currgroups
# Botar o output do comando anterior, todos na minha linha, separados por virgula:
while read line; do echo -n &quot;$line,&quot;; done &amp;lt;currgroups &amp;gt;currgroups2
# Tirar a porcaria da virgula que sobrou no final da string:
cat currgroups2 |sed 's/\(.*\)./\1/' &amp;gt; currgroups3
# Remover o grupo admin da lista acima. Troque a palavra admin abaixo pelo grupo que deseja remover.
cat currgroups3 | sed 's#,admin##g' &amp;gt; groups
# Atualizar os grupos do cara !
usermod -G `cat groups` torvalds
</pre>
<p>Sugestões de otimização para o script são sempre bem-vindas.</p>
<p>Um abraço a todos !</p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=258&type=feed" alt="" />

<p>Leia também:<ol><li><a href='http://www.lsmod.net/2008/10/dicas-para-administracao-de-usuarios-unix/' rel='bookmark' title='Permanent Link: Dicas para administração de usuários &#8211; Unix'>Dicas para administração de usuários &#8211; Unix</a> <small>Aqui vai uma mini coleção de dicas para gerenciamento de...</small></li>
<li><a href='http://www.lsmod.net/2009/11/conditional-expressions-shell-script/' rel='bookmark' title='Permanent Link: Using conditional expressions to improve your shell scripts'>Using conditional expressions to improve your shell scripts</a> <small>You can use these very simple shell script conditional expressions...</small></li>
<li><a href='http://www.lsmod.net/2010/03/a-sysadmins-universal-translator-rosetta-stone/' rel='bookmark' title='Permanent Link: A Sysadmin&#8217;s Universal Translator (Rosetta Stone)'>A Sysadmin&#8217;s Universal Translator (Rosetta Stone)</a> <small>Clicando aqui e ali, encontrei algo que com certeza vai...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/2009/09/como-remover-apenas-um-grupo-de-usuario-no-unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
