Solução para congelar a pasta do usuario no Linux. (Lan House)
Ola Pessoal, tenho Lan House a algum tempo e sempre deixei de migrar ela 100 % devido a questão de usuários mechelão, que desconfigura e apaga tudo, e ainda deixa um rastro de virus enorme.
Procurei na internet sobre como usar o rsync, e o nosso grande google, me levou até um script chamdo OFRIS, que te faz perguntas e realiza um trabalho similar ao Deep frezze.
OFRIS nada mais é que uma interface que lhe da opções de Congelar um ou todos os usuários da maquina e de descongelar os mesmos.
Ele faz uso do rsync para tal tarefas.
#!/bin/bash
# =============================================
# Dafturn Ofris Erdana - Locking your Systems
# =============================================
# Version : 1.9.05-en
# Created by : Dafturn Group Software
# The Mad Transition
# Author : Muhammad Faruq Nuruddinsyah
# E-Mail : faruq_dafturn@yahoo.co.id
# Date Creating : October, 12th 2008
# =============================================
# An Open Source from Indonesia
# =============================================
#----- Starting ----
echo
echo "================================================= =="
echo " Dafturn Ofris Erdana - Locking your Systems"
echo " By : Muhammad Faruq Nuruddinsyah"
echo " Tradução : Edmar Aparecido dos Santos "
echo "================================================= =="
echo
echo "Escolha uma Opção :"
echo " 1. Congelar o sistema para este usuário só"
echo " 2. Congelar o sistema para o usuário especificado"
echo " 3. Congelar o sistema para todos os usuários"
echo " 4. Descongelar o Sistema"
echo " 5. Ver status"
echo " 6. Sair"
echo
#-------------------
#----- Mendeklarasikan variabel -----
is_opt=false
is_success=true
ofris_n=6
ofris_tmp_co=1
is_cho=false
#------------------------------------
#----- Awal script untuk menentukan pilihan -----
while [ $is_opt = false ]; do
echo -n "Por Favor Insira um número : "
read ofris_opt
if [[ $ofris_opt = 1 ]]; then
is_opt=true
ofris_tmp_co=1
elif [[ $ofris_opt = 2 ]]; then
is_opt=true
ofris_tmp_co=2
elif [[ $ofris_opt = 3 ]]; then
is_opt=true
ofris_tmp_co=3
elif [[ $ofris_opt = 4 ]]; then
is_opt=true
elif [[ $ofris_opt = 5 ]]; then
is_opt=true
elif [[ $ofris_opt = 6 ]]; then
is_opt=true
echo
exit
else
echo "Desculpe, seu número de escolha é errado. Por favor, tente novamente..."
echo
is_opt=false
fi
done
#------------------------------------------------
#----- Script utama -----------------------------
if [[ $ofris_tmp_co = 1 ]]; then
ofris_user="${HOME:$ofris_n}"
elif [[ $ofris_tmp_co = 3 ]]; then
ofris_user=""
elif [[ $ofris_tmp_co = 2 ]]; then
is_cho=true
ofris_user=""
fi
grep -v "rsync -a --delete /etc/" /etc/rc.local > ofris_tmp
set $(wc -l ofris_tmp)
ofris_orig=$1
set $(wc -l /etc/rc.local)
ofris_recnt=$1
ofris_rst=$[$ofris_recnt-$ofris_orig]
rm ofris_tmp
if [[ $ofris_opt = '1' || $ofris_opt = '2' || $ofris_opt = '3' ]]; then
#----- Mengunci sistem -----
echo
echo "===== Congelando o Sistema ====="
echo
echo "Por Favor Aguarde..."
echo
if [[ $is_cho = true ]]; then
is_cho_suc=false
while [ $is_cho_suc = false ]; do
is_cho_suc=false
echo -n "Por favor, insira o nome de usuário que você será Congelado : "
read ofris_cho
if [ -d "/home/$ofris_cho" ]; then
echo
is_cho_suc=true
ofris_user=$ofris_cho
else
echo "Desculpe, o nome de usuário está errado. Por favor, tente novamente..."
echo
fi
done
fi
if [ $ofris_rst = 1 ]; then
echo "Erro: O sistema foi bloqueado, por favor selecione a quarta escolha para descongelar o sistema..."
echo
is_success=false
else
grep -v "exit 0" /etc/rc.local > ofris_tmp
echo "rsync -a --delete /etc/.ofris/$ofris_user/ /home/$ofris_user/" >> ofris_tmp
echo "exit 0" >> ofris_tmp
rm /etc/rc.local
cp ofris_tmp /etc/rc.local
rm ofris_tmp
fi
if [ $is_success = true ]; then
if [ -d /etc/.ofris ]; then
rm -r /etc/.ofris
fi
if [ -d /etc/.ofris ]; then
rsync -a --delete /home/$ofris_user /etc/.ofris/
else
mkdir /etc/.ofris/
if [[ $ofris_user != "" ]]; then
mkdir /etc/.ofris/$ofris_user
fi
rsync -a --delete /home/$ofris_user /etc/.ofris/
fi
chmod +x /etc/rc.local
fi
if [ $is_success = true ]; then
echo "O sistema foi congelado com sucesso, reinicie o computador agora..."
echo
fi
elif [ $ofris_opt = '4' ]; then
#----- Membuka sistem -----
echo
echo "===== Descongelando o Sistema ====="
echo
echo "Por favor aguarde..."
grep -v "rsync -a --delete /etc/" /etc/rc.local > ofris_tmp_b
rm /etc/rc.local
cp ofris_tmp_b /etc/rc.local
rm ofris_tmp_b
if [ -d /etc/.ofris ]; then
rm -r /etc/.ofris
fi
echo
echo "O sistema foi descongelado com sucesso..."
echo
elif [ $ofris_opt = '5' ]; then
#----- Menampilkan status -----
if [ $ofris_rst = 1 ]; then
echo
echo "===== Status ====="
echo " O sistema esta Congelado..."
echo
else
echo
echo "===== Status ====="
echo " O Sistema não está congelado..."
echo
fi
fi
#----- Ending session -----
echo -n "[Prescione uma tecla para sair ...] "
read -s -n 1
echo
echo
#========== Selesai ================================================== =================
# =============================================
# Dafturn Ofris Erdana - Locking your Systems
# =============================================
# Version : 1.9.05-en
# Created by : Dafturn Group Software
# The Mad Transition
# Author : Muhammad Faruq Nuruddinsyah
# E-Mail : faruq_dafturn@yahoo.co.id
# Date Creating : October, 12th 2008
# =============================================
# An Open Source from Indonesia
# =============================================
#----- Starting ----
echo
echo "================================================= =="
echo " Dafturn Ofris Erdana - Locking your Systems"
echo " By : Muhammad Faruq Nuruddinsyah"
echo " Tradução : Edmar Aparecido dos Santos "
echo "================================================= =="
echo
echo "Escolha uma Opção :"
echo " 1. Congelar o sistema para este usuário só"
echo " 2. Congelar o sistema para o usuário especificado"
echo " 3. Congelar o sistema para todos os usuários"
echo " 4. Descongelar o Sistema"
echo " 5. Ver status"
echo " 6. Sair"
echo
#-------------------
#----- Mendeklarasikan variabel -----
is_opt=false
is_success=true
ofris_n=6
ofris_tmp_co=1
is_cho=false
#------------------------------------
#----- Awal script untuk menentukan pilihan -----
while [ $is_opt = false ]; do
echo -n "Por Favor Insira um número : "
read ofris_opt
if [[ $ofris_opt = 1 ]]; then
is_opt=true
ofris_tmp_co=1
elif [[ $ofris_opt = 2 ]]; then
is_opt=true
ofris_tmp_co=2
elif [[ $ofris_opt = 3 ]]; then
is_opt=true
ofris_tmp_co=3
elif [[ $ofris_opt = 4 ]]; then
is_opt=true
elif [[ $ofris_opt = 5 ]]; then
is_opt=true
elif [[ $ofris_opt = 6 ]]; then
is_opt=true
echo
exit
else
echo "Desculpe, seu número de escolha é errado. Por favor, tente novamente..."
echo
is_opt=false
fi
done
#------------------------------------------------
#----- Script utama -----------------------------
if [[ $ofris_tmp_co = 1 ]]; then
ofris_user="${HOME:$ofris_n}"
elif [[ $ofris_tmp_co = 3 ]]; then
ofris_user=""
elif [[ $ofris_tmp_co = 2 ]]; then
is_cho=true
ofris_user=""
fi
grep -v "rsync -a --delete /etc/" /etc/rc.local > ofris_tmp
set $(wc -l ofris_tmp)
ofris_orig=$1
set $(wc -l /etc/rc.local)
ofris_recnt=$1
ofris_rst=$[$ofris_recnt-$ofris_orig]
rm ofris_tmp
if [[ $ofris_opt = '1' || $ofris_opt = '2' || $ofris_opt = '3' ]]; then
#----- Mengunci sistem -----
echo
echo "===== Congelando o Sistema ====="
echo
echo "Por Favor Aguarde..."
echo
if [[ $is_cho = true ]]; then
is_cho_suc=false
while [ $is_cho_suc = false ]; do
is_cho_suc=false
echo -n "Por favor, insira o nome de usuário que você será Congelado : "
read ofris_cho
if [ -d "/home/$ofris_cho" ]; then
echo
is_cho_suc=true
ofris_user=$ofris_cho
else
echo "Desculpe, o nome de usuário está errado. Por favor, tente novamente..."
echo
fi
done
fi
if [ $ofris_rst = 1 ]; then
echo "Erro: O sistema foi bloqueado, por favor selecione a quarta escolha para descongelar o sistema..."
echo
is_success=false
else
grep -v "exit 0" /etc/rc.local > ofris_tmp
echo "rsync -a --delete /etc/.ofris/$ofris_user/ /home/$ofris_user/" >> ofris_tmp
echo "exit 0" >> ofris_tmp
rm /etc/rc.local
cp ofris_tmp /etc/rc.local
rm ofris_tmp
fi
if [ $is_success = true ]; then
if [ -d /etc/.ofris ]; then
rm -r /etc/.ofris
fi
if [ -d /etc/.ofris ]; then
rsync -a --delete /home/$ofris_user /etc/.ofris/
else
mkdir /etc/.ofris/
if [[ $ofris_user != "" ]]; then
mkdir /etc/.ofris/$ofris_user
fi
rsync -a --delete /home/$ofris_user /etc/.ofris/
fi
chmod +x /etc/rc.local
fi
if [ $is_success = true ]; then
echo "O sistema foi congelado com sucesso, reinicie o computador agora..."
echo
fi
elif [ $ofris_opt = '4' ]; then
#----- Membuka sistem -----
echo
echo "===== Descongelando o Sistema ====="
echo
echo "Por favor aguarde..."
grep -v "rsync -a --delete /etc/" /etc/rc.local > ofris_tmp_b
rm /etc/rc.local
cp ofris_tmp_b /etc/rc.local
rm ofris_tmp_b
if [ -d /etc/.ofris ]; then
rm -r /etc/.ofris
fi
echo
echo "O sistema foi descongelado com sucesso..."
echo
elif [ $ofris_opt = '5' ]; then
#----- Menampilkan status -----
if [ $ofris_rst = 1 ]; then
echo
echo "===== Status ====="
echo " O sistema esta Congelado..."
echo
else
echo
echo "===== Status ====="
echo " O Sistema não está congelado..."
echo
fi
fi
#----- Ending session -----
echo -n "[Prescione uma tecla para sair ...] "
read -s -n 1
echo
echo
#========== Selesai ================================================== =================
Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Créditos: Muhammad Faruq Nuruddinsyah
texto: EDMAR AP. SANTOS
Comment