smbldap-groupCopy copiar grupos de user1 para user2
Publicado por Wesley Henrique Leite (última atualização em 27/03/2012)
[ Hits: 4.306 ]
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
Informações gerais sobre o usuário
Script para listar arquivos, diretórios e uso do espaço em disco destes
Reconhecer drive conectado ou desconectado (básico)
rc.squid start|stop|restart Servidor Proxy
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Sinto uma leve lentidão ao arrastar, miniminizar e restauras as janela... (3)
Alguém já usou o framework Avalonia para desenvolver interfaces de usu... (4)
Ajuda Pra Melhoria do NFTABLES. (8)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (7)