rsilveiragomes
(usa Debian)
Enviado em 23/04/2014 - 00:16h
moça>> minha última tentativa (auhsuhashua~)
tenta utilizar esse script que eu fiz a um tempinho atrás (tem as funções que vc precisa eu acho):
--------------
#!/bin/bash
# Criado por: Rafael S. Gomes 16-03-2014
# GERENCIADOR DE USUARIOS
# MENU PRINCIPAL
# FUNÇÕES DO GERENCIADOR DE USUÁRIOS
# 1
# criar novo usuario
novoUsuario() {
clear
echo "Entre com o nome do novo usuario: "
read newUsuario
adduser $newUsuario --home /home/$newUsuario
return
}
# 2
# criar novo grupo
novoGrupo() {
clear
echo "Entre com o nome do novo grupo: "
read newGrupo
addgroup $newGrupo
return
}
# 3
# adicionar um usuario existente a um grupo
usuarioEmGrupo() {
clear
echo "Entre com o nome do usuario: "
read usuario
echo "Entre com o nome do grupo: "
read grupo
adduser $usuario $grupo
return
}
# 4
# criar novo usuario e adicioná-lo a um grupo existente
novoUsuarioEmGrupo() {
clear
echo "Entre com o nome do novo usuario: "
read newUsuario
echo "Entre com o nome do grupo: "
read grupo
adduser $newUsuario --home /home/$newUsuario --ingroup $grupo
return
}
# 5
# remover usuario
removeUsuario() {
clear
echo "Entre com o nome do usuario a ser removido: "
read usuario
userdel -rf $usuario
return
}
# 6
# remover grupo
removeGrupo() {
clear
echo "Qual grupo deseja remover?"
read grupo
groupdel $grupo
return
}
# 7
# mostrar informações pessoais de um usuario
infoUsuario() {
clear
echo "Entre com o nome do usuario a ser visualizado: "
read usuario
clear
finger $usuario
return
}
# 8
# modificar informações pessoais de um usuario
modInfoUsuario() {
clear
echo "Entre com o nome do usuario a ser editado: "
read usuario
chfn $usuario
return
}
# 9
# Configurar data de última modificação de senha do usuario
confLastModKey() {
clear
echo "Entre com o nome do usuario a ser editado: "
read usuario
echo "Entre com data da última alteração da senha feita: "
echo "* Utilize o padrão DD-MM-AAAA"
echo "* Ex: 01-02-2003"
read data
chage $usuario --lastday $data
return
}
# 10
# Configurar a quantidade mín. de dias para troca de senha
confMinModKey() {
clear
echo "Entre com o nome do usuario a ser editado: "
read usuario
echo "Entre com a quantidade mínima (em dias) para troca de senha: "
read dias
chage $usuario --mindays $dias
return
}
# 11
# Configurar a quantidade max. de dias para troca de senha
confMaxModKey() {
clear
echo "Entre com o nome do usuario a ser editado: "
read usuario
echo "Entre com a quantidade máxima (em dias) para troca de senha: "
read dias
chage $usuario --maxdays $dias
return
}
# 12
# Configurar quantidade de dias para o aviso de alteração de senha
confWarnModKey() {
clear
echo "Entre com o nome do usuario a ser editado: "
read usuario
echo "Entre com a quantidade de dias para o aviso de alteração da senha: "
read dias
chage $usuario --warndays $dias
return
}
# 13
# Configurar dias para desativação do usuario (após expiração da senha)
confDesativUsuario() {
clear
echo "Entre com o nome do usuario a ser editado: "
read usuario
echo "Entre com a data de desativação da conta: "
echo "* Utilize o padrão DD-MM-AAAA"
echo "* Ex: 01-02-2003"
read data
chage $usuario --expiredate $data
return
}
# 14
# Mostrar as configurações de senha de um determinado usuario.
listKeyInfo() {
clear
echo "Entre com o nome do usuario a ser visualizado: "
read usuario
clear
echo "Configurações de senha do usuario: $usuario"
echo
chage --list $usuario
return
}
# 15
# Mostrar grupos que um determinado usuario participa
gruposDoUsuario() {
clear
echo "Entre com o nome do usuario a ser visualizado: "
read usuario
clear
echo "Usuario : grupos que participa"
echo
groups $usuario
return
}
# 16
# Modificar o grupo proprietario de um determinado arquivo
grupoProprietario() {
clear
echo "Entre com o endereço absoluto do arquivo: "
echo "* Ex: /home/usuario/arquivo.txt"
read arquivo
echo "Entre com o novo grupo proprietário do arquivo: "
read grupo
# utilizando o parametro -R para evitar erros caso seja informado um diretório
chgrp -R $grupo $arquivo
return
}
# 17
# Modificar o usuario proprietario de um determinado arquivo
usuarioProprietario(){
clear
echo "Entre com o endereço absoluto do arquivo: "
echo "* Ex: /home/usuario/arquivo.txt"
read arquivo
echo "Entre com o novo usuário proprietário do arquivo: "
read usuario
# utilizando o parametro -R para evitar erros caso seja informado um diretório
chown -R $usuario $arquivo
return
}
menu() {
clear
echo " Gerenciador de usuarios"
echo
echo "Escolha a opção desejada: "
echo
echo "1 - Criar novo usuario."
echo "2 - Criar novo grupo."
echo "3 - Adicionar um usuario existente a um grupo."
echo "4 - Criar um usuario e adicioná-lo a um grupo."
echo "5 - Remover um usuario."
echo "6 - Remover um grupo."
echo "7 - Informações sobre um determinado usuario."
echo "8 - Modificar informações de um determinado usuario."
echo "9 - Configurar a data da última modificação da senha de um usuario."
echo "10 - Configurar quantidade min. de dias para um usuario mudar a senha."
echo "11 - Configurar quantidade max. de dias para um usuario mudar a senha."
echo "12 - Configurar quantidade de dias para o aviso de alteração de senha."
echo "13 - Configurar dias para desativação do usuario (após expiração da senha)."
echo "14 - Mostrar as configurações de senha de um determinado usuario."
echo "15 - Mostrar grupos que um determinado usuario participa."
echo "16 - Modificar o grupo proprietario de um determinado arquivo."
echo "17 - Modificar o usuario proprietario de um determinado arquivo."
echo "0 - Sair."
read opt
return
}
escolha() {
case $1 in
1) novoUsuario;;
2) novoGrupo;;
3) usuarioEmGrupo;;
4) novoUsuarioEmGrupo;;
5) removeUsuario;;
6) removeGrupo;;
7) infoUsuario;;
8) modInfoUsuario;;
9) confLastModKey;;
10) confMinModKey;;
11) confMaxModKey;;
12) confWarnModKey;;
13) confDesativUsuario;;
14) listKeyInfo;;
15) gruposDoUsuario;;
16) grupoProprietario;;
17) usuarioProprietario;;
0) clear;exit;;
*) echo "Opção inválida!";;
esac
return
}
clear
echo "*** Este script requer privilégios de super usuario"
echo "*** Certifique-se de execute-o como #root"
sleep 1
until [$opt != 0]; do
clear
menu
escolha "$opt"
read > /dev/null
done
clear