Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Script para facilitar a criação de repositórios CVS
#!/bin/bash
#Script para criar repositorios no servidor cvs
#
#Data criacao 12/05/09
#Sidnei Weber
#Versao 0.1
#Versao 0.2
# Criado Menu
# Criado as variaveis de cada opcao
#Versao 0.3
# Pesquisa de grupos e usuarios em ordem de GID e UID
#Versao 0.4
# Acrescentado menu para pesquisa de grupos e usuarios
# Retirado os acentos (problema de codificacao)
#Versao 0.5
# Consertada a codificação
LANG=pt_BR.ISO-8859-1
Menu() {
clear
echo "Script para criar repositórios do cvs"
echo "------------------------------------------"
echo "Opções:"
echo
echo "1. Criar Repostório"
echo "2. Adicionar respositório no /etc/cvs-pserver.conf"
echo "3. Reiniciar o inetd que controla o cvs"
echo "4. Pesquisar usuários e grupos"
echo "5. Criar usuário"
echo "6. Criar grupo"
echo "7. Trocar senha de usuário"
echo "8. Editar /etc/group"
echo "9. Editar /etc/passwd"
echo "10. Conceder permissão ao repositório do CVS"
echo "11. Sair do Script"
echo
echo -n "Qual a opção desejada? "
read opcao
case $opcao in
1) Criar ;;
2) Adicionar ;;
3) Reiniciar ;;
4) Pesquisar ;;
5) CriarUser ;;
6) CriarGrupo ;;
7) TrocaSenha ;;
8) EditaGroup ;;
9) EditaPasswd ;;
10) PermissaoCVS;;
11) exit ;;
*) "Opção desconhecida." ; read ; Menu ;;
esac
}
Criar(){
echo -n "Digite o nome do repositório a ser criado:"
read repo
cvs -d /data/cvs/cvsprogram/$repo init
cd /data/cvs/cvsprogram/
chmod 2770 $repo
echo Respositório criado e dada permissão 2770: $repo; echo -n Aperte uma tecla para continuar; read; Menu
}
Adicionar(){
echo Adicionar novo repositório no /etc/cvs-pserver.conf
echo Lembrando que a sintaxe é assim:
echo
echo CVS_PSERV_REPOS="/data/cvs/cvsprogram/teste:/data/cvs/cvsprogram/pds:/data/cvs/cvsprogram/sinus:/data/cvs/cvsprogram/gas"
echo
echo CONFIRA ANTES DE SALVAR!!!
echo -n Aperte uma tecla para continuar; read
vi /root/logs.txt #trocar para /etc/cvs-pserver.conf
clear
echo "Colocado na configuração, se foi feito certo"; echo -n Aperte uma tecla para continuar; read; Menu
}
Reiniciar(){
echo Restartanto o inetd que controla o cvs:
killall -HUP inetd || echo ok
echo -n Aperte uma tecla para continuar; read; Menu
}
Pesquisar(){
MenuPesquisa(){
clear
echo "+-------------------------------+"
echo "| Pesquisa de grupos e usuários |"
echo "+-------------------------------+"
echo "| Opções... |"
echo "| |"
echo "| 1. Grupos |"
echo "| 2. Usuários |"
echo "| 3. Ir para menu principal |"
echo "| 4. Sair do Script |"
echo "+-------------------------------+"
echo -n "O que deseja pesquisar?"; read opcaopesquisa
case $opcaopesquisa in
1) Grupos ;;
2) Usuarios ;;
3) Menu ;;
4) exit 0 ;;
*) echo "Opção desconhecida." ; read ; MenuPesquisa ;;
esac
}
Grupos(){
#ldapsearch -x | grep gidNumber | sort | more
cat /etc/group | awk 'BEGIN{ FS=":" } { print "GID:" $3 "\t" "Grupo:" $1}' |sort |more
echo -n Aperte uma tecla para continuar; read; MenuPesquisa
}
Usuarios(){
#ldapsearch -x | grep uidNumber | sort | more
cat /etc/passwd | awk 'BEGIN{ FS=":" } { print "UID:" $3 "\t" "Usuário:" $1}' |sort |more
echo -n Aperte uma tecla para continuar; read; MenuPesquisa
}
MenuPesquisa
}
CriarUser(){
echo -n Digite o nome do usuário:; read user
echo -n "Digite o nome do home (geralmente /home/user):"; read home
echo -n Digite o uid desse usuário:; read uid
adduser --home $home --uid $uid $user
echo Criado usuário: $user. com uid: $uid. No home: $home.
echo -n Aperte uma tecla para continuar; read; Menu
}
CriarGrupo(){
echo -n Digite o nome do grupo:; read grupo
echo -n Digite o gid desse grupo:; read gid
addgroup --gid $gid $grupo
echo Criado o grupo: $grupo. com o gid: $gid.
echo -n Aperte uma tecla para continuar; read; Menu
}
TrocaSenha(){
echo -n Digite o usuário que deseja trocar a senha:; read usuario
passwd $usuario
echo -n Aperte uma tecla para continuar; read; Menu
}
EditaGroup(){
vi /etc/group
Menu
}
EditaPasswd(){
vi /etc/passwd
Menu
}
PermissaoCVS(){
echo -n Qual o grupo de deseja dar acesso:; read group
echo -n Qual o repositório que deseja dar acesso ao grupo:; read repositorio
setfacl -R -d -m group:$group:rwx /data/cvs/cvsprogram/$repositorio
setfacl -R -m group:$group:rwx /data/cvs/cvsprogram/$repositorio
echo -n Aperte uma tecla para continuar; read; Principal
}
Menu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment