getent: Buscando informações em bases administrativas do Linux

Olá pessoal,

Esta dica é bem útil para validações durante programação shellscript.
Trata-se do comando getent. Basicamente sua função é buscar informações em bases de informações administrativas do sistema Linux.
Base esta que pode ser: ahosts, ahostsv4, ahostsv6, aliases, ethers, group, hosts, netgroup, networks, passwd, protocols, rpc, services or shadow.

Neste exemplo vamos utilizar a base “passwd” que é amplamente conhecida por quem usa Linux. O que vamos fazer é perguntar ao sistema se um determinado usuário existe ou não no PASSWD do Linux.

Após executado, todo processo do Linux, e também é o caso do getent, alimenta a variável de “status de retorno” que é a $?
Este status de retorno do getent é a resposta à nossa pergunta, que pode ser:

0      Sucesso; As requisições feitas foram encontradas.
1      Número errado ou argumentos inválidos.
2      Uma ou mais das requisições não puderam ser encontradas.
3      Operação não suportada.

Cabe salientar que a mesma funcionalidade deste comando getent também pode ser conseguida através de comandos como:

[hudson@vostrolab ~]$ grep -w <nome_do_usuário> /etc/passwd

O parâmetro -w busca a palavra exata que você passar como parâmetro (no caso o nome do usuário).
A única diferença é que os retornos são um pouco diferentes, como podemos ver no vídeo a seguir, da utilização deste comando na prática.

Segue vídeo explicando como utilizar o comando getent para validar se um usuário existe cadastrado no sistema:

Por: Hudson Murilo dos Santos
Referências: http://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html

http://bash.cyberciti.biz/guide/Main_Page

Leave a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *