Restrição de horário de logon

1. Restrição de horário de logon

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/02/2008 - 16:59h

Olá pessoal!

Alguém sabe se é possível restringir horário de logon no Linux?

Exemplos:
-> Usuário "producao" só pode efetuar logon entre 08h00 e 17h00.
-> Usuários do grupo "atendimento" só podem efetuar logon entre 14h00 e 20h00, de segunda a sexta-feira.

Tenho pesquisado em vários sites de busca e fóruns, mas por enquanto não encontrei resposta. Pesquisei inclusive referências em sistemas Unix.

Ficarei muito grato a quem puder me responder!

Abraços!


  


2. Ta facil

Felipe Casagrande (pepi)
felipe_pepii

(usa Debian)

Enviado em 19/02/2008 - 18:05h

Cara, é o seguinte:

Vamos barrar por horario certo?
então pensando que, toda vez que o usuario loga-se na maquina ele le o arquivo ~/.bash_profile, crie um script de logout dentro do ~/.bash_profile:
ex:
### INICIO##
HORA1=`date +%H`
case $HORA1 in
18) logout ;;
19) logout;;
20) logout;;
21) logout;;
22) logout;;
23) logout;;
24) logout;;
01) logout;;
02) logout;;
03) logout;;
04) logout;;
05) logout;;
06) logout;;
07) logout;;
esac
### FIM ##

OU seja, na variavel HORA1 eu setei o HORARIO por exemplo 16 HORAS, ele vai ver de acordo com a hora, qual comando executar.
das 18 ate as 08 da manha, ele vai dar o script do logout.

Funciona, ficou meio tosco pq ta corrido pra mim, entao nao deu pra ver a fundo.. mas resolve sem problema nenhum..

abraços


3. Lendo novamente.. rsrs

Felipe Casagrande (pepi)
felipe_pepii

(usa Debian)

Enviado em 19/02/2008 - 18:08h

Se quer de segunda a sexta-feira, precisa dar uma re-olhada no script acima... e acrescentar algo na variavel de HORA1

por exemplo date +%H%a

e por ai vai, a dica ta dada, agora é so estudar e botar pra rodar


4. Re: Restrição de horário de logon

Felipe Casagrande (pepi)
felipe_pepii

(usa Debian)

Enviado em 19/02/2008 - 18:22h

ou criar alguma coisa no crontab deste sentido, ou utilizando o passwd -l username (-l de lock) e depois habilitar com o passwd -u username (-u de unlock)

use a imaginação..


5. Restrição

Anderson L Tamborim
y2h4ck

(usa Suse)

Enviado em 20/02/2008 - 14:48h

Puts o amiguinho ai de cima é bem criativo, mas é [*****] usar esses scripts em logon pq eles podem ser facilmente modificados pelo usuário, afinal vai ficar no home dele com permissão pra ele mexer.

Existe um módulo que permite que você crie este tipo de controle de acesso via PAM. Sugiro que vc de uma pesquisada sobre isso, não me lembro o nome dele agora, mas sei que tem doc na net sobre isso usando PAM, pesquise que vc acha ! :D




6. Muito obrigado!

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/02/2008 - 15:52h

Valeu, pessoal!
Gostei do script, e também vou pesquisar a respeito do PAM.
Abraços!


7. pam_time

Anderson L Tamborim
y2h4ck

(usa Suse)

Enviado em 21/02/2008 - 10:29h

A libpam referente ao meu post acima chama-se pam_time e pode ser utilizada também no Samba para limitar horário de autenticação pela rede.

[]s


8. Re: Restrição de horário de logon

Marcos Miras
marcosmiras

(usa CentOS)

Enviado em 21/02/2008 - 10:38h

altere a permissão do script
# chown root.root .bash_profile
# chmod 555 .bash_profile
E já era o usuário não vai poder alterar nada...



9. Melhor forma

Felipe Casagrande (pepi)
felipe_pepii

(usa Debian)

Enviado em 21/02/2008 - 11:00h

Cara...

FAz assim, ai a segurança fica boa..

Levante a lista com os nomes dos usuarios exemplos

#ls -l /home/ > /tmp/output.out
Ele vai listar o nome de todos usuarios criados ai no seu linux.

Edite o arquivo e remova os lixos, ou permissoes atipicas que deseja.

exemplo do arquivo:

##INICIO####
felipe
usuario2
usuario3
usuario4
usuario5
###FIM ####

Pois bem..


vamos criar um script de bloqueio e um script de liberação:


###### SCRIPT DE BLOQUEIO
$vi /usr/local/bin/bloq.sh
#!/bin/bash
passwd -l felipe
passwd -l usuario2
passwd -l usuario3
passwd -l usuario4
passwd -l usuario5

###### FIM SCRIPT

Esse script ele bloqueia o login do usuario. é como se ele perdesse a senha.



Agora vamos criar o script de desbloqueio:

###### SCRIPT DE DESBLOQUEIO

$vi /usr/local/bin/desbloq.sh
#!/bin/bash
passwd -u felipe
passwd -u usuario2
passwd -u usuario3
passwd -u usuario4
passwd -u usuario5
#### FIM DO SCRIPT

Otimo, entao agora temos dois scripts, um ele bloqueia e outro desbloqueia..

de um crontab -e e coloque essa rotina para rodar desta forma


$crontab -e

00 17 * * * /usr/local/bin/bloq.sh
00 08 * * * /usr/local/bin/desbloq.sh

Saia e salve..


E pronto cara.. acho que é a forma mais rapida, segura de se fazer isso.

Abraços



10. Script é imbassado

Anderson L Tamborim
y2h4ck

(usa Suse)

Enviado em 25/02/2008 - 10:20h

Cara é bem criativa essas soluções por script mas ... sabemos que isso por experiência é algo meio "bizarro". Ficar dependendo de ciclos do Cron não é algo que seja realmente seguro concorda?

Realmente insisto na utilização do pam_time que na verdade foi criado para isto: Criar ACLs onde você define o horário de logon.

[]s






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts