Como você é um usuário experiente, sugiro que use pam_time :
% bl0ck_qu0te%Eu quero restringir o acesso a contas de usuários para funcionários para a hora de trabalho diariamente.
de segunda a sexta-feira (8: 00-17: 00)
Sábado (8: 00-13: 00)
Como fazer isso?!
Aplicativos de linha de comando e GUI são bem aceitos
Aqui está a versão melhorada do meu script original que eu vinculei nos comentários. Este script usa todas as ferramentas que vêm com o Ubuntu, ou seja, at
(para agendamento de tarefas), date
e gnome-session-quit
, portanto, nenhuma instalação adicional de software é necessária. Esse script pode ser chamado de ~/.config/autostart
ou /etc/xdg/autostart
em um arquivo .desktop
.
date
determinará a hora atual do dia e o dia da semana (número). A estrutura do caso decide então qual parâmetro fornecer à função logthemout
; o parâmetro é a hora de saída do dia. De segunda a sexta-feira são 17:00, e no sábado são 13:00. Por sua vez, a função logthemout irá verificar se a hora atual está dentro do intervalo de horas de trabalho (se a declaração com lógica "ou"). Se estiver, o usuário receberá uma notificação apropriada de que será desconectado em um horário específico. Se as horas de trabalho não estiverem dentro do intervalo, o usuário será desconectado. Tecnicamente falando, o que está acontecendo é que o usuário efetua login, mas o script os registra imediatamente. As deficiências deste script é que o script depende do tempo do sistema. Se um usuário tiver capacidade de alterar o horário do sistema, ele poderá ignorar o script. Caso contrário, isso deve funcionar.
#!/bin/bash
set -x
HOUR=$(date +%H)
DAYOFWEEK=$(date +%u)
function logthemout
{
if [[ $HOUR -gt $1 || $HOUR -lt 8 ]]; then
gnome-session-quit --no-prompt
else
notify-send "AUTO-LOGOUT AT $1 pm"
echo "gnome-session-quit --no-prompt" | at $1:00
fi
}
case $DAYOFWEEK in
1|2|3|4|5) logthemout 17;;
6) logthemout 13;;
7) gnome-session-quit --no-prompt ;;
esac
Esclarecimento:
Normalmente, se você quiser executar algo no login da GUI , você teria que criar algo como /home/username/.config/autostart/mystartup-prog.desktop
, que deveria ter um formato semelhante a este:
[Desktop Entry]
Type=Application
Name=<Name of application as displayed>
Exec=<command to execute>
Icon=<full path to icon>
Comment=<optinal comments>
X-GNOME-Autostart-enabled=true
Se você tiver muitos funcionários, isso pode ser ineficiente, portanto, seria melhor ter uma dessas entradas em /etc/xdg/autostart/mystartup-prog.desktop
.
Acho que o TimeKpr fará o trabalho. Aqui está o link link