consamba.sh
Publicado por lourival araujo da silva 10/12/2008
[ Hits: 6.219 ]
Programa interativo de configuração de perfis do Servidor Samba. Comporta quatro perfis:
pdc - controlador de domínio;
srv - servidor de arquivos;
cds - perfil misto de pdc e srv;
cld - cliente de dominio.
#!/bin/bash
############################################################################
# Script Basico de Configuracao de Dominio Samba Linux - Versao 0.3.7 #
# Lourival Araujo da Silva - 5° CTA - Recife / PE - 2008 #
# Liberado sob GPL em 02 de novembro de 2008 #
############################################################################
############################################################################
# Changelog #
# #
# Versao 0.3.7 Novembro 2008 #
# - Inclusão de perfis de configuracao: pdc => Controlador de Dominio #
# srv => Servidor de Arquivos #
# cds => Dominio e Arquivos #
# cld => Cliente de Dominio #
# - Inclusão de Controle Horario de Acesso ao Servidor #
# - Liberacao sob licença GPL #
# #
# Versao 0.3.6 Outubro 2008 #
# - Inclusao de codigo de controle de erro na adicao de usuario #
# - Adicao de controle dos compartilhamentos do Servidor (pam_mount) #
# #
# Versao 0.3.5 Setembro 2008 #
# - Reformulacao do codigo do programa com inclusao de funcoes #
# #
# Versao 0.3.4 Abril 2008 #
# - Inclusao de configurador de Cliente Linux no Servidor PDC #
# Essa funcionalidade não deve ser testada no Servidor, pois provoca a #
# desconfiguracao do mesmo.Reconfigurando-o como cliente de Dominio. #
# ( NAO UTILIZAR ESTA FUNCIONALIDADE NO SERVIDOR ) #
# #
# Versao 0.3.3 Marco 2008 #
# - Inclusao de compartilhamento publico; #
# - Adicao de Changelog #
# #
# Versao 0.3.2 Janeiro 2008 #
# - Inclusao de bloqueio e desbloqueio de usuarios; #
# - Inclusao de compartilhamento restrito: leitura ou leitura/escrita; #
# #
# Versao 0.3.1 Novembro 2007 #
# - Criacao de autenticador de dominio; #
# - Adicao do diretorio dos compartilhamentos; #
# - Adicao de grupos ao servidor; #
# - Adicao de usuarios aos grupos do servidor; #
# - Adicao de maquinas ao dominio; #
# #
############################################################################
############################################################################
trap ' ' 2 3 15;
while true; do
clear
###############################################################################################################################################
###############################################################################################################################################
#############################################################################################################################
#############################################################################################################################
cria_dominio(){
echo -n "Digite um nome de Dominio: " # criar o dominio de logon
read dominio
echo -n "Digite o nome do Servidor: "
read servidor
echo -n "Digite o nome da conta do Administrador do Servidor Samba (root): "
read admin
echo -n "Digite a Rede do Servidor (192.168.0.0/16): "
read rede
sudo smbpasswd -a $admin
echo "
[globals]
workgroup = $dominio
netbios name = $servidor
domain master = yes
logon script = netlogon.bat
logon home = \\%U\.profiles
logon path = \\%L\profiles\%U
logon drive = j:
security = user
encrypt passwords = yes
os level = 100
log file = /var/log/samba/log.%m
max log size = 1000
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
hosts allow = 127.0.0.0/8 $rede
obey pam restrictions = Yes
smb passwd file = /etc/samba/smbpasswd
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
template homedir = /home/%U
template shell = /bin/bash
[netlogon]
comment = Servico de logon
path = /var/samba/netlogon
guest ok = yes
browseable = no
[profiles]
path = /var/samba/profile
writable = yes
browseable = no
create mask = 0600
directory mask = 0700
[home]
path = /home
browseable = no" >>/tmp/smb.conf
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
sudo mv /tmp/smb.conf /etc/samba/smb.conf
sudo mkdir -p /var/profiles
sudo chmod 1777 /var/profiles
sudo mkdir -p /var/samba/netlogon
sudo chmod 775 /var/samba/netlogon
echo "Configurando o horario de acesso ao Servidor..."
echo "
login;*;*;Wd0800-1800 & !SaSu0000-2359
ssh;*;*;Wd0800-1800 & !SaSu0000-2359
">/tmp/time.conf
sudo cat /tmp/time.conf >>/etc/security/time.conf
}
cria_base(){
echo -n "Indique a localizacao do Diretorio dos compartilhamentos (/dados): " # Criar o diretorio-base
read base
sudo mkdir -p $base
sudo chmod -R 2777 $base/
echo -n "Diretorio-Base criado em $base"
}
cria_publico(){
echo -n "Digite o nome do Diretorio [publico]: " # Criar compartilhamento de leitura/escrita para todos
read compart
echo -n "Indique o diretorio de compartilhamento (/dados): "
read base
echo "Criando compartilhamento publico... "
sudo mkdir -p $base/$compart
if( ! (grep nobody /etc/passwd ) );then
sudo useradd -s /bin/bash -d /dev/null -g nogroup nobody 2>/dev/null
sudo passwd -l nobody 2>/dev/null
sudo smbpasswd -a nobody
fi
sudo chown -R nobody.nogroup $base/$grupo
sudo chmod 2777 $base/$compart
echo "
[$compart]
path = $base/$compart
writable = yes
browseable = yes
public = yes
guest ok = yes" >>/tmp/smb.conf
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
sudo cat /tmp/smb.conf >>/etc/samba/smb.conf
echo "Compartilhamento publico criado em $base... "
sleep 2
echo "Exportando compartilhamento publico criado no Servidor..."
echo "
volume * smbfs $servidor $compart ~/$compart uid=&,gid=&,dmask=0750 - -
">/tmp/pam_mount.conf
sudo cat /tmp/pam_mount.conf >>/etc/security/pam_mount.conf
sleep 3
}
cria_grupo(){
echo -n "Digite o nome do Grupo: " # Incluir grupos no Servidor de dominio
read grupo
echo -n "Digite o caminho do Diretorio dos compartilhamentos no Servidor (/dados): "
read base
echo "Criando compartilhamento no Servidor... "
echo -n "Deseja criar o diretorio do grupo somente para leitura ? [sim/nao] "
read resp
if [ $resp == sim ];then
sudo groupadd $grupo
echo "Criando compartilhamento somente para leitura... " # Compartilhar somente leitura para
sudo mkdir -p $base/$grupo # os membros do grupo
sudo chgrp -R $grupo $base/$grupo
sudo chmod -R 2750 $base/$grupo
echo "
[$grupo]
path = $base/$grupo
writable = no
browseable = yes
read list = @$grupo
write list = @$grupo
admin users = @$grupo @secinfo" >>/tmp/smb.conf
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
sudo cat /tmp/smb.conf >>/etc/samba/smb.conf
echo "Criando compartilhamento sem escrita em $base... "
sleep 2
echo "Exportando compartilhamento sem escrita criado no Servidor..."
echo "
volume * smbfs $servidor $compart ~/$compart uid=&,gid=&,dmask=2750, - -
">/tmp/pam_mount.conf
sudo cat /tmp/pam_mount.conf >>/etc/security/pam_mount.conf
sleep 3
else
sudo groupadd $grupo
echo "Criando compartilhamento para leitura e escrita do grupo... " # Compartilhar leitura/escrita
sudo mkdir -p $base/$grupo # somente para os membros do grupo
sudo chgrp -R $grupo $base/$grupo
sudo chmod -R 2770 $base/$grupo
sudo echo "
[$grupo]
path = $base/$grupo
writable = yes
browseable = yes
read list = @$grupo
write list = @$grupo
admin users = @$grupo @secinfo" >>/tmp/smb.conf
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
sudo cat /tmp/smb.conf >>/etc/samba/smb.conf
echo "Criando compartilhamento com escrita em $base... "
sleep 2
echo "Exportando compartilhamento com escrita criado no Servidor..."
echo "
volume * smbfs $servidor $compart ~/$compart uid=&,gid=&,dmask=2770 - -
">/tmp/pam_mount.conf
sudo cat /tmp/pam_mount.conf >>/etc/security/pam_mount.conf
sleep 3
fi
echo -n " Grupo $grupo criado em $base."
sleep 4
}
inclui_usuario(){
echo "Incluindo novo usuario..."
RESP=sim # Incluir usuarios nos grupos ja existentes no Servidor
until [ RESP = "nao" ];do
echo -n "Indique o Grupo para inclusao do usuario: "
read grupo
GRP="$(grep $grupo /etc/group |cut -d: -f1)"
if [ ! $GRP ];then
echo "O grupo $grupo nao existe."
sleep 2
continue
fi
echo -n "Digite o nome do Usuario: "
read usuario
# chattr -i /etc/passwd # Opcoes utilizaveis caso se queira bloquear o acesso aos arquivos de senhas
# chattr -i /etc/shadow
# chattr -i /etc/group
sudo useradd -s /bin/bash -d /home/$usuario -m -g $grupo $usuario # incluir o usuario no grupo
if [ $? = 1 ];then
echo "Nao foi possivel cadastrar o usuario. Verifique se usou caracter especial."
fi
sudo mkdir -p /home/$usuario/profile.pds # criar perfil para cada usuário
sudo chown -R $usuario. /home/$usuario/profile.pds # atribuir propriedade sobre o perfil para cada usuário
# chattr +i /etc/passwd # Opcoes utilizaveis caso se queira bloquear o acesso aos arquivos de senhas
# chattr +i /etc/passwd
# chattr +i /etc/group
# sudo smbpasswd -a $usuario # incluir o usuario no grupo
echo "Deseja adicionar um novo usuario ? "
echo -n "Responda [sim ou nao]: "
read RESP
if [ "$RESP" = "nao" ];then
echo "Adicao de usuario concluida."
sleep 2
clear
break
fi
done
}
exclui_usuario(){
echo -n "Digite o nome do usuário a ser excluido: " # Excluir usuarios cadastrados
read usuario
if( ! (grep $usuario /etc/passwd ) );then
echo "Nao foi possivel excluir o usuario."
sleep 2
clear
continue
fi
if( grep $usuario /etc/passwd ); then
sudo smbpasswd -x $usuario 2>/dev/null
sudo userdel -r $usuario 2>/dev/null
echo "Usuario excluido com sucesso."
sleep 2
clear
continue
fi
}
bloqueia_usuario(){
echo -n "Digite o nome do usuario a ser bloqueado: " # Bloqueio temporario de usuarios no dominio (ferias)
read usuario
if( ! (grep $usuario /etc/passwd ) );then
echo "Nao foi possivel bloquear o usuario."
sleep 2
clear
continue
fi
sudo smbpasswd -d $usuario 2>/dev/null
sudo passwd -l $usuario 2>/dev/null
if [ $? == 0 ]; then
echo -n "Usuario bloqueado com sucesso."
sleep 2
clear
continue
fi
}
desbloqueia_usuario(){
echo -n "Digite o nome do usuario a ser desbloqueado: " # Desbloqueio de usuarios no dominio
read usuario
if( ! (grep $usuario /etc/passwd ) );then
echo "Nao foi possivel desbloquear o usuario."
sleep 2
clear
continue
fi
sudo passwd -u $usuario 2>/dev/null
sudo smbpasswd -e $usuario 2>/dev/null
echo -n "Usuario desbloqueado com sucesso."
sleep 2
clear
continue
}
adiciona_maquina(){ # Inclui conta de maquina no dominio
echo -n "Digite o nome da maquina a ser incluida no Dominio: "
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 dominio."
sleep 4
continue
else
echo "maquina $nome ja cadastrada anteriormente."
sleep 4
continue
fi
}
exclui_maquina(){
echo -n "Digite o nome da maquina a ser excluida: " # Excluir maquinas cadastradas no dominio
read maquina
# smbpasswd -x $maquina
sudo userdel -r $maquina$
echo -n "Maquina excluida do Dominio."
sleep 2
}
valor_invalido(){
clear
tput cup 17 18;echo "Valor inadequado. Digite um valor valido. "
sleep 2
continue
}
##########################################################################################################################################
cria_samba(){
echo -n "Digite um nome do seu Dominio ou Grupo de Trabalho: "
read dominio
echo -n "Digite o nome desse Servidor Samba: "
read servidor
echo -n "Digite o nome da conta do Administrador desse Servidor Samba (admin): "
read admin
echo -n "Digite a Rede desse Servidor (192.168.0.0/16): "
read rede
sudo smbpasswd -a $admin
echo -n "Deseja juntar o Servidor Samba a um Dominio ? [sim|nao] "
read resp
if [ $resp == sim ];then
echo -n "Digite o nome do Dominio: "
read ndominio
echo -n "Digite o nome do Servidor de Dominio: "
read nservidor
echo -n "Digite o nome do administrador do Dominio [admin]: "
read nadmin
sudo net rpc join -W $ndominio -S $servidor -U $nadmin
continue
else
clear
continue
fi
echo "
[globals]
workgroup = $dominio
netbios name = $servidor
domain master = no
security = user
encrypt passwords = yes
os level = 30
log file = /var/log/samba/log.%m
max log size = 1000
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
hosts allow = 127.0.0.0/8 $rede
obey pam restrictions = Yes
passwdb backend = /etc/samba/smbpasswd
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n*password\supdated\ssuccessfully* .
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
template homedir = /home/%U
template shell = /bin/bash
[home]
path = /home
browseable = no" >>/tmp/smb.conf
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
sudo mv /tmp/smb.conf /etc/samba/smb.conf
echo "Configurando o horario de acesso ao Servidor..."
echo "
login;*;*;Wd0800-1800 & !SaSu0000-2359
ssh;*;*;Wd0800-1800 & !SaSu0000-2359
">/tmp/time.conf
sudo cat /tmp/time.conf >>/etc/security/time.conf
}
########################################################################################################################################
########################################################################################################################################
pdc(){
tput cup 0 19;
trap ' ' 2 3 15;
while true; do
tput cup 10 12;echo "
####################################################################
PROGRAMA DE CONFIGURACAO DE SERVIDOR DE DOMINIO LINUX - Versao 0.3.7
Autor: LOURIVAL ARAUJO DA SILVA - 5º CTA - RECIFE - PE
Liberado sob GPL em 02 de novembro de 2008
####################################################################
1 - Criar o DOMINIO (PDC Samba)
2 - Criar Grupos no Servidor de Dominio
3 - Incluir usuario nos Grupos do Dominio
4 - Excluir usuario do Dominio
5 - Bloquear senha de usuario do Dominio
6 - Desbloquear senha de Usuario do Dominio
7 - Adicionar maquina ao Dominio
8 - Excluir maquina do Dominio
9 - Sair do programa de configuracao
####################################################################
####################################################################
"
echo " "
echo -n " Digite a opcao de configuracao desejada: "
read opcao
case $opcao in
1) cria_dominio
;;
2) cria_grupo
;;
3) inclui_usuario
;;
4) exclui_usuario
;;
5) bloqueia_usuario
;;
6) desbloqueia_usuario
;;
7) adiciona_maquina
;;
8) exclui_maquina
;;
9) clear;
break;
;;
*) valor_invalido;
;;
esac
done
}
###################################################################################################
###################################################################################################
srv(){
tput cup 0 19;
trap ' ' 2 3 15;
while true; do
tput cup 10 12;echo "
######################################################################
PROGRAMA DE CONFIGURACAO DE SERVIDOR DE ARQUIVOS LINUX - Versao 0.3.7
Autor: LOURIVAL ARAUJO DA SILVA - 5º CTA - RECIFE - PE
Liberado sob GPL em 02 de novembro de 2008
######################################################################
1 - Criar SERVIDOR DE ARQUIVOS SAMBA
2 - Criar o Diretorio dos Compartilhamentos no SERVIDOR
3 - Criar Grupos e Compartilhamentos Restritos
4 - Criar Compartilhamento Publico
5 - Incluir usuario nos Grupos do Servidor de Arquivos
6 - Excluir usuario do Servidor de Arquivos
7 - Bloquear senha de usuario do Servidor de Arquivos
8 - Desbloquear senha de Usuario no Servidor de Arquivos
9 - Sair do programa de configuracao
#####################################################################
#####################################################################
"
echo " "
echo -n " Digite a opcao de configuracao desejada: "
read opcao
case $opcao in
1) cria_samba
;;
2) cria_base
;;
3) cria_grupo
;;
4) cria_publico
;;
5) inclui_usuario
;;
6) exclui_usuario
;;
7) bloqueia_usuario
;;
8) desbloqueia_usuario
;;
9) clear
break
;;
*) valor_invalido;
;;
esac
done
}
##############################################################################################################################################
##############################################################################################################################################
cds(){
tput cup 10 19;
trap ' ' 2 3 15;
while true; do
tput cup 10 12;echo "
#####################################################################
PROGRAMA DE CONFIGURACAO DE SERVIDOR DE DOMINIO LINUX - Versao 0.3.7
Autor: LOURIVAL ARAUJO DA SILVA - 5º CTA - RECIFE - PE
Liberado sob GPL em 02 de novembro de 2008
#####################################################################
1 - Criar SERVIDOR DE DOMINIO E ARQUIVOS (PDC Samba)
2 - Criar o Diretorio dos Compartilhamentos no SERVIDOR
3 - Criar Grupos e Compartilhamentos Restritos
4 - Criar Compartilhamento Publico
5 - Incluir usuario nos Grupos do Dominio
6 - Excluir usuario do Dominio
7 - Bloquear senha de usuario do Dominio
8 - Desbloquear senha de Usuario do Dominio
9 - Adicionar conta de maquina ao Dominio
10 - Excluir maquina do Dominio
11 - Sair do programa de configuracao
####################################################################
####################################################################
"
echo " "
echo -n " Digite a opcao de configuracao 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
break
;;
*) valor_invalido;
;;
esac
done
}
##############################################################################################################################################
##############################################################################################################################################
cld(){
#!/bin/bash
#PROGRAMA DE CLIENTE DE DOMINIO - SERVIDOR DE DOMINIO $HOSTNAME
#Programa ConSamba.sh liberado,em 20Set08, sob licença GPL
#por LOURIVAL ARAUJO DA SILVA - 5º CTA - RECIFE - BRASIL
trap ' ' 2 3 15;
while true; do
# clear
adiciona_usuario(){
echo -n "Digite o nome do usuario a ser incluido: "
read usuario
cadastro="$(grep -i $usuario /etc/passwd|cut -d: -f1)"
if [ ! "$cadastro" ];then
echo "Usuario $usuario nao existe. Criando o usuario $usuario..."
echo -n "Digite o grupo do usuario: "
read grupo
GRP=$(grep $grupo /etc/group |cut -d: -f1)
if [ ! $GRP ];then
echo "O grupo $grupo nao existe."
sleep 2
continue
fi
sudo useradd -d /home/$usuario -s /bin/bash -g $grupo -m $usuario
sudo passwd $usuario
sleep 2
fi
echo -n "Deseja incluir outro usuario ? [sim/nao] "
read resp
while [ $resp = sim ];do
echo -n "Digite o nome do novo usuario: "
read nusuario
cadastro="$(grep -i $nusuario /etc/passwd|cut -d: -f1)"
if [ ! "$cadastro" ];then
echo "Usuario $nusuario nao existe. Criando o usuario $nusuario..."
echo -n "Digite o grupo do novo usuario: "
read ngrupo
GRP=$(grep $ngrupo /etc/group |cut -d: -f1)
if [ ! $GRP ];then
echo "O grupo $ngrupo nao existe."
sleep 2
continue
fi
sudo useradd -d /home/$nusuario -s /bin/bash -m -g $ngrupo $nusuario
sudo passwd $nusuario
sleep 2
fi
echo -n "Deseja incluir outro usuario ? [sim/nao] "
read resp
if [ $resp = nao ]; then
echo "Adicao de usuario concluida."
sleep 2
break
fi
done
}
bloqueia_usuario(){
echo -n "Digite o nome do usuario a ser bloqueado: "
read usuario
cadastro="$(grep -i $usuario /etc/passwd|cut -d: -f1)"
if [ ! "$cadastro" ];then
echo "Usuario $usuario nao existe."
sleep 2
continue
else
sudo passwd -l $usuario
echo "Usuario $usuario bloqueado."
sleep 2
continue
fi
}
desbloqueia_usuario(){
echo -n "Digite o nome do usuario a ser desbloqueado: "
read usuario
cadastro="$(grep -i $usuario /etc/passwd|cut -d: -f1)"
if [ ! "$cadastro" ];then
echo "Usuario $usuario nao existe."
sleep 2
continue
else
sudo passwd -u $usuario
echo "Usuario $usuario desbloqueado."
sleep 2
continue
fi
}
atualiza_senha(){
echo "Atualizacao de senha."
echo -n "Digite o nome do usuario: "
read usuario
cadastro="$(grep -i $usuario /etc/passwd|cut -d: -f1)"
if [ ! "$cadastro" ];then
echo "Usuario $usuario nao existe."
sleep 2
continue
else
sudo passwd $usuario
echo "Senha do usuario $usuario atualizada."
sleep 2
continue
fi
}
exclui_usuario(){
echo -n "Digite o nome do usuario a ser excluido: "
read usuario
cadastro="$(grep -i $usuario /etc/passwd|cut -d: -f1)"
if [ ! "$cadastro" ];then
echo "Usuario $usuario nao existe."
sleep 2
continue
else
sudo userdel -r $usuario
echo "Senha do usuario $usuario atualizada."
sleep 2
continue
fi
}
inclui_dominio(){
echo -n "Digite um nome do Dominio: "
read dominio
echo -n "Digite o nome do Servidor de Domínio: "
read servidor
echo -n "Digite o nome da Maquina a ser incluida no Dominio: "
read maquina
echo -n "Digite a conta do Administrador de Domínio (admin): "
read admin
echo "
[globals]
workgroup = $dominio
netbios name = $maquina
security = domain
encrypt passwords = yes
os level = 10
log file = /var/log/samba/log.%m
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
hosts allow = 127.0.0.0/8 $rede
obey pam restrictions = Yes
smb passwd file = /etc/samba/smbpasswd
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
[home]
comment = Directorio Pessoal
create mask = 0700
directory mask = 0700
browseable = No
[printers]
path = /tmp
browseable = No
comment = Impressoras de Rede
guest ok = No
read only = No
print ok = Yes" >>/tmp/smb.conf
sudo cp /etc/samba/smb.conf /tmp/smb.conf.old
sudo mv /tmp/smb.conf /etc/samba/smb.conf
sudo echo " ">/tmp/login
sudo echo "
#PAM - 1.0
# Arquivo gerado pelo script ConSamba.sh Versao 0.3.5 - Setembro 2008 - $(date +%H:%M:%S-%d/%m/%Y)
#/etc/pam.d/login
auth requisite pam_securetty.so
auth requisite pam_nologin.so
auth required pam_unix.so
auth required pam_cracklib.so
auth required pam_mount.so use_first_pass
auth sufficient pam_winbind.so use_first_pass
account required pam_unix.so
account sufficient pam_winbind.so use_first_pass
session optional pam_mkhomedir.so skel=/etc/skel umask=0022
session required pam_mount.so use_first_pass
session required pam_limits.so
session optional pam_motd.so
password required pam_unix.so
password sufficient pam_winbind.so use_first_pass" >>/tmp/login
sudo cp /etc/pam.d/login /tmp/login.old
sudo mv /tmp/login /etc/pam.d/login
sudo echo " ">/tmp/kdm
sudo echo "
#PAM - 1.0
# Arquivo gerado pelo script ConSamba.sh Versao 0.3.5 - Setembro 2008 - $(date +%H:%M:%S-%d/%m/%Y)
#/etc/pam.d/kdm
auth requisite pam_nologin.so
auth required pam_unix.so
auth required pam_cracklib.so
auth required pam_mount.so use_first_pass
auth sufficient pam_winbind.so use_first_pass
account required pam_unix.so
account sufficient pam_winbind.so use_first_pass
session optional pam_mkhomedir.so skel=/etc/skel umask=0022
session required pam_mount.so use_first_pass
session required pam_limits.so
session optional pam_motd.so
password required pam_unix.so
password sufficient pam_winbind.so use_first_pass" >>/tmp/kdm
cp /etc/pam.d/kdm /tmp/kdm.old
sudo mv /tmp/kdm /etc/pam.d/kdm
sudo echo " ">/tmp/nsswitch.conf
sudo echo "
# Arquivo gerado pelo script ConSamba.sh Versao 0.3.5 - Setembro 2008 - $(date +%H:%M:%S-%d/%m/%Y)
#/etc/nsswitch.conf
passwd: compat winbind
group: compat winbind
shadow: compat winbind
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis" >>/tmp/nsswitch.conf
sudo cp /etc/nsswitch.conf /tmp/nsswitch.conf.old
sudo mv /tmp/nsswitch.conf /etc/nsswitch.conf
apt-get install libpam-modules libpam-mount libpam-cracklib winbind
net rpc join -W $dominio -S $servidor -U $admin 2>>/tmp/errodominio
wbinfo -u 2>>/tmp/errodominio
wbinfo -g 2>>/tmp/errodominio
getent passwd 2>>/tmp/errorusiarios
getent group 2>>/tmp/errousuarios
sleep 2
continue
}
sair(){
clear
break
}
valor_errado(){
clear
tput cup 17 18;echo "Valor invalido. Digite um valor aceitavel. "
sleep 2
clear
continue
}
tput cup 10 19;echo "
====================================================
CADASTRO DE USUARIOS - CLIENTE PDC SAMBA/NT
VERSAO 0.2.0 - SET 2008
====================================================
CLIENTE DE DOMINIO $HOSTNAME
====================================================
1) Adicionar usuario local
2) Bloquear usuario local
3) Desbloquear usuario local
4) Atualizar senha local
5) Excluir usuario local
6) Juntar a maquina ao DOMINIO
7) Sair
==================================================== "
tput cup 25 10; echo -n "Digite sua opcao [1-7]: "
read opcao
case $opcao in
1) adiciona_usuario
;;
2) bloqueia_usuario
;;
3) desbloqueia_usuario
;;
4) atualiza_senha
;;
5) exclui_usuario
;;
6) inclui_dominio
;;
7) sair
;;
*) valor_errado
;;
esac
done
}
###################################################################################################################################################
###################################################################################################################################################
tput cup 10 12; echo -n "
######################################################################
# #
# Escolha o perfil de Servidor que deseja instalar: #
# #
# PDC => Controlador de Dominio Samba #
# SRV => Servidor de Arquivos Samba #
# CDS => Controlador de Dominio Samba com Servidor de Arquivos #
# CLD => Cliente de Dominio Samba #
# #
# S => Sair do Programa de Configuracao. #
# #
######################################################################
"
tput cup 24 9; echo -n "Digite a sua opcao: ";
read opcao
case $opcao in
PDC) clear;
tput cup 10 19;echo "PDC => perfil Controlador de Dominio.";
pdc;
;;
SRV) clear;
tput cup 10 19;echo "SRV => perfil Servidor de Arquivos.";
srv;
;;
CDS) clear;
tput cup 10 19;echo "CDS => perfil Controlador e Servidor.";
cds;
;;
CLD) clear;
tput cup 10 19;echo "CLD => perfil Cliente de Dominio.";
cld;
;;
S) clear;
exit;
;;
*) clear;
valor_invalido;
;;
esac
done
Conversor de arquivos de vídeo (Video Converter)
Ativando o MRTG para Roteadores via SNMP
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)









