Servidor Samba "Autoservice"
Buscamos, no presente arquivo, apresentar um programa em linguagem shell script e interface em modo texto destinado a configurar um Servidor de Domínio Samba. Utilizamos os módulos do PAM para implementar uma política de acesso e exportação de compartilhamentos.
Parte 5: Analisando o perfil cds
O perfil misto possui as capacidades de PDC e Servidor de Arquivos. Apresenta a configuração necessária ao gerenciamento de uma rede que comporta máquinas mais robustas e velocidades de processamento maiores. Assim o Servidor pode disponibilizar acessos a diretórios compartilhados e administrar a política de segurança da organização considerada.
Incluímos as funções de criação de compartilhamentos públicos e restritos. Os compartilhamentos públicos com acesso de leitura e escrita para todos, e os compartilhamentos restritos com a possibilidade de escrita somente para o grupo proprietário, e leitura opcional para os demais (à critério do administrador do domínio).
A função de adição de máquina refere-se apenas à criação da conta de máquina no Servidor, e não à ação de juntar a máquina ao Domínio (função incluída no cliente de domínio). Como observamos no código correspondente:
Consideramos que o código ainda comporta otimização, mas encontra-se funcional.
Incluímos as funções de criação de compartilhamentos públicos e restritos. Os compartilhamentos públicos com acesso de leitura e escrita para todos, e os compartilhamentos restritos com a possibilidade de escrita somente para o grupo proprietário, e leitura opcional para os demais (à critério do administrador do domínio).
cds(){
tput cup 10 19;
trap ' ' 2 3 15;
tput cup 10 12;echo "
#####################################################################
PROGRAMA DE CONFIGURAÇÃO DE SERVIDOR DE DOMÍNIO LINUX - Versão 0.3.7
Autor: LOURIVAL ARAÚJO DA SILVA - 5º CTA - RECIFE - PE
Liberado sob GPL em 02 de novembro de 2008
#####################################################################
1 - Criar SERVIDOR DE DOMÍNIO E ARQUIVOS (PDC Samba)
2 - Criar o Diretório dos Compartilhamentos no SERVIDOR
3 - Criar Grupos e Compartilhamentos Restritos
4 - Criar Compartilhamento Publico
5 - Incluir usuário nos Grupos do Domínio
6 - Excluir usuário do Domínio
7 - Bloquear senha de usuário do Domínio
8 - Desbloquear senha de Usuário do Domínio
9 - Adicionar conta de maquina ao Domínio
10 - Excluir maquina do Domínio
11 - Sair do programa de configuração
####################################################################
####################################################################
"
echo -n " Digite a opcao de configuração desejada: "
read opcao
case $opcao in
1) cria_dominio
;;
2) cria_base
;;
3) cria_grupo
;;
4) cria_publico
;;
5) inclui_usuario
;;
6) exclui_usuario
;;
7) bloqueia_usuario
;;
8) desbloqueia_usuario
;;
9) adiciona_maquina
;;
10) exclui_maquina
;;
11) clear
continue
;;
*) valor_invalido;
;;
esac
}
tput cup 10 19;
trap ' ' 2 3 15;
tput cup 10 12;echo "
#####################################################################
PROGRAMA DE CONFIGURAÇÃO DE SERVIDOR DE DOMÍNIO LINUX - Versão 0.3.7
Autor: LOURIVAL ARAÚJO DA SILVA - 5º CTA - RECIFE - PE
Liberado sob GPL em 02 de novembro de 2008
#####################################################################
1 - Criar SERVIDOR DE DOMÍNIO E ARQUIVOS (PDC Samba)
2 - Criar o Diretório dos Compartilhamentos no SERVIDOR
3 - Criar Grupos e Compartilhamentos Restritos
4 - Criar Compartilhamento Publico
5 - Incluir usuário nos Grupos do Domínio
6 - Excluir usuário do Domínio
7 - Bloquear senha de usuário do Domínio
8 - Desbloquear senha de Usuário do Domínio
9 - Adicionar conta de maquina ao Domínio
10 - Excluir maquina do Domínio
11 - Sair do programa de configuração
####################################################################
####################################################################
"
echo -n " Digite a opcao de configuração desejada: "
read opcao
case $opcao in
1) cria_dominio
;;
2) cria_base
;;
3) cria_grupo
;;
4) cria_publico
;;
5) inclui_usuario
;;
6) exclui_usuario
;;
7) bloqueia_usuario
;;
8) desbloqueia_usuario
;;
9) adiciona_maquina
;;
10) exclui_maquina
;;
11) clear
continue
;;
*) valor_invalido;
;;
esac
}
A função de adição de máquina refere-se apenas à criação da conta de máquina no Servidor, e não à ação de juntar a máquina ao Domínio (função incluída no cliente de domínio). Como observamos no código correspondente:
adiciona_maquina(){ # Inclui conta de maquina no Domínio
echo -n "Digite o nome da maquina a ser incluída no Domínio: "
read nome
maquinas="$(grep maquinas /etc/group |cut -d: -f1)"
if [ ! $maquinas ];then
sudo groupadd maquinas
fi
if( ! (grep $nome /etc/passwd ) );then
sudo useradd -s /bin/false -d /dev/null -g maquinas $nome$
sudo passwd -l $nome$
smbpasswd -a -m $nome
echo "criada conta de maquina no domínio."
sleep 4
continue
else
echo "maquina $nome já cadastrada anteriormente."
sleep 8
continue
fi
}
echo -n "Digite o nome da maquina a ser incluída no Domínio: "
read nome
maquinas="$(grep maquinas /etc/group |cut -d: -f1)"
if [ ! $maquinas ];then
sudo groupadd maquinas
fi
if( ! (grep $nome /etc/passwd ) );then
sudo useradd -s /bin/false -d /dev/null -g maquinas $nome$
sudo passwd -l $nome$
smbpasswd -a -m $nome
echo "criada conta de maquina no domínio."
sleep 4
continue
else
echo "maquina $nome já cadastrada anteriormente."
sleep 8
continue
fi
}
Consideramos que o código ainda comporta otimização, mas encontra-se funcional.