Restringir as vezes que um usuário tem permissão para efetuar login

8

Temos vários sistemas do Backbox 3.13 construídos no Ubuntu 12.04. Um dos meus adolescentes não entende o conceito dessa coisa chamada "dormir" e tende a se levantar para jogar no computador. Estou tentando limitar essa ação. Nós tentamos babá que trabalhou por alguns dias. Então, embora as configurações ainda estivessem em vigor, ainda permitia que o adolescente tivesse acesso à sua conta de usuário e à Internet.

Depois de algumas pesquisas, decidi tentar modificar /etc/security/time.conf . Aparentemente, não estou fazendo isso corretamente porque, independentemente dos comandos que eu inserir no arquivo, ainda podemos fazer login na conta de usuário dela. Não queremos que ela tenha acesso das 21h às 6h. Ainda precisamos que eu tenha acesso ao computador o tempo todo. Aqui estão várias sintaxes que tentei:

1. login;*;username;A12100-0600
2. login;*;username;!A12100-0600
3. login;*;username;!A12100-0600
   login;*;my username;A10000-2400
4. login;*;!username;A12100-0600

Estou ficando louco aqui tentando descobrir como fazer isso. Tenho certeza de que é algo simples que estou perdendo, ou que estou inserindo incorretamente. Qualquer ajuda seria apreciada.

    
por user81117 18.08.2014 / 01:43

3 respostas

1

Um método mais genérico é usar o cron para bloquear e desbloquear a conta. Isso elimina os requisitos específicos e as variáveis relacionadas ao gerenciador de janelas. Isso destina-se apenas a ser aplicado a uma máquina autônoma, não a um desktop / laptop / tablet conectado a um servidor de autenticação central.

0 21 * * * /usr/bin/passwd -l childsUserName 0 6 * * * /usr/bin/passwd -u childsUserName'

NOTA: Você pode ter que ajustar seu caminho para o comando 'passwd'. Determine o caminho correto com 'which'.

Na minha caixa do CentOS 6:

which passwd

/usr/bin/passwd

    
por 04.02.2015 / 18:30
0

É só aqui que você faz, ou você está usando em vez de Ls?

As restrições de tempo devem ler "maiúscula A, pequena L " e, em seguida, a hora ...

    
por 21.08.2014 / 09:54
0

A seguir funciona para mim:

*;*;child1|child2|child3;Wk0445-1958|Sa0445-2300|Su0445-1958

A seguinte linha em /etc/pam.d/common-account pode ser algo que adicionei ou descomentei.

account required  pam_time.so

Eu também tenho um cron-job que verifica às 8:00 PM se um dos filhos está logado, e registra-os em caso afirmativo ... a parte que realmente registra-los é como segue:

echo 'logging off - Following children are still logged in...'
for n in $active_children ; do echo "  " $n ; done
festival --tts <<EOT
Is is bedtime. Good bye and good night.
EOT
for n in $active_children
do
    killall -HUP -u $n
done
sleep 15
for n in $active_children
do
    killall      -u $n
done
echo "['date'] - done"
    
por 04.09.2014 / 00:01