smbldap-groupCopy copiar grupos de user1 para user2
Publicado por Wesley Henrique Leite (última atualização em 27/03/2012)
[ Hits: 4.400 ]
Sua função é copiar todos os grupos de um usuário para outro, utilizando os recursos do pacote de ferramentas smbldap-tools.
Modo de Usar:
# smbldap-groupCopy wleite jalmeida
Copiará todos os grupos do user wleite para o user jalmeida retirando apenas o grupo "Domain Users" da lista, se segue o padrão verá que este grupo é comum a todos os users criados.
#/bin/bash
#
# autor: Wesley Henrique Leite
# : wesleyhenrique [ - ] gmail [ ' ] com
#
GRUPOCOPI=$(which smbldap-groupmod)
USERLIST=$(which smbldap-userlist)
#
# O SCRIPT NECESSITA DE PELOMENOS 2 PARAMETROS
# ESTE IF CHECA EXATAMENTE ISSO, SE NAO FOR
# IGUAL A 2 IMPRIMIR MODO DE USAR E SAI.
#
if [ $# -ne 2 ]
then
printf "Modo de usar\n $0 <DE> <PARA>\n\n EX::: \n $0 wleite jalmeida \n "
exit
fi
if [ -z "$GRUPOCOPI" ] || [ -z "$USERLIST" ]
then
exit
fi
#
# O SINAL DE "!" SERVER PARA NEGAR UMA CONDICAO, O -z CHECAR SE O RETORNO DO COMANDO
# SERÁ VAZIO, JUNTANDO TUDO, SE NAO FOR VAZIO O RETORNO DO COMANDO 1 E (&&) SE NAO FOR VAZIO
# O RETORNO DO COMANDO 2 , AMBOS OS USUÁRIOS ESTÃO NA BASE
#
if [ ! -z "$( $USERLIST | awk '{print $3}' | grep "^$2$" )" ] && [ ! -z "$( $USERLIST | awk '{print $3}' | grep "^$1$" )" ]
then
# O NOME DOS USUÁRIOS DEVEM SER DIGITADOS EXATAMENTE COMO ESTÃO NA BASE O grep IRÁ CHECAR
# A ENTRADA QUE INICIE E TERMINE COMO OS DADOS DIGITADOS.
#
# O FOR EH BEM SIMPLES, ARMAZENA NA VARIAVEL Grupo A LISTAGEM DE GRUPOS DO USUARIO
# INFORMADO NO PRIMEIRO PARAMETRO "$1", O cut LIMPA A STRING DEIXANDO SOMENTE O
# NOME DOS GRUPOS O grep ELIMINA O GRUPO "Domain Users", POIS, ESTE É COMUM A TODOS
# OS USUÁRIOS DA BASE DO LDAP, POR FIM ADICIONA GRUPO A GRUPO AO USUÁRIO PASSADO
# NO SEGUNDO PARAMETRO "$2".
#
for Grupo in $( getent group | grep $1 | cut -d: -f1 | grep -v "Domain Users" )
do
#
# getent EH UM PROGRAMA SIMPLES QUE CAPTURA AS ENTRADAS NA BASE ADIMINISTRATIVA DO SISTEMA
# MINHA LISTA DO LDAP SURGE GRACAS AO /etc/nsswitch.conf QUE SERVER PARA ORDERNAR
# AS CONSULTAS NA BASE, E NELE TENHO O LDAP.
# passwd: files ldap
# group: files ldap
# EXISTEM DIVERSAS OUTRAS, UTILIZE O MAN PAGE PARA CHECAR.
#
$GRUPOCOPI -m $2 $Grupo
done
else
#
# IMPRIMIR USUARIO's NAO ECONTRADO's
#
if [ -z "$($USERLIST | grep $1 )" ]
then
echo "[ NAO ENCONTRADO ] -> $1 "
elif [ -z "$($USERLIST | grep $2 )" ]
then
echo "[ NAO ENCONTRADO ] -> $2 "
fi
fi
birthday - script que manda email no dia do aniversário
ABRINDO E FECHANDO A BANDEJA DO CD
Script de inicialização do PostgreSQL 8 com suporte a acesso remoto - Fedora 7
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Ubunto não reconhece rede ethernet (0)
Secure boot, artigo interessante, nada técnico. (3)
Instalação dualboot Windows 11 e Debian 13 (11)









