Last active
January 11, 2024 12:15
-
-
Save fititnt/8d94b0574c6a4ec7e8c4088c64743969 to your computer and use it in GitHub Desktop.
Modulo de segurança da GAS Tecnologia (WARSAW) + BB | hda-bb_0.1_all descompactado, nome/email editado
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Download de https://cloud.gastecnologia.com.br/bb/downloads/ws/hda-bb_0.1_all.deb | |
$ wget https://cloud.gastecnologia.com.br/bb/downloads/ws/hda-bb_0.1_all.deb | |
$ dpkg -x hda-bb_0.1_all.deb warsaw-deb-descompactado | |
$ cd warsaw-deb-descompactado/ | |
$ tree | |
. | |
└── usr | |
├── local | |
│ └── bin | |
│ └── HDA_BB | |
│ ├── HDA_BB | |
│ ├── HDA_BB.desktop | |
│ ├── ICON | |
│ │ ├── shield_bb_64.png | |
│ │ └── Shield_BB.png | |
│ └── IMG | |
│ ├── DIG | |
│ │ ├── alert0.png | |
│ │ ├── alert.png | |
│ │ ├── bug-512.png | |
│ │ ├── bug-64.png | |
│ │ ├── caution-63.png | |
│ │ ├── caution-64.png | |
│ │ ├── check.png | |
│ │ ├── clipboard-64.png | |
│ │ ├── close.png | |
│ │ ├── close_red.png | |
│ │ ├── distro_2.png | |
│ │ ├── distro.png | |
│ │ ├── folder.png | |
│ │ ├── folder_sub.png | |
│ │ ├── idea.png | |
│ │ ├── install.png | |
│ │ ├── libs_2.png | |
│ │ ├── libs_64.png | |
│ │ ├── libs.png | |
│ │ ├── locked_64.png | |
│ │ ├── modulo.png | |
│ │ ├── net.png | |
│ │ ├── play-64.png | |
│ │ ├── proxy.png | |
│ │ ├── server.png | |
│ │ ├── socket.png | |
│ │ ├── tick_green.png | |
│ │ ├── tick.png | |
│ │ ├── unlocked-64.png | |
│ │ └── user.png | |
│ ├── INSTALL | |
│ │ ├── fedora.png | |
│ │ ├── mint.png | |
│ │ ├── opensuse.png | |
│ │ └── ubuntu.png | |
│ └── MAIN | |
│ ├── Ajuda.png | |
│ ├── Diagnostico.png | |
│ ├── Exit.png | |
│ ├── Install.png | |
│ ├── lock-24.png | |
│ ├── Remove.png | |
│ ├── Safety01-24.png | |
│ └── unlock-24.png | |
└── share | |
└── applications | |
└── HDA_BB.desktop | |
11 directories, 47 files |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
################################################################################################################################# | |
# HDA-BB # | |
# Program : Diagnóstico do Módulo de segurança # | |
# Version : 0.1 # | |
# Author : NOMEEDITADO [email protected] # | |
# # | |
################################################################################################################################# | |
###################################################CHECAGEM-DIAGNOSTICO########################################################## | |
# DISTRO_CHECK - # | |
# NETWORING_CHECK - # | |
# WARSAW_CHECK - # | |
# SOCKET_ON - # | |
# PERMS_CHECK - # | |
# PERMS_VALID - # | |
# LIB_WARSAW_CHECK - # | |
# LIB_WARSAW_INSTALL - # | |
# ROOT_LOGIN - # | |
# INSTALL_WARSAW - # | |
# DIAGNOSTICO_CHECK - # | |
################################################################################################################################# | |
#======================================================DISTRO_CHECK==============================================================# | |
#CHECAR DISTRIBUIÇÃO DE FORMA AUTOMATICA | |
function DISTRO_CHECK() { | |
BITS=$(uname -i) | |
if [[ $BITS != "x86_64" ]]; then | |
BITS="x86_32" | |
fi | |
while read LINHA; do | |
if [[ $LINHA == *"Ubuntu"* ]]; then | |
DIST=Ubuntu | |
break | |
elif [[ $LINHA == *"openSUSE"* ]]; then | |
DIST=openSUSE | |
break | |
elif [[ $LINHA == *"Mint"* ]]; then | |
DIST=Mint | |
break | |
elif [[ $LINHA == *"Fedora"* ]]; then | |
DIST=Fedora | |
break | |
fi | |
done < /etc/os-release | |
echo "$DIST" | |
if [ ! -z $DIST ]; then | |
DIST_BITS="$DIST"_"$BITS" | |
fi | |
} | |
export -f DISTRO_CHECK | |
#********************************************************************************************************************************# | |
#=====================================================NETWORING_CHECK============================================================# | |
#REQ - Variável temporaria | |
#NET - Status da rede do usuário | |
#SEG - Status do SEG.BB | |
#================================================================================================================================# | |
function NETWORING_CHECK() { | |
#CHECAR SE O COMPUTADOR ESTÁ COM ACESSO A INTERNET | |
#REQ=true | |
end=$((SECONDS+0)) | |
while [ $SECONDS -lt $end ]; do | |
REQ=$(ping -c1 google.com | grep From | awk -F' ' '{ print $4 $5 $6}') | |
echo $REQ | |
done | |
if [[ "$REQ" == "DestinationPortUnreachable" ]]; then | |
#se o ip não responder mostra offline! | |
#echo "OFFLINE" | |
NET=false | |
else | |
#se o ip responder o ping mostra online | |
#echo "online!" | |
NET=true | |
fi | |
#CHECAR A DISPONIBILIDADE DO SEG.BB | |
while [ $SECONDS -lt $end ]; do | |
REQ=$(ping -c1 cloud.gastecnologia.com.br | grep From | awk -F' ' '{ print $4 $5 $6}') | |
echo $REQ | |
done | |
if [[ "$REQ" == "DestinationPortUnreachable" ]]; then | |
#se o ip não responder mostra offline! | |
#echo "OFFLINE" | |
SEG=false | |
else | |
#se o ip responder o ping mostra online | |
#echo "online!" | |
SEG=true | |
fi | |
} | |
export -f NETWORING_CHECK | |
#********************************************************************************************************************************# | |
#======================================================WARSAW_CHECK==============================================================# | |
# $1 - A distribuição do do usuário # | |
# WARSAW - Status do Warsaw na máquina, verifica se está started ou não. # | |
#================================================================================================================================# | |
#VERIFICAR SE O WARSAW ESTA INSTALADO | |
function WARSAW_CHECK() { | |
DISTRO_CHECK DIST | |
BIN_DIR=/usr/local/bin/warsaw/ | |
CORE_FILE=core | |
WARSAW=false | |
if [ -e "$BIN_DIR$CORE_FILE" ] ; then | |
#WARSAW=true | |
if [[ "$DIST" == "Ubuntu" ]] || [[ "$DIST" == "Mint" ]]; then | |
dpkg -l warsaw >> /dev/null | |
if [ "$?" = 0 ]; then | |
WARSAW=true | |
fi | |
elif [[ "$DIST" == "Fedora" ]] || [[ "$DIST" == "openSUSE" ]]; then | |
$(rpm -qa | grep warsaw >> /dev/null) | |
if [[ "$?" = 0 ]]; then | |
WARSAW=true | |
fi | |
fi | |
fi | |
} | |
export -f WARSAW_CHECK | |
#********************************************************************************************************************************# | |
#======================================================BROWSER_CHECK=============================================================# | |
# Verifica navegadores abertos e solicita ao usuario para fehcar todos os browsers # | |
#================================================================================================================================# | |
#VERIFICAR SE O WARSAW ESTA INSTALADO | |
function BROWSER_CHECK() { | |
FFOUT_PID=`ps -ef|grep firefox|grep -v grep` | |
FFOUT_PID=($?) | |
CHOUT_PID=`ps -ef|grep chrome|grep -v grep` | |
CHOUT_PID=($?) | |
OPOUT_PID=`ps -ef|grep opera|grep -v grep` | |
OPOUT_PID=($?) | |
NAVEGADORES_FECHADOS=false | |
if [[ $FFOUT_PID -eq 0 ]] || [[ $CHOUT_PID -eq 0 ]] || [[ $OPOUT_PID -eq 0 ]]; then | |
yad --text "É necessário encerrar todos navegadores. Deseja continuar?" --width=300 --center --undecorated \ | |
--text-align=center --on-top --buttons-layout=center | |
if [[ $? -eq 0 ]]; then | |
usuario=`whoami` | |
if [[ "$usuario" == "root" ]]; then | |
if [[ $FFOUT_PID -eq 0 ]]; then | |
killall firefox | |
fi | |
if [[ $CHOUT_PID -eq 0 ]]; then | |
killall chrome | |
fi | |
if [[ $OPOUT_PID -eq 0 ]]; then | |
killall opera | |
fi | |
else | |
SENHA_CHECK SENHA | |
if [[ $FFOUT_PID -eq 0 ]]; then | |
echo $SENHA | sudo -S killall firefox | |
fi | |
if [[ $CHOUT_PID -eq 0 ]]; then | |
echo $SENHA | sudo -S killall chrome | |
fi | |
if [[ $OPOUT_PID -eq 0 ]]; then | |
echo $SENHA | sudo -S killall opera | |
fi | |
fi | |
NAVEGADORES_FECHADOS=true | |
sleep 3 | |
fi | |
else | |
NAVEGADORES_FECHADOS=true | |
fi | |
} | |
export -f BROWSER_CHECK | |
#********************************************************************************************************************************# | |
#=======================================================SOCKET_ON================================================================# | |
#CHECAR O SOCKET | |
function SOCKET_ON() { | |
ws30900=`( echo open 127.0.0.1 30900 | |
exit | |
) | telnet` | |
echo "$ws30900" | grep "Escape character" &>> /dev/null | |
if [[ "$?" == 0 ]]; then | |
WEBSOCKET=true | |
else | |
WEBSOCKET=false | |
fi | |
#fs30800=`( echo open 127.0.0.1 30800 | |
# exit | |
# ) | telnet` | |
#echo "$fs30800" | grep "Escape character" &>> /dev/null | |
#if [ "$?" == 0 ]; then | |
# FLASHSOCKET=true | |
#else | |
# FLASHSOCKET=false | |
#fi | |
} | |
export -f SOCKET_ON | |
#********************************************************************************************************************************# | |
#======================================================PERMS_CHECK===============================================================# | |
#CHECAR PERMISSOES | |
function PERMS_CHECK() { | |
in_perm=$(stat -c "%a %n" /usr/local/bin/warsaw/core) | |
aux_perm=($in_perm) | |
out_perm=${aux_perm[0]} | |
if [[ "${out_perm}" -ge "755" ]]; then | |
#echo ${out_perm:6} | |
CORE_FOLDER=true | |
else | |
CORE_FOLDER=false | |
fi | |
in_perm=$(stat -c "%a %n" /etc/xdg/autostart/warsaw.desktop) | |
aux_perm=($in_perm) | |
out_perm=${aux_perm[0]} | |
if [[ "${out_perm}" -ge "755" ]]; then | |
#echo ${out_perm:6} | |
WARSAW_DESKTOP=true | |
else | |
WARSAW_DESKTOP=false | |
fi | |
in_perm=$(stat -c "%a %n" /usr/local/lib/warsaw/ld-linux-x86-64.so.2) | |
aux_perm=($in_perm) | |
out_perm=${aux_perm[0]} | |
if [[ "${out_perm}" -ge "755" ]]; then | |
#echo ${out_perm:6} | |
LD_LINUX_64=true | |
LD_LINUX=true | |
else | |
LD_LINUX_64=false | |
LD_LINUX=false | |
fi | |
if [[ $LD_LINUX_64 = "false" ]]; then | |
in_perm=$(stat -c "%a %n" /usr/local/lib/warsaw/ld-linux.so.2) | |
aux_perm=($in_perm) | |
out_perm=${aux_perm[0]} | |
if [[ "${out_perm}" -ge "755" ]]; then | |
#echo ${out_perm:6} | |
LD_LINUX_64=true | |
LD_LINUX=true | |
else | |
LD_LINUX_64=false | |
LD_LINUX=false | |
fi | |
fi | |
#in_perm=$(ls -ld /usr/local/bin/warsaw/uninstall_core) | |
#aux_perm=($in_perm) | |
#out_perm=${aux_perm[0]} | |
#if [ "${out_perm:6}" == "xr-x" ]; then | |
# echo ${out_perm:6} | |
UNINSTALL_CORE=true | |
#else | |
# UNINSTALL_CORE=false | |
#fi | |
in_perm=$(stat -c "%a %n" /etc/init.d/warsaw) | |
aux_perm=($in_perm) | |
out_perm=${aux_perm[0]} | |
if [[ "${out_perm}" -ge "744" ]]; then | |
#echo ${out_perm} | |
INIT_WARSAW=true | |
else | |
INIT_WARSAW=false | |
fi | |
in_perm=$(stat -c "%a %n" /usr/local/etc/warsaw/local.cfg) | |
aux_perm=($in_perm) | |
out_perm=${aux_perm[0]} | |
if [[ "${out_perm}" -ge "666" ]]; then | |
#echo ${out_perm:6} | |
LOCAL_CFG=true | |
else | |
LOCAL_CFG=false | |
fi | |
#print "1CORE_FOLDER" $CORE_FOLDER | |
#print "1WARSAW_DESKTOP" $WARSAW_DESKTOP | |
#print "1LD_LINUX_64" $LD_LINUX_64 | |
#print "1LD_LINUX" $LD_LINUX | |
#print "1UNINSTALL_CORE" $UNINSTALL_CORE | |
#print "1INIT_WARSAW" $INIT_WARSAW | |
#print "1LOCAL_CFG" $LOCAL_CFG | |
} | |
export -f PERMS_CHECK | |
#********************************************************************************************************************************# | |
#======================================================PERMS_VALID===============================================================# | |
#MUDAR PERMISSOES DAS PASTAS | |
function PERMS_VALID() { | |
usuario=`whoami` | |
if [[ "$usuario" == "root" ]]; then | |
chmod +x /usr/local/bin/warsaw/core | |
chmod +x /etc/xdg/autostart/warsaw.desktop | |
if [[ -f /usr/local/lib/warsaw/ld-linux-x86-64.so.2 ]] ; then | |
chmod +x /usr/local/lib/warsaw/ld-linux-x86-64.so.2 | |
else | |
if [[ -f /usr/local/lib/warsaw/ld-linux.so.2 ]] ; then | |
chmod +x /usr/local/lib/warsaw/ld-linux.so.2 | |
fi | |
fi | |
#[ -f /usr/local/bin/warsaw/uninstall_core ] && chmod 0744 /usr/local/bin/warsaw/uninstall_core | |
chmod 0744 /etc/init.d/warsaw | |
chmod 0666 /usr/local/etc/warsaw/local.cfg | |
else | |
SENHA_CHECK SENHA | |
echo $SENHA | sudo -S chmod +x /usr/local/bin/warsaw/core | |
echo $SENHA | sudo -S chmod +x /etc/xdg/autostart/warsaw.desktop | |
if [[ -f /usr/local/lib/warsaw/ld-linux-x86-64.so.2 ]] ; then | |
echo $SENHA | sudo -S chmod +x /usr/local/lib/warsaw/ld-linux-x86-64.so.2 | |
else | |
if [[ -f /usr/local/lib/warsaw/ld-linux.so.2 ]] ; then | |
echo $SENHA | sudo -S chmod +x /usr/local/lib/warsaw/ld-linux.so.2 | |
fi | |
fi | |
#[ -f /usr/local/bin/warsaw/uninstall_core ] && chmod 0744 /usr/local/bin/warsaw/uninstall_core | |
echo $SENHA | sudo -S chmod 0744 /etc/init.d/warsaw | |
echo $SENHA | sudo -S chmod 0666 /usr/local/etc/warsaw/local.cfg | |
fi | |
notify-send "Arquivos Permissionados" | |
} | |
export -f PERMS_VALID | |
#********************************************************************************************************************************# | |
#====================================================LIB_WARSAW_CHECK============================================================# | |
#CHECAR SE O COMPUTADOR POSSUI AS LIBS NESCESSARIAS | |
function LIB_WARSAW_CHECK() { | |
DISTRO_CHECK DIST_BITS | |
if [[ "$DIST_BITS" == "Ubuntu_x86_64" ]] || [[ "$DIST_BITS" == "Ubuntu_x86_32" ]] || [[ "$DIST_BITS" == "Mint_x86_64" ]] || [[ "$DIST_BITS" == "Mint_x86_32" ]]; then | |
DEPENDS="openssl libnss3-tools libcurl3" | |
dpkg -l $DEPENDS &>> /dev/null | |
if [ "$?" = 0 ]; then | |
CHAVELIBNSS3=true | |
else | |
CHAVELIBNSS3=false | |
fi | |
elif [[ "$DIST_BITS" == "Fedora_x86_64" ]] || [[ "$DIST_BITS" == "Fedora_x86_32" ]]; then | |
(rpm -qa | grep nss-tools && rpm -qa | grep libcurl) &>> /dev/null | |
if [ "$?" = 0 ]; then | |
CHAVELIBNSS3=true | |
else | |
CHAVELIBNSS3=false | |
fi | |
elif [[ "$DIST_BITS" == "openSUSE_x86_64" ]] || [[ "$DIST_BITS" == "openSUSE_x86_32" ]]; then | |
DEPENDS="mozilla-nss-tools" | |
rpm -qa | grep $DEPENDS >> /dev/null | |
if [[ "$?" = 0 ]]; then | |
CHAVELIBNSS3=true | |
else | |
CHAVELIBNSS3=false | |
fi | |
fi | |
} | |
export -f LIB_WARSAW_CHECK | |
#********************************************************************************************************************************# | |
#===================================================LIB_WARSAW_INSTALL===========================================================# | |
#INSTALAR AS LIBS QUE FALTAM NO SISTEMA | |
function LIB_WARSAW_INSTALL() { | |
RELOAD_GUI "DIAG_LIB_CLOSE" | |
RELOAD_GUI "DIAG_CLOSE" | |
DISTRO_CHECK DIST BITS | |
usuario=`whoami` | |
if [[ "$usuario" == "root" ]]; then | |
if [[ "$DIST" == "Ubuntu" ]] || [[ "$DIST" == "Mint" ]]; then | |
apt-get install -y openssl dbus libdbus-1-3 libdbus-1-dev libnss3-tools libcurl3 libssl-dev libssl1.0.0 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
elif [[ "$DIST" == "Fedora" ]]; then | |
dnf install -y openssl openssl openssl-libs openssl-devel nss-tools libcurl dbus-libs dbus-devel 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
elif [[ "$DIST" == "openSUSE" ]]; then | |
zypper install -y openssl mozilla-nss-tools libcurl-devel libcurl4 dbus-1 dbus-1-devel libdbus-1-3 libopenssl-devel libopenssl1_0_0 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
fi | |
else | |
SENHA_CHECK SENHA | |
if [[ "$DIST" == "Ubuntu" ]] || [[ "$DIST" == "Mint" ]]; then | |
echo $SENHA | sudo -S apt-get install -y openssl dbus libdbus-1-3 libdbus-1-dev libnss3-tools libcurl3 libssl-dev libssl1.0.0 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
elif [[ "$DIST" == "Fedora" ]]; then | |
echo $SENHA | sudo -S dnf install -y openssl openssl-libs openssl-devel nss-tools libcurl dbus-libs dbus-devel 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
elif [[ "$DIST" == "openSUSE" ]]; then | |
echo $SENHA | sudo -S zypper install -y openssl mozilla-nss-tools libcurl-devel libcurl4 dbus-1 dbus-1-devel libdbus-1-3 libopenssl-devel libopenssl1_0_0 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
fi | |
fi | |
RELOAD_GUI "DIAG_OPEN" | |
notify-send "Dependencias Instaladas" | |
} | |
export -f LIB_WARSAW_INSTALL | |
#********************************************************************************************************************************# | |
#CHECAR SE ESTA SENDO EXECUTADO COMO ROOT | |
function ROOT_CHECK() { | |
while read LINHA; do | |
if [[ $LINHA == "ROOT: true" ]]; then | |
ROOT=true | |
elif [[ $LINHA == "ROOT: false" ]]; then | |
ROOT=false | |
fi | |
done < /tmp/HDA.tmp | |
if [[ $ROOT == false ]]; then | |
usuario=`whoami` | |
if [[ "$usuario" == "root" ]]; then | |
ROOT=true | |
echo $(sed -i 's/ROOT: false/ROOT: true/' /tmp/HDA.tmp) | |
else | |
ROOT=false | |
echo $(sed -i 's/ROOT: true/ROOT: false/' /tmp/HDA.tmp) | |
fi | |
fi | |
} | |
export -f ROOT_CHECK | |
#********************************************************************************************************************************# | |
#=======================================================ROOT_LOGIN===============================================================# | |
#LOGAR COMO ROOT | |
function ROOT_LOGIN() { | |
DISTRO_CHECK DIST BITS DIST_BITS | |
GUI=$1 | |
SECTION=$2 | |
OPEN=$3 | |
while read LINHA; do | |
if [[ $LINHA == "ROOT: true" ]]; then | |
ROOT=true | |
elif [[ $LINHA == "ROOT: false" ]]; then | |
ROOT=false | |
fi | |
done < /tmp/HDA.tmp | |
if [[ $ROOT == false ]]; then | |
if [[ $DIST == "openSUSE" ]];then | |
SENHA_CHECK="false" | |
while [[ $SENHA_CHECK == "false" ]]; do | |
senha=$(kdialog --password "A ação solicitada precisa de <b>prívilegios de superusuário</b>. Digite abaixo a senha do <b>superusuário (root)</b>:" --title "Executar como root"); | |
if [ "$?" == 1 ]; then | |
exit | |
echo $(rm /tmp/HDA.tmp) | |
fi | |
echo $senha | sudo -S su root /dev/null | |
if [ "$?" == 0 ]; then | |
SENHA_CHECK="true" | |
#echo $(chmod 777 /tmp/HDA.tmp) | |
elif [ "$?" == 1 ]; then | |
kdialog --error "Senha incorreta"; | |
SENHA_CHECK="false" | |
else | |
kdialog --error "Senha incorreta"; | |
SENHA_CHECK="false" | |
fi | |
done | |
else | |
while true | |
do | |
# Pega a senha do login gráfico | |
resp=$(yad --form --columns="1" \ | |
--on-top \ | |
--center --image="$LOCAL/IMG/DIG/user.png" \ | |
--undecorated \ | |
--text="Digite a senha de superusuário:" \ | |
--field="":H "" \ | |
--button="gtk-ok":0) | |
senha=$(echo "$resp" | cut -f1 -d'|') | |
# Passa a senha | |
echo $senha | sudo -S -u root yad --image="gtk-dialog-info" --undecorated --info --center --on-top --button="gtk-ok":0 --text "<b>Senha Correta </b>" 1 2>/dev/null && break | |
yad --form \ | |
--on-top \ | |
--text '<b>Senha Incorreta.\nTentar novamente?</b>' \ | |
--undecorated \ | |
--center \ | |
--question \ | |
--image="gtk-dialog-error" \ | |
--button="gtk-cancel":1 \ | |
--button="gtk-ok":0 | |
# Sair se pressionou cancelar. | |
(( $? )) && exit | |
done | |
fi | |
ROOT=true | |
echo $(sed -i 's/ROOTPW: false/ROOTPW: '$senha'/' /tmp/HDA.tmp) | |
echo $(sed -i 's/ROOT: false/ROOT: true/' /tmp/HDA.tmp) | |
if [[ $GUI == true ]]; then | |
RELOAD_GUI $SECTION $OPEN | |
fi | |
fi | |
} | |
export -f ROOT_LOGIN | |
#********************************************************************************************************************************# | |
#=======================================================SENHA_CHECK==============================================================# | |
function SENHA_CHECK() { | |
while read LINHA; do | |
OP=($LINHA) | |
if [[ ${OP[0]} == "ROOTPW:" ]]; then | |
if [[ ${OP[0]} != "ROOTPW: false" ]]; then | |
SENHA=${OP[1]} | |
fi | |
fi | |
done < /tmp/HDA.tmp | |
} | |
export -f SENHA_CHECK | |
#********************************************************************************************************************************# | |
#=====================================================DOWNLOAD_WARSAW============================================================# | |
#DOWNLOAD DO PACOTE DEB OU RPM, DE ACORDO COM A DISTRIBUIÇÃO. | |
function DOWNLOAD_WARSAW() { | |
#URL | |
URL_WARSAW32_DEB=https://cloud.gastecnologia.com.br/bb/downloads/ws/warsaw_setup.deb | |
URL_WARSAW64_DEB=https://cloud.gastecnologia.com.br/bb/downloads/ws/warsaw_setup64.deb | |
URL_WARSAW32_RPM=https://cloud.gastecnologia.com.br/bb/downloads/ws/warsaw_setup.rpm | |
URL_WARSAW64_RPM=https://cloud.gastecnologia.com.br/bb/downloads/ws/warsaw_setup64.rpm | |
DISTRO_CHECK DIST BITS | |
#UBUNTU OU MINT (DEB) | |
if [[ "$DIST" == "Ubuntu" ]] || [[ "$DIST" == "Mint" ]]; then | |
#FAZER DOWNLOAD DA VERSÃO DE 64 BITS | |
if [[ "$BITS" == x86_64 ]]; then | |
wget $URL_WARSAW64_DEB -O /tmp/warsaw_setup64.deb 2>&1 | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9.]\+.\) \(.*\)/\1\n# Velocidade: \2\/s : \3/' | yad --progress --auto-close --no-buttons --undecorated --width 300 --center --on-top | |
#FAZER DOWNLOAD DA VERSÃO DE 32 BITS | |
elif [[ "$BITS" == x86_32 ]]; then | |
wget $URL_WARSAW32_DEB -O /tmp/warsaw_setup.deb 2>&1 | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9.]\+.\) \(.*\)/\1\n# Velocidade: \2\/s : \3/' | yad --progress --auto-close --no-buttons --undecorated --width 300 --center --on-top | |
fi | |
#FEDORA OU OPENSUSE (RPM) | |
elif [[ "$DIST" == "Fedora" ]] || [[ "$DIST" == "openSUSE" ]]; then | |
#FAZER DOWNLOAD DA VERSÃO DE 64 BITS | |
if [[ "$BITS" == x86_64 ]]; then | |
wget $URL_WARSAW64_RPM -O /tmp/warsaw_setup64.rpm 2>&1 | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9.]\+.\) \(.*\)/\1\n# Velocidade: \2\/s : \3/' | yad --progress --auto-close --no-buttons --undecorated --width 300 --center --on-top | |
elif [[ "$BITS" == x86_32 ]]; then | |
wget $URL_WARSAW32_RPM -O /tmp/warsaw_setup.rpm 2>&1 | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9.]\+.\) \(.*\)/\1\n# Velocidade: \2\/s : \3/' | yad --progress --auto-close --no-buttons --undecorated --width 300 --center --on-top | |
fi | |
fi | |
} | |
export -f DOWNLOAD_WARSAW | |
#********************************************************************************************************************************# | |
#======================================================INSTALL_WARSAW============================================================# | |
#DETECTAR AUTOMATICAMENTE, OU SER ESCOLHIDO PELO USUÁRIO A IDENTIFICAÇÃO DE DISTRIBUIÇÃO E ARQUITETURA QUE WARSAW SERÁ INSTALADO. | |
function INSTALL_WARSAW() { | |
RELOAD_GUI "DIAG_INST_CLOSE" | |
TMP_WARSAW=/tmp | |
BROWSER_CHECK NAVEGADORES_FECHADOS | |
if [[ $NAVEGADORES_FECHADOS == true ]]; then | |
DISTRO_CHECK DIST BITS | |
DOWNLOAD_WARSAW | |
#echo $(SAIR_GUI Distro) #remover | |
usuario=`whoami` | |
if [[ "$usuario" == "root" ]]; then | |
if [[ $DIST == "Ubuntu" ]] || [[ $DIST == "Mint" ]]; then | |
if [[ "$BITS" == x86_64 ]]; then | |
dpkg -i $TMP_WARSAW/warsaw_setup64.deb 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
elif [[ "$BITS" == x86_32 ]]; then | |
dpkg -i $TMP_WARSAW/warsaw_setup.deb 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
fi | |
elif [[ $DIST == "Fedora" ]]; then | |
if [[ "$BITS" == x86_64 ]]; then | |
rpm -i $TMP_WARSAW/warsaw_setup64.rpm --nodeps --replacefiles 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
elif [[ "$BITS" == x86_32 ]]; then | |
rpm -i $TMP_WARSAW/warsaw_setup.rpm --nodeps --replacefiles 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
fi | |
elif [[ $DIST == "openSUSE" ]]; then | |
if [[ "$BITS" == x86_64 ]]; then | |
rpm -i $TMP_WARSAW/warsaw_setup64.rpm 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
elif [[ "$BITS" == x86_32 ]]; then | |
rpm -i $TMP_WARSAW/warsaw_setup.rpm 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
fi | |
fi | |
else | |
SENHA_CHECK SENHA | |
if [[ $DIST == "Ubuntu" ]] || [[ $DIST == "Mint" ]]; then | |
if [[ "$BITS" == x86_64 ]]; then | |
echo $SENHA | sudo -S dpkg -i $TMP_WARSAW/warsaw_setup64.deb 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
elif [[ "$BITS" == x86_32 ]]; then | |
echo $SENHA | sudo -S dpkg -i $TMP_WARSAW/warsaw_setup.deb 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
fi | |
elif [[ $DIST == "Fedora" ]]; then | |
if [[ "$BITS" == x86_64 ]]; then | |
echo $SENHA | sudo -S rpm -i $TMP_WARSAW/warsaw_setup64.rpm --nodeps --replacefiles 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
elif [[ "$BITS" == x86_32 ]]; then | |
echo $SENHA | sudo -S rpm -i $TMP_WARSAW/warsaw_setup.rpm --nodeps --replacefiles 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
fi | |
elif [[ $DIST == "openSUSE" ]]; then | |
if [[ "$BITS" == x86_64 ]]; then | |
echo $SENHA | sudo -S rpm -i $TMP_WARSAW/warsaw_setup64.rpm 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
elif [[ "$BITS" == x86_32 ]]; then | |
echo $SENHA | sudo -S rpm -i $TMP_WARSAW/warsaw_setup.rpm 2>&1 | yad --progress --pulstate --progress-text "Por favor, aguarde a instalação..." --auto-close --width=300 --center --undecorated --no-buttons --text-align=center --on-top | |
fi | |
fi | |
fi | |
notify-send "Componente de Segurança Instalado" | |
echo $(SAIR_GUI Distro) | |
fi | |
} | |
export -f INSTALL_WARSAW | |
#********************************************************************************************************************************# | |
#======================================================REMOVE_WARSAW=============================================================# | |
#DETECTAR AUTOMATICAMENTE, OU SER ESCOLHIDO PELO USUÁRIO A IDENTIFICAÇÃO DE DISTRIBUIÇÃO E ARQUITETURA QUE WARSAW SERÁ INSTALADO. | |
function REMOVE_WARSAW() { | |
BROWSER_CHECK NAVEGADORES_FECHADOS | |
if [[ $NAVEGADORES_FECHADOS == true ]]; then | |
DISTRO_CHECK DIST | |
usuario=`whoami` | |
if [[ "$usuario" == "root" ]]; then | |
if [[ "$DIST" == "Ubuntu" ]] || [[ "$DIST" == "Mint" ]]; then | |
dpkg --purge --force-all warsaw 2>&1 | yad --progress --pulstate --title="Instalando" --progress-text "Por favor, aguarde a desinstalação..." --width=300 --center --undecorated --no-buttons --text-align=center --on-top --auto-close | |
apt-get --force-yes remove -y warsaw 2>&1 | yad --progress --pulstate --title="Instalando" --progress-text "Por favor, aguarde a desinstalação..." --width=300 --center --undecorated --no-buttons --text-align=center --on-top --auto-close | |
elif [[ "$DIST" == "Fedora" ]]; then | |
dnf remove -y warsaw 2>&1 | yad --progress --pulstate --title="Instalando" --progress-text "Por favor, aguarde a desinstalação..." --width=300 --center --undecorated --no-buttons --text-align=center --on-top --auto-close | |
elif [[ "$DIST" == "openSUSE" ]]; then | |
zypper remove -y warsaw 2>&1 | yad --progress --pulstate --title="Instalando" --progress-text "Por favor, aguarde a desinstalação..." --width=300 --center --undecorated --no-buttons --text-align=center --on-top --auto-close | |
fi | |
else | |
SENHA_CHECK SENHA | |
if [[ "$DIST" == "Ubuntu" ]] || [[ "$DIST" == "Mint" ]]; then | |
echo $SENHA | sudo -S dpkg --purge --force-all warsaw 2>&1 | yad --progress --pulstate --title="Instalando" --progress-text "Por favor, aguarde a desinstalação..." --width=300 --center --undecorated --no-buttons --text-align=center --on-top --auto-close | |
echo $SENHA | sudo -S apt-get --force-yes remove -y warsaw 2>&1 | yad --progress --pulstate --title="Instalando" --progress-text "Por favor, aguarde a desinstalação..." --width=300 --center --undecorated --no-buttons --text-align=center --on-top --auto-close | |
elif [[ "$DIST" == "Fedora" ]]; then | |
echo $SENHA | sudo -S dnf remove -y warsaw 2>&1 | yad --progress --pulstate --title="Instalando" --progress-text "Por favor, aguarde a desinstalação..." --width=300 --center --undecorated --no-buttons --text-align=center --on-top --auto-close | |
elif [[ "$DIST" == "openSUSE" ]]; then | |
echo $SENHA | sudo -S zypper remove -y warsaw 2>&1 | yad --progress --pulstate --title="Instalando" --progress-text "Por favor, aguarde a desinstalação..." --width=300 --center --undecorated --no-buttons --text-align=center --on-top --auto-close | |
fi | |
fi | |
notify-send "Componente de Segurança Removido" | |
fi | |
} | |
export -f REMOVE_WARSAW | |
#********************************************************************************************************************************# | |
#====================================================DIAGNOSTICO_CHECK===========================================================# | |
function DIAGNOSTICO_CHECK() { | |
#CHAMAR FUNCÕES QUE CHECAM PARAMETROS DE FUNCIONAMENTO | |
WARSAW_CHECK WARSAW | |
ROOT_CHECK ROOT | |
LIB_WARSAW_CHECK $1 CHAVELIBNSS3 | |
SOCKET_ON WEBSOCKET | |
NETWORING_CHECK NET SEG | |
PERMS_CHECK CORE_FOLDER WARSAW_DESKTOP LD_LINUX_64 LD_LINUX UNINSTALL_CORE INIT_WARSAW LOCAL_CFG | |
#SETAGEM DAS VARIAVES DE ACORDO COM A CHECAGEM DO FUNCIONAMENTO | |
#WARSAW INSTALADO | |
if [[ $WARSAW == true ]]; then | |
warsaw_fig="tick.png" | |
#-----------------------------PERMS------------------------------# | |
#DIRETORIOS COM PERMISSOES CORRETAS | |
#print "CORE_FOLDER" $CORE_FOLDER | |
#print "WARSAW_DESKTOP" $WARSAW_DESKTOP | |
#print "LD_LINUX_64" $LD_LINUX_64 | |
#print "LD_LINUX" $LD_LINUX | |
#print "UNINSTALL_CORE" $UNINSTALL_CORE | |
#print "INIT_WARSAW" $INIT_WARSAW | |
#print "LOCAL_CFG" $LOCAL_CFG | |
if [[ $CORE_FOLDER == true ]] && [[ $WARSAW_DESKTOP == true ]] && [[ $LD_LINUX_64 == true ]] && [[ $LD_LINUX == true ]] && [[ $UNINSTALL_CORE == true ]] && [[ $INIT_WARSAW == true ]] && [[ $LOCAL_CFG == true ]]; then | |
folder_fig="tick.png" | |
else | |
folder_fig="close.png" | |
fi | |
#-----------------------------SOCKET-----------------------------# | |
#if [ "$WEBSOCKET" == true ] && [ "$FLASHSOCKET" == true ]; then | |
if [[ "$WEBSOCKET" == true ]]; then | |
socket_fig="tick.png" | |
else | |
socket_fig="close.png" | |
fi | |
else | |
warsaw_fig="close.png" | |
folder_fig="caution-63.png" | |
socket_fig="caution-63.png" | |
fi | |
#DISTRIBUIÇÃO LINUX OFICIALMENTE SUPORTADA | |
if [[ -z $1 ]]; then | |
dist_fig="close.png" | |
else | |
dist_fig="tick.png" | |
fi | |
#LOGADO COMO ROOT | |
if [[ $ROOT == true ]]; then | |
root_fig="tick.png" | |
else | |
root_fig="close.png" | |
fi | |
#DEPENDENCIAS SATISFEITAS | |
if [[ $CHAVELIBNSS3 == true ]]; then | |
lib_fig="tick.png" | |
else | |
lib_fig="close.png" | |
fi | |
#INTERNET | |
if [[ $NET == true ]] && [[ $SEG == true ]]; then | |
net_fig="tick.png" | |
else | |
net_fig="close.png" | |
fi | |
#INTERNET | |
if [[ $SEG == true ]]; then | |
seg_fig="tick.png" | |
else | |
seg_fig="close.png" | |
fi | |
} | |
export -f DIAGNOSTICO_CHECK | |
#********************************************************************************************************************************# | |
#========================================================AUTO_DIAG===============================================================# | |
function AUTO_DIAG() { | |
if [[ $1 == true ]];then | |
ROOT_LOGIN | |
fi | |
if [[ $2 == true ]];then | |
INSTALL_WARSAW | |
fi | |
if [[ $3 == true ]];then | |
LIB_WARSAW_INSTALL | |
fi | |
if [[ $4 == true ]];then | |
PERMS_CHECK | |
fi | |
} | |
export -f AUTO_DIAG | |
#********************************************************************************************************************************# | |
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# | |
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# | |
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@# | |
#####################################################INTERFACE GRAFICA############################################################ | |
# RELOAD_GUI - # | |
# INSTALL_GUI - # | |
# PROXY_GUI - # | |
# DIAGNOSTICO_GUI - # | |
# DIAGNOSTICO_SUB_GUI - # | |
# AJUDA_GUI - # | |
# SAIR_GUI - # | |
# MAIN - # | |
################################################################################################################################## | |
#=========================================================RELOAD_GUI=============================================================# | |
function RELOAD_GUI() { | |
SECTION=$1 | |
OPEN=$2 | |
case $SECTION in | |
#JANELA PRINCIPAL | |
"MAIN") | |
#CHECAR APLICATIVOS ABERTO PARA FECHAR NA SAIDA DO MAIN | |
in_pid=$(ps aux|grep 'yad --form --undecorated --title=Segurança BB --no-buttons --geometry=+0+0 --columns=5') | |
out_pid=($in_pid) | |
kill ${out_pid[1]} | |
case $OPEN in | |
"INST") | |
bash -c MAIN & bash -c INSTALL_GUI | |
;; | |
"REMO") | |
bash -c MAIN & bash -c REMOVE_WARSAW | |
;; | |
"DIAG") | |
bash -c MAIN & bash -c DISTRO_CHECK DIST_BITS & bash -c DIAGNOSTICO_GUI $DIST_BITS | |
;; | |
*) | |
bash -c MAIN | |
;; | |
esac | |
;; | |
"DIAG_INST_CLOSE") | |
#Fechar Janela de instalacao do Modulo (onde aparecem as distro) | |
IN_PID=$(ps aux|grep 'yad --form --undecorated --title=Instalação') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
;; | |
"DIAG_OPEN") | |
#Abrir Janela do Diagnostico | |
bash -c DISTRO_CHECK DIST_BITS & bash -c DIAGNOSTICO_GUI $DIST_BITS | |
;; | |
"DIAG_CLOSE") | |
#Fechar Janela do Diagnostico | |
IN_PID=$(ps aux|grep 'yad --form --undecorated --title=Diagnóstico --window-icon='favicon.ico' --columns=3') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
;; | |
"DIAG_MOD_CLOSE") | |
#Fechar Janela do Modulo apos clique na falha no Diagnostico | |
IN_PID=$(ps aux|grep 'yad --form --title=Módulo de Segurança --columns=2') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
;; | |
"DIAG_LIB_CLOSE") | |
#Fechar Janela das Libs necessarias apos clique na falha no Diagnostico | |
IN_PID=$(ps aux|grep 'yad --form --title=Dependências --columns=2') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
;; | |
esac | |
} | |
export -f RELOAD_GUI | |
#********************************************************************************************************************************# | |
#========================================================INSTALL_GUI=============================================================# | |
function INSTALL_GUI() { | |
#LENDO O ARQUIVO HDA.tmp, PARA VERIFICAR SE INSTALL_GUI JÁ ESTÁ ABERTO | |
#TRUE ABERTO,FALSE FECHADO. | |
RELOAD_GUI "DIAG_MOD_CLOSE" | |
RELOAD_GUI "DIAG_CLOSE" | |
DISTRO_CHECK DIST_BITS | |
while read LINHA; do | |
if [[ $LINHA == "INSTALL_GUI: true" ]]; then | |
echo $LINHA | |
INSTALL_GUI=true | |
elif [[ $LINHA == "INSTALL_GUI: false" ]]; then | |
echo $LINHA | |
INSTALL_GUI=false | |
fi | |
done < /tmp/HDA.tmp | |
if [[ $INSTALL_GUI == false ]]; then | |
echo $(sed -i 's/INSTALL_GUI: false/INSTALL_GUI: true/' /tmp/HDA.tmp) | |
if [[ $DIST_BITS == "Ubuntu_x86_64" ]] || [[ $DIST_BITS == "Ubuntu_x86_32" ]]; then | |
fig="ubuntu.png" | |
elif [[ $DIST_BITS == "Mint_x86_64" ]] || [[ $DIST_BITS == "Mint_x86_32" ]]; then | |
fig="mint.png" | |
elif [[ $DIST_BITS == "Fedora_x86_64" ]] || [[ $DIST_BITS == "Fedora_x86_32" ]]; then | |
fig="fedora.png" | |
elif [[ $DIST_BITS == "openSUSE_x86_64" ]] || [[ $DIST_BITS == "openSUSE_x86_32" ]]; then | |
fig="opensuse.png" | |
fi | |
yad --form --undecorated --title="Instalação" --window-icon='favicon.ico' --columns="5" --center \ | |
--on-top \ | |
--text-align=center \ | |
--buttons-layout=center \ | |
--text "<big>Informe sua <b>Distribuição Linux</b></big>" \ | |
--field " ":LBL ' ' \ | |
--field "!$LOCAL/IMG/INSTALL/ubuntu.png! Ubuntu":BTN "bash -c 'INSTALL_WARSAW Ubuntu'" \ | |
--field=" Ubuntu":LBL ' '\ | |
--field=" ":LBL ' ' \ | |
--field "!$LOCAL/IMG/INSTALL/mint.png! Mint":BTN "bash -c 'INSTALL_WARSAW Mint'" \ | |
--field=" Mint":LBL ' ' \ | |
--field=" ":CB '64 Bits!32 Bits' \ | |
--field "!$LOCAL/IMG/INSTALL/fedora.png! Fedora":BTN "bash -c 'INSTALL_WARSAW Fedora'" \ | |
--field=" Fedora":LBL ' ' \ | |
--field=" ":LBL ' ' \ | |
--field "!$LOCAL/IMG/INSTALL/opensuse.png! openSUSE":BTN "bash -c 'INSTALL_WARSAW openSUSE'" \ | |
--field=" openSUSE":LBL ' ' \ | |
--field=" ":LBL ' ' \ | |
--field "!$LOCAL/IMG/INSTALL/$fig! Auto-Instalação":BTN "bash -c 'INSTALL_WARSAW Auto'" \ | |
--field=" Auto-Instalação \n <b>$DIST_BITS</b>":LBL ' ' \ | |
--button='gtk-ok':1 | |
fi | |
echo $(sed -i 's/INSTALL_GUI: true/INSTALL_GUI: false/' /tmp/HDA.tmp) | |
} | |
export -f INSTALL_GUI | |
#********************************************************************************************************************************# | |
function PROXY_GUI() { | |
echo "PROXY_GUI: true" >> $HDA_TMP | |
yad --form --center \ | |
--columns="2" \ | |
--undecorated \ | |
--title="Configurar Conexão" \ | |
--image="accessories-text-editor" \ | |
--field="HTTP:" "$HTTP" \ | |
--field="Login:" "$USER" \ | |
--field="Senha:":H "123456"\ | |
--field="Porta:" "$PORT_HTTP" \ | |
--field="Autenticar":CHK FALSE | |
} | |
export -f PROXY_GUI | |
#=======================================================DIAGNOSTICO_GUI==========================================================# | |
#CHECAR A INSTALAÇÃO E CONFIGURAÇÃO DO WARSAW | |
function DIAGNOSTICO_GUI() { | |
while read LINHA; do | |
if [[ $LINHA == "DIAGNOSTICO_GUI: true" ]]; then | |
echo $LINHA | |
DIAGNOSTICO_GUI=true | |
elif [[ $LINHA == "DIAGNOSTICO_GUI: false" ]]; then | |
echo $LINHA | |
DIAGNOSTICO_GUI=false | |
fi | |
done < /tmp/HDA.tmp | |
if [[ $DIAGNOSTICO_GUI == false ]]; then | |
echo $(sed -i 's/DIAGNOSTICO_GUI: false/DIAGNOSTICO_GUI: true/' /tmp/HDA.tmp) | |
#CHAMAR FUNCÕES QUE CHECAM PARAMETROS DE FUNCIONAMENTO | |
DIAGNOSTICO_CHECK $1 $2 warsaw_fig dist_fig socket_fig root_fig lib_fig folder_fig net_fig set_fig WARSAW ROOT CHAVELIBNSS3 WEBSOCKET CORE_FOLDER WARSAW_DESKTOP LD_LINUX_64 LD_LINUX UNINSTALL_CORE INIT_WARSAW LOCAL_CFG | |
#INTERFACE GRAFICA | |
if [[ $WARSAW == true ]] && [[ $ROOT == true ]] && [[ $CHAVELIBNSS3 == true ]] && [[ $WEBSOCKET == true ]] && [[ $CORE_FOLDER == true ]] && [[ $WARSAW_DESKTOP == true ]] && [[ $LD_LINUX_64 == true ]] && [[ $LD_LINUX == true ]] && [[ $UNINSTALL_CORE == true ]] && [[ $INIT_WARSAW == true ]] && [[ $LOCAL_CFG == true ]]; then | |
yad --form --undecorated --title="Diagnóstico" --window-icon='favicon.ico' --columns="3" --center \ | |
--buttons-layout=center \ | |
--text-align=center \ | |
--on-top \ | |
--text "<big><b>Diagnóstico</b></big>" \ | |
--field="!$LOCAL/IMG/DIG/modulo.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/distro_2.png!":BTN "" \ | |
--field "!$LOCAL/IMG/DIG/net.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/server.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/socket.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/user.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/libs_2.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/folder.png!":BTN "" \ | |
--field="Módulo":LBL ' ' \ | |
--field="Distribuição":LBL ' ' \ | |
--field="Conexão":LBL ' ' \ | |
--field="Servidor":LBL ' '\ | |
--field="Socket":LBL ' '\ | |
--field="Root":LBL ' ' \ | |
--field="Depedências":LBL ' ' \ | |
--field="Permissões":LBL ' ' \ | |
--field="!$LOCAL/IMG/DIG/$warsaw_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Modulo' " \ | |
--field="!$LOCAL/IMG/DIG/$dist_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Distro' " \ | |
--field="!$LOCAL/IMG/DIG/$net_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Conex' " \ | |
--field="!$LOCAL/IMG/DIG/$seg_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Server' " \ | |
--field="!$LOCAL/IMG/DIG/$socket_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Socket' " \ | |
--field="!$LOCAL/IMG/DIG/$root_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Root' " \ | |
--field="!$LOCAL/IMG/DIG/$lib_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Lib' " \ | |
--field="!$LOCAL/IMG/DIG/$folder_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Perm' " \ | |
--button='gtk-ok':1 | |
#echo $? | |
else | |
yad --form --undecorated --title="Diagnóstico" --window-icon='favicon.ico' --columns="3" --center \ | |
--buttons-layout=center \ | |
--text-align=center \ | |
--on-top \ | |
--text "<big><b>Diagnóstico</b></big>" \ | |
--field="!$LOCAL/IMG/DIG/modulo.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/distro_2.png!":BTN "" \ | |
--field "!$LOCAL/IMG/DIG/net.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/server.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/socket.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/user.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/libs_2.png!":BTN "" \ | |
--field="!$LOCAL/IMG/DIG/folder.png!":BTN "" \ | |
--field="Módulo":LBL ' ' \ | |
--field="Distribuição":LBL ' ' \ | |
--field="Conexão":LBL ' ' \ | |
--field="Servidor":LBL ' '\ | |
--field="Socket":LBL ' '\ | |
--field="Root":LBL ' ' \ | |
--field="Depedências":LBL ' ' \ | |
--field="Permissões":LBL ' ' \ | |
--field="!$LOCAL/IMG/DIG/$warsaw_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Modulo' " \ | |
--field="!$LOCAL/IMG/DIG/$dist_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Distro' " \ | |
--field="!$LOCAL/IMG/DIG/$net_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Conex' " \ | |
--field="!$LOCAL/IMG/DIG/$seg_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Server' " \ | |
--field="!$LOCAL/IMG/DIG/$socket_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Socket' " \ | |
--field="!$LOCAL/IMG/DIG/$root_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Root' " \ | |
--field="!$LOCAL/IMG/DIG/$lib_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Lib' " \ | |
--field="!$LOCAL/IMG/DIG/$folder_fig!":BTN "bash -c 'DIAGNOSTICO_SUB_GUI Perm' " \ | |
--button='gtk-ok':1 | |
#echo $? | |
fi | |
fi | |
echo $? | |
echo $(sed -i 's/DIAGNOSTICO_GUI: true/DIAGNOSTICO_GUI: false/' /tmp/HDA.tmp) | |
} | |
export -f DIAGNOSTICO_GUI | |
#********************************************************************************************************************************# | |
#=====================================================DIAGNOSTICO_SUB_GUI========================================================# | |
function DIAGNOSTICO_SUB_GUI() { | |
#CONDIÇÕES DE FUNCIONAMENTO PARA WARSAW | |
PR_01='Módulo de Segurança' | |
PR_02='Distribuição' | |
PR_03='Conexão' | |
PR_04='Servidor' | |
PR_04='Servidor' | |
PR_05='Socket' | |
PR_06='Root' | |
PR_07='Dependências' | |
PR_08='Permissões' | |
#STATUS DE FUNCIONAMENTO DAS CONDIÇÕES DE FUNCIONAMENTO | |
SL_01='OK' | |
SL_02='OK' | |
SL_03='OK' | |
SL_04='OK' | |
SL_05='OK' | |
SL_06='OK' | |
SL_07='OK' | |
SL_08='OK' | |
#VERIFICAR OS | |
DISTRO_CHECK DIST BITS DIST_BITS | |
#VERIFICAR MODULOS | |
DIAGNOSTICO_CHECK $DIST_BITS WARSAW ROOT CHAVELIBNSS3 WEBSOCKET CORE_FOLDER WARSAW_DESKTOP LD_LINUX_64 LD_LINUX UNINSTALL_CORE INIT_WARSAW LOCAL_CFG NET SEG | |
if [[ $WARSAW == false ]]; then | |
SL_01='Instalar' | |
fi | |
if [[ $DIST != "Ubuntu" ]] && [[ $DIST != "Mint" ]] && [[ $DIST != "Fedora" ]] && [[ $DIST != "openSUSE" ]]; then | |
SL_02='Instale o .run' | |
fi | |
if [[ $WEBSOCKET == false ]]; then | |
SL_05='Nada à fazer' | |
fi | |
if [[ $ROOT == false ]]; then | |
SL_06='Autenticar' | |
fi | |
if [[ $CHAVELIBNSS3 == false ]]; then | |
SL_07='Instalar' | |
fi | |
if [[ $CORE_FOLDER == false ]] || [[ $WARSAW_DESKTOP == false ]] || [[ $LD_LINUX_64 == false ]] || [[ $LD_LINUX == false ]] || [[ $UNINSTALL_CORE == false ]] || [[ $INIT_WARSAW == false ]] || [[ $LOCAL_CFG == false ]]; then | |
SL_08='Mudar permissões' | |
fi | |
while read LINHA; do | |
if [[ $LINHA == "DIAG_SUB_GUI_MODULO: false" ]]; then | |
MODULO=false | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_DISTRO: false" ]]; then | |
DISTRO=false | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_CONEX: false" ]]; then | |
CONEX=false | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_SERVER: false" ]]; then | |
SERVER=false | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_SOCKET: false" ]]; then | |
SOCKET=false | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_ROOT: false" ]]; then | |
WROOT=false | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_LIB: false" ]]; then | |
LIB=false | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_PERM: false" ]]; then | |
PERM=false | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_ALL: false" ]]; then | |
ALL=false | |
fi | |
done < /tmp/HDA.tmp | |
#$1 É REFERENTE A OPÇÃO DE MENU EM DIAGNOSTICO_GUI | |
case $1 in | |
"Modulo") | |
if [[ $MODULO == false ]]; then | |
echo $(sed -i 's/DIAG_SUB_GUI_MODULO: false/DIAG_SUB_GUI_MODULO: true/' /tmp/HDA.tmp) | |
if [[ $WARSAW != true ]]; then | |
yad --form --title="Módulo de Segurança" --columns="2" --image="$LOCAL/IMG/DIG/modulo.png" --undecorated --center \ | |
--buttons-layout=center --text-align=center --width=300 --align=center --on-top \ | |
--text "O modulo de segurança não está instalado.\n" \ | |
--field="<b>Instalar</b>":BTN "bash -c 'INSTALL_GUI $DIST_BITS'" \ | |
--button="gtk-ok":1 | |
fi | |
fi | |
echo $(sed -i 's/DIAG_SUB_GUI_MODULO: true/DIAG_SUB_GUI_MODULO: false/' /tmp/HDA.tmp) | |
;; | |
"Distro") | |
if [[ $DISTRO == false ]]; then | |
echo $(sed -i 's/DIAG_SUB_GUI_DISTRO: false/DIAG_SUB_GUI_DISTRO: true/' /tmp/HDA.tmp) | |
if [[ $DIST != "Ubuntu" ]] && [[ $DIST != "Mint" ]] && [[ $DIST != "Fedora" ]] && [[ $DIST != "openSUSE" ]]; then | |
yad --form --title="Distribuição" --columns="2" --undecorated --center \ | |
--buttons-layout=center --text-align=center --width=300 --align=center \ | |
--on-top \ | |
--text "<big><b></b></big>\n\nSua distribuição não é suportada!" \ | |
--button="gtk-ok":1 | |
fi | |
echo $(sed -i 's/DIAG_SUB_GUI_DISTRO: true/DIAG_SUB_GUI_DISTRO: false/' /tmp/HDA.tmp) | |
fi | |
;; | |
"Conex") | |
if [[ $CONEX == false ]]; then | |
echo $(sed -i 's/DIAG_SUB_GUI_CONEX: false/DIAG_SUB_GUI_CONEX: true/' /tmp/HDA.tmp) | |
if [[ $NET != true ]]; then | |
yad --form --title="Conexão" --undecorated --center --image="$LOCAL/IMG/DIG/net.png" \ | |
--buttons-layout=center --text-align=center --width=300 --align=center --on-top \ | |
--text "<big><b></b></big>\n\nInternet não encontrada.\n\nVerifique configurações de proxy do sistema." \ | |
--button="gtk-ok":1 | |
fi | |
echo $(sed -i 's/DIAG_SUB_GUI_CONEX: true/DIAG_SUB_GUI_CONEX: false/' /tmp/HDA.tmp) | |
fi | |
;; | |
"Server") | |
if [[ $SERVER == false ]]; then | |
echo $(sed -i 's/DIAG_SUB_GUI_SERVER: false/DIAG_SUB_GUI_SERVER: true/' /tmp/HDA.tmp) | |
if [[ $SEG != true ]]; then | |
yad --form --title="Server" --undecorated --center --image="$LOCAL/IMG/DIG/server.png" \ | |
--buttons-layout=center --text-align=center --width=300 --align=center \ | |
--on-top \ | |
--text "<big><b></b></big>\n\nServidor não encontrado.\n\nVerifique configurações de proxy do sistema." \ | |
--button="gtk-ok":1 | |
fi | |
echo $(sed -i 's/DIAG_SUB_GUI_SERVER: true/DIAG_SUB_GUI_SERVER: false/' /tmp/HDA.tmp) | |
fi | |
;; | |
"Socket") | |
if [[ $SOCKET == false ]]; then | |
echo $(sed -i 's/DIAG_SUB_GUI_SOCKET: false/DIAG_SUB_GUI_SOCKET: true/' /tmp/HDA.tmp) | |
if [[ $WARSAW == true ]]; then | |
if [[ $WEBSOCKET != true ]]; then | |
SL_05='Nada à fazer' | |
yad --form --title="Socket" --undecorated --center --image="$LOCAL/IMG/DIG/socket.png" \ | |
--buttons-layout=center --text-align=center --width=300 --align=center \ | |
--on-top \ | |
--text "\n\nNão foi possível conectar\nao Websocket.\n\nReinstale o componente!" \ | |
--button="gtk-ok":1 | |
fi | |
else | |
yad --form --title="Módulo de Segurança" --columns="2" --image="$LOCAL/IMG/DIG/modulo.png" --undecorated --center \ | |
--buttons-layout=center --text-align=center --width=300 --align=center --on-top \ | |
--text "O modulo de segurança não está instalado.\n" \ | |
--field="<b>Instalar</b>":BTN "bash -c 'INSTALL_GUI $DIST_BITS'" \ | |
--button="gtk-ok":1 | |
fi | |
echo $(sed -i 's/DIAG_SUB_GUI_SOCKET: true/DIAG_SUB_GUI_SOCKET: false/' /tmp/HDA.tmp) | |
fi | |
;; | |
"Root") | |
if [[ $WROOT == false ]]; then | |
echo "WROOT" $WROOT | |
echo $(sed -i 's/DIAG_SUB_GUI_ROOT: false/DIAG_SUB_GUI_ROOT: true/' /tmp/HDA.tmp) | |
if [[ $ROOT != true ]]; then | |
yad --form --title="Root" --columns="2" --image="$LOCAL/IMG/DIG/user.png" --undecorated --center \ | |
--on-top \ | |
--text "<big><b>Root</b></big>\n\nVocê não está autenticado como Root." \ | |
--field="!$LOCAL/IMG/DIG/locked_64.png! Autenticar!":BTN "bash -c ROOT_LOGIN" \ | |
--field="<b>Autenticar</b>":LBL ' ' \ | |
--button="gtk-ok":1 | |
fi | |
echo $(sed -i 's/DIAG_SUB_GUI_ROOT: true/DIAG_SUB_GUI_ROOT: false/' /tmp/HDA.tmp) | |
fi | |
;; | |
"Lib") | |
if [[ $LIB == false ]]; then | |
echo $(sed -i 's/DIAG_SUB_GUI_LIB: false/DIAG_SUB_GUI_LIB: true/' /tmp/HDA.tmp) | |
if [[ $CHAVELIBNSS3 != true ]]; then | |
yad --form --title="Dependências" --columns="2" --image="$LOCAL/IMG/DIG/libs_2.png" --undecorated --center \ | |
--buttons-layout=center --text-align=center --width=300 --align=center --on-top \ | |
--text "As depedências nescessárias não estão instaladas!\n" \ | |
--field="<b>Instalar</b>":BTN "bash -c 'LIB_WARSAW_INSTALL'" \ | |
--button="gtk-ok":1 | |
fi | |
echo $(sed -i 's/DIAG_SUB_GUI_LIB: true/DIAG_SUB_GUI_LIB: false/' /tmp/HDA.tmp) | |
fi | |
;; | |
"Perm") | |
if [[ $PERM == false ]]; then | |
echo $(sed -i 's/DIAG_SUB_GUI_PERM: false/DIAG_SUB_GUI_PERM: true/' /tmp/HDA.tmp) | |
if [[ $WARSAW == true ]]; then | |
if [[ $CORE_FOLDER != true ]] || [[ $WARSAW_DESKTOP != true ]] || [[ $LD_LINUX_64 != true ]] || [[ $LD_LINUX != true ]] || [[ $UNINSTALL_CORE != true ]] || [[ $INIT_WARSAW != true ]] || [[ $LOCAL_CFG != true ]]; then | |
yad --form --title="Permissões" --columns="2" --image="$LOCAL/IMG/DIG/folder.png" --undecorated --center \ | |
--buttons-layout=center --text-align=center --width=300 --align=center --on-top \ | |
--text "Os diretórios utilizados não \nestão com as permissões corretas.!\n" \ | |
--field="<b>Permissionar</b>":BTN "bash -c PERMS_VALID" \ | |
--button="gtk-ok":1 | |
fi | |
else | |
yad --form --title="Módulo de Segurança" --columns="2" --image="$LOCAL/IMG/DIG/modulo.png" --undecorated --center \ | |
--buttons-layout=center --text-align=center --width=300 --align=center --on-top \ | |
--text "O modulo de segurança não está instalado.\n" \ | |
--field="<b>Instalar</b>":BTN "bash -c 'INSTALL_GUI $DIST_BITS'" \ | |
--button="gtk-ok":1 | |
fi | |
echo $(sed -i 's/DIAG_SUB_GUI_PERM: true/DIAG_SUB_GUI_PERM: false/' /tmp/HDA.tmp) | |
fi | |
;; | |
"All") | |
if [[ $ALL == false ]]; then | |
echo $(sed -i 's/DIAG_SUB_GUI_ALL: false/DIAG_SUB_GUI_ALL: true/' /tmp/HDA.tmp) | |
yad --list \ | |
--title='Correções' --width=500 --height=500 \ | |
--on-top \ | |
--image-on-top --borders=50 \ | |
--undecorated --sticky --center \ | |
--image="$LOCAL/IMG/DIG/bug-64.png"\ | |
--text="Os seguintes problemas devem ser corrigidos:\nDeseja tentar Corrigir?" \ | |
--button='gtk-cancel':1 --button='gtk-ok':0 \ | |
--column='OP':NUM --column='Requisitos':TEXT --column='Opções':TEXT\ | |
1 "$PR_01" "$SL_01"\ | |
2 "$PR_02" "$SL_02"\ | |
3 "$PR_03" "$SL_03"\ | |
4 "$PR_04" "$SL_04"\ | |
5 "$PR_05" "$SL_05"\ | |
6 "$PR_06" "$SL_06"\ | |
7 "$PR_07" "$SL_07"\ | |
8 "$PR_08" "$SL_08" | |
echo $(sed -i 's/DIAG_SUB_GUI_ALL: true/DIAG_SUB_GUI_ALL: false/' /tmp/HDA.tmp) | |
fi | |
if [[ $? == 1 ]];then | |
AUTO_DIAG | |
fi | |
;; | |
esac | |
} | |
export -f DIAGNOSTICO_SUB_GUI | |
#********************************************************************************************************************************# | |
#==========================================================AJUDA_GUI=============================================================# | |
#AJUDA,SEG BB. | |
function AJUDA_GUI() { | |
echo "$(firefox https://seg.bb.com.br/duvidas.html)" | |
} | |
export -f AJUDA_GUI | |
#********************************************************************************************************************************# | |
#==========================================================SAIR_GUI==============================================================# | |
#FECHAR JANELAS GRÁFICAS | |
function SAIR_GUI() { | |
case $1 in | |
#JANELA PRINCIPAL | |
"Main") | |
#CHECAR APLICATIVOS ABERTO PARA FECHAR NA SAIDA DO MAIN | |
while read LINHA; do | |
if [[ $LINHA == "ROOT: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --title=Root') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
if [[ $LINHA == "INSTALL_GUI: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --undecorated --title=Instalação') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
if [[ $LINHA == "DIAGNOSTICO_GUI: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --undecorated --title=Diagnóstico') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_MODULO: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --title=Módulo de Segurança') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_DISTRO: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --title=Distribuição') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_CONEX: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --title=Conexão') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_SERVER: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --title=Server') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_SOCKET: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --title=Socket') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_ROOT: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --title=Root') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_LIB: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --title=Depedências') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
if [[ $LINHA == "DIAG_SUB_GUI_PERM: true" ]]; then | |
IN_PID=$(ps aux|grep 'yad --form --title=Permissões') | |
OUT_PID=($IN_PID) | |
kill ${OUT_PID[1]} | |
fi | |
done < /tmp/HDA.tmp | |
in_pid=$(ps aux|grep ''$LOCAL'/./HDA_BB') | |
out_pid=($in_pid) | |
in_pid=$(ps aux|grep 'yad --form --undecorated --title=Segurança BB --no-buttons --geometry=+0+0 --columns=5') | |
out_pid=($in_pid) | |
in_pid_2=$(ps aux|grep 'yad --form --undecorated --title=Segurança BB') | |
out_pid_2=($in_pid_2) | |
echo $(rm /tmp/HDA.tmp) | |
kill ${out_pid[1]} && kill ${out_pid_2[1]} | |
exit 0 | |
;; | |
esac | |
echo $(clear) | |
} | |
export -f SAIR_GUI | |
#********************************************************************************************************************************# | |
#===========================================================MAIN=================================================================# | |
function MAIN() { | |
DISTRO_CHECK DIST BITS DIST_BITS | |
#WARSAW_CHECK $DIST_BITS WARSAW | |
#ROOT_CHECK ROOT | |
if [[ $DIST == "openSUSE" ]];then | |
rpm -qa | grep yad >> /dev/null | |
if [[ $? == 1 ]]; then | |
usuario=`whoami` | |
if [[ "$usuario=" == root ]]; then | |
SUCESS="false" | |
while [[ $SUCESS == "false" ]]; do | |
if [[ $BITS == "x86_32" ]];then | |
progress=$(kdialog --progressbar "Instalando dependências" 2); | |
qdbus $progress Set "" value 1 > /dev/null; | |
kdialog --title "HDA BB" --passivepopup \ | |
"Instalando dependências" 10 | |
$(rpm -i /usr/local/bin/HDA_BB/YAD/yad-0.38.0-2.2.i586.rpm) | |
if [[ $? == 0 ]]; then | |
SUCESS="true" | |
else | |
SUCESS="false" | |
fi | |
qdbus $progress Set "" value 2 > /dev/null; | |
sleep 1; | |
qdbus $progress close > /dev/null; | |
if [[ $SUCESS == true ]]; then | |
kdialog --title "HDA BB" --passivepopup \ | |
"A instalação das dependências foi concluída com sucesso" 10 | |
elif [[ $SUCESS == false ]]; then | |
kdialog --error "A instalação das dependências falhou"; | |
kdialog --title "A instalação das dependências falhou" --yesno "Tentar novamente instalar as dependências?" | |
if [[ $? == 1 ]]; then | |
exit | |
echo $(rm /tmp/HDA.tmp) | |
fi | |
fi | |
elif [[ $BITS == "x86_64" ]];then | |
progress=$(kdialog --progressbar "Instalando dependências" 2); | |
qdbus $progress Set "" value 1 > /dev/null; | |
kdialog --title "HDA BB" --passivepopup \ | |
"Instalando dependências" 10 | |
$(rpm -i /usr/local/bin/HDA_BB/YAD/yad-0.38.0-2.2.x86_64.rpm) | |
if [[ $? == 0 ]]; then | |
SUCESS="true" | |
else | |
SUCESS="false" | |
fi | |
qdbus $progress Set "" value 2 > /dev/null; | |
sleep 1; | |
qdbus $progress close > /dev/null; | |
if [[ $SUCESS == true ]]; then | |
kdialog --title "HDA BB" --passivepopup \ | |
"A instalação das dependências foi concluída com sucesso" 10 | |
elif [[ $SUCESS == false ]]; then | |
kdialog --error "A instalação das dependências falhou"; | |
kdialog --title "A instalação das dependências falhou" --yesno "Tentar novamente instalar as dependências?" | |
if [[ $? == 1 ]]; then | |
exit | |
echo $(rm /tmp/HDA.tmp) | |
fi | |
fi | |
fi | |
done | |
else | |
SENHA_CHECK="false" | |
while [[ $SENHA_CHECK == "false" ]]; do | |
PASS=$(kdialog --password "A ação solicitada precisa de <b>prívilegios de superusuário</b>. Digite abaixo a senha do <b>superusuário (root)</b>:" --title "Executar como root"); | |
if [ "$?" == 1 ]; then | |
exit | |
echo $(rm /tmp/HDA.tmp) | |
fi | |
echo $PASS | sudo -S su root /dev/null | |
if [ "$?" == 0 ]; then | |
SENHA_CHECK="true" | |
echo $(sed -i 's/ROOTPW: false/ROOTPW: '$PASS'/' /tmp/HDA.tmp) | |
echo $(sed -i 's/ROOT: false/ROOT: true/' /tmp/HDA.tmp) | |
echo $(chmod 777 /tmp/HDA.tmp) | |
elif [ "$?" == 1 ]; then | |
kdialog --error "Senha incorreta"; | |
SENHA_CHECK="false" | |
else | |
kdialog --error "Senha incorreta"; | |
SENHA_CHECK="false" | |
fi | |
done | |
SUCESS="false" | |
while [[ $SUCESS == "false" ]]; do | |
if [[ $BITS == "x86_32" ]];then | |
kdialog --title "HDA BB" --passivepopup \ | |
"Instalando dependências" 10 | |
progress=$(kdialog --progressbar "Instalando dependências" 2); | |
qdbus $progress Set "" value 1 > /dev/null; | |
echo $PASS | sudo -S rpm -i /usr/local/bin/HDA_BB/YAD/yad-0.38.0-2.2.i586.rpm | |
if [[ $? == 0 ]]; then | |
SUCESS="true" | |
elif [[ $SUCESS == false ]]; then | |
SUCESS="false" | |
fi | |
qdbus $progress Set "" value 2 > /dev/null; | |
sleep 1; | |
qdbus $progress close > /dev/null; | |
if [[ $SUCESS == true ]]; then | |
kdialog --title "HDA BB" --passivepopup \ | |
"A instalação das dependências foi concluída com sucesso" 10 | |
elif [[ $SUCESS == false ]]; then | |
kdialog --error "A instalação das dependências falhou"; | |
kdialog --title "A instalação das dependências falhou" --yesno "Tentar novamente instalar as dependências?" | |
if [[ $? == 1 ]]; then | |
exit | |
echo $(rm /tmp/HDA.tmp) | |
fi | |
fi | |
elif [[ $BITS == "x86_64" ]];then | |
kdialog --title "HDA BB" --passivepopup \ | |
"Instalando dependências" 10 | |
progress=$(kdialog --progressbar "Instalando dependências" 2); | |
qdbus $progress Set "" value 1 > /dev/null; | |
echo $PASS | sudo -S rpm -i /usr/local/bin/HDA_BB/YAD/yad-0.38.0-2.2.x86_64.rpm | |
if [[ $? == 0 ]]; then | |
SUCESS="true" | |
else | |
SUCESS="false" | |
fi | |
qdbus $progress Set "" value 2 > /dev/null; | |
sleep 1; | |
qdbus $progress close > /dev/null; | |
if [[ $SUCESS == true ]]; then | |
kdialog --title "HDA BB" --passivepopup \ | |
"A instalação das dependências foi concluída com sucesso" 10 | |
elif [[ $SUCESS == false ]]; then | |
kdialog --error "A instalação das dependências falhou"; | |
kdialog --title "A instalação das dependências falhou" --yesno "Tentar novamente instalar as dependências?" | |
if [[ $? == 1 ]]; then | |
exit | |
echo $(rm /tmp/HDA.tmp) | |
fi | |
fi | |
fi | |
done | |
fi | |
fi | |
fi | |
#DISTRO_CHECK DIST BITS DIST_BITS | |
WARSAW_CHECK $DIST_BITS WARSAW | |
ROOT_CHECK ROOT | |
while read LINHA; do | |
if [[ $LINHA == "DIAG_SUB_GUI_ROOT: true" ]]; then | |
echo $LINHA | |
ROOT_GUI=true | |
elif [[ $LINHA == "DIAG_SUB_GUI_ROOT: false" ]]; then | |
echo $LINHA | |
ROOT_GUI=false | |
fi | |
done < /tmp/HDA.tmp | |
if [[ $ROOT == true ]] || [[ $ROOT_GUI == true ]];then | |
un_lock=lock-24.png | |
else | |
un_lock=unlock-24.png | |
fi | |
if [[ $ROOT == true ]]; then | |
yad --form --undecorated --title="Segurança BB" --no-buttons --geometry="+0+0" \ | |
--columns="5" \ | |
--field=" ":LBL ' ' \ | |
--field="!$LOCAL/IMG/MAIN/Install.png! Instalar!":BTN "bash -c 'INSTALL_GUI'" \ | |
--field=" Instalar":LBL ' ' \ | |
--field=" ":LBL ' ' \ | |
--field="!$LOCAL/IMG/MAIN/Remove.png! Remover!":BTN "bash -c 'REMOVE_WARSAW'" \ | |
--field=" Remover":LBL ' ' \ | |
--field=" ":LBL ' ' \ | |
--field="!$LOCAL/IMG/MAIN/Diagnostico.png! Diagnostico!":BTN "bash -c 'DIAGNOSTICO_GUI $DIST_BITS $ROOT'" \ | |
--field=" Diagnostico":LBL ' ' \ | |
--field=" ":LBL ' ' \ | |
--field="!$LOCAL/IMG/MAIN/Ajuda.png! Ajuda!":BTN "bash -c AJUDA_GUI" \ | |
--field=" Ajuda":LBL ' ' \ | |
--field="!$LOCAL/IMG/MAIN/$un_lock! Desbloquear!":BTN "bash -c 'ROOT_LOGIN true MAIN'" \ | |
--field="!$LOCAL/IMG/MAIN/Exit.png! Sair!":BTN "bash -c 'SAIR_GUI Main'" \ | |
--field=" Sair":LBL ' ' | |
elif [[ $ROOT == false ]]; then | |
yad --form --undecorated --title="Segurança BB" --no-buttons --geometry="+0+0" \ | |
--columns="5" \ | |
--field=" ":LBL ' ' \ | |
--field="!$LOCAL/IMG/MAIN/Install.png! Instalar!":BTN "bash -c 'ROOT_LOGIN true MAIN INST'" \ | |
--field=" Instalar":LBL ' ' \ | |
--field=" ":LBL ' ' \ | |
--field="!$LOCAL/IMG/MAIN/Remove.png! Remover!":BTN "bash -c 'ROOT_LOGIN true MAIN REMO'" \ | |
--field=" Remover":LBL ' ' \ | |
--field=" ":LBL ' ' \ | |
--field="!$LOCAL/IMG/MAIN/Diagnostico.png! Diagnostico!":BTN "bash -c 'ROOT_LOGIN true MAIN DIAG'" \ | |
--field=" Diagnostico":LBL ' ' \ | |
--field=" ":LBL ' ' \ | |
--field="!$LOCAL/IMG/MAIN/Ajuda.png! Ajuda!":BTN "bash -c AJUDA_GUI" \ | |
--field=" Ajuda":LBL ' ' \ | |
--field="!$LOCAL/IMG/MAIN/$un_lock! Desbloquear!":BTN "bash -c 'ROOT_LOGIN true MAIN'" \ | |
--field="!$LOCAL/IMG/MAIN/Exit.png! Sair!":BTN "bash -c 'SAIR_GUI Main'" \ | |
--field=" Sair":LBL ' ' | |
fi | |
} | |
export -f MAIN | |
#********************************************************************************************************************************# | |
#ARQUIVO TEMPORARIO DE VARIAVES | |
HDA_TMP=/tmp/HDA.tmp | |
export HDA_TMP | |
ROOT_CHECK ROOT | |
#GRAVA OS ESTADOS DAS VARIAVES NO ARQUIVO TEMPORARIO "/tmp/HDA.tmp" | |
echo "MAIN: true" >> $HDA_TMP | |
if [[ $ROOT == "true" ]]; then | |
echo "ROOT: true" >> $HDA_TMP | |
else | |
echo "ROOT: false" >> $HDA_TMP | |
fi | |
echo "ROOTPW: false" >> $HDA_TMP | |
echo "INSTALL_GUI: false" >> $HDA_TMP | |
echo "DIAGNOSTICO_GUI: false" >> $HDA_TMP | |
echo "DIAG_SUB_GUI_MODULO: false" >> $HDA_TMP | |
echo "DIAG_SUB_GUI_DISTRO: false" >> $HDA_TMP | |
echo "DIAG_SUB_GUI_CONEX: false" >> $HDA_TMP | |
echo "DIAG_SUB_GUI_SERVER: false" >> $HDA_TMP | |
echo "DIAG_SUB_GUI_SOCKET: false" >> $HDA_TMP | |
echo "DIAG_SUB_GUI_ROOT: false" >> $HDA_TMP | |
echo "DIAG_SUB_GUI_LIB: false" >> $HDA_TMP | |
echo "DIAG_SUB_GUI_PERM: false" >> $HDA_TMP | |
echo "DIAG_SUB_GUI_ALL: false" >> $HDA_TMP | |
#ARQUIVO DE LOG | |
#LOG=/var/log/hdabb.log | |
#export LOG | |
LOCAL="/usr/local/bin/HDA_BB" | |
export LOCAL | |
#Chamada se quiser user sempre root | |
#ROOT_LOGIN true | |
#CHAMADA DA FUNCAO MAIN | |
MAIN |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment