smbldap-groupCopy copiar grupos de user1 para user2
Publicado por Wesley Henrique Leite (última atualização em 27/03/2012)
[ Hits: 4.495 ]
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
backup /home e /etc no crontab
Script para ajustar a hora sem correr o risco de mudar o dia ou o ano
Adicionando usuários para email
Nenhum comentário foi encontrado.
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Apagar Todo o Histórico do Terminal
Linux Mint: Zram + Swapfile em Btrfs
Internet não funciona corretamente no Linux (3)
Pendrive do Ubuntu 24.04 travando ao tentar fazer a instalação dual bo... (4)
Instalar Dual Boot, Linux+Windows. (14)
queria saber de uma coisa sobre o steam e derivados (3)
tentei instalar o steam pelo terminal, agora ele não abre (3)









