Que tal criar um script simples como este? Presumo que o usuário que você deseja gerenciar seja chamado de ADAM e que você queira impedi-los de fazer o logon entre 23:00 e 07:00 (note que só administro o tempo até a hora mais próxima):
#!/bin/sh
user=ADAM
off_time=23
on_time=7
h=$(date +%H}
if [ $h -ge $on_time -a $h -lt $off_time ]; then
# OK to use system
passwd -u $USER
else
# Outside permitted time
# Prevent a login
passwd -l $USER
# and force them off the system
pkill -KILL -u $USER
fi
( passwd -u
permite que um usuário faça o login, passwd -l
desativa seu login)
Eu chamaria esse script a cada hora em /etc/crontab
e na inicialização em /etc/rc.local
(eu não testei o acima)