O acesso ao nosso computador (não apenas à Internet) precisa ser restrito às contas dos meus filhos (7, 8) até que tenham idade suficiente para gerenciar isso sozinhos. Até lá, precisamos definir o seguinte:
- as horas do dia em que a computação está correta (por exemplo, das 17 às 21 horas)
- os dias da semana em que a computação não é boa (por exemplo, de segunda a sexta-feira)
- a quantidade de tempo permitida por dia (por exemplo, 2 horas)
Na 11.10, todos os seguintes itens que costumavam fazer o trabalho não funcionam mais:
- Timekpr : para> 11,10 não está mais disponível no ppa.
- Timeoutd : alternativa de linha de comando, mas a partir da 11.10 removida dos repositórios .
- Gnome Nanny : Parece ótimo, mas trava repetidamente para forçar a reinicialização do X-server. Portanto, não podemos usar ou recomendar este programa no momento.
Há alguma outra alternativa?
Respostas:
Temporizador da tela de bloqueio
Crie seu próprio Screen Lock Timer em vez de aplicativos de terceiros
Embora existam aplicativos de terceiros para fazer isso, você pode criar seus próprios. Resumo das etapas:
gedit
para criar scriptlock-screen-timer
lock-screen-timer
lock-screen-timer
como executávelUse
gedit
para criar scriptlock-screen-timer
Abra o
Terminal
uso de Ctrl+ Alt+ Te digite:Copie e cole o código da janela abaixo para
lock-screen-timer
Volte para esta tela e copie o seguinte código destacando-o e pressionando Ctrl+ C:
Volte para a
gedit
janela vazia e cole o código usando Ctrl+ V. Salve o arquivo e saia do editor de volta para o prompt de comando.Marcar
lock-screen-timer
como executávelAgora precisamos tornar o script executável digitando:
Teste-o!
Antes de chamar o script a partir da GUI, o chamaremos a partir do terminal para podermos ver se alguma mensagem de erro é exibida:
Você é solicitado pelo número de minutos:
Defina o número desejado de minutos e clique em OK para iniciar o cronômetro. Quando restam 15, 10, 5, 3, 2 e 1 minuto (s), um som do sistema é ouvido e um balão de mensagem aparece avisando quando a tela será bloqueada. Depois que a tela estiver bloqueada, você precisará digitar sua senha para desbloquear a tela.
Configure o Nautilus para executar scripts bash
O Nautilus define o que acontece quando clicamos duas vezes em um script executável quando a janela é exibida ou um link na área de trabalho. O comportamento normal é editar o script usando
gedit
. Queremos mudar esse comportamento para que seja executado.Inicie o Nautilus e navegue para o diretório que contém
lock-screen-timer
. Clique esquerdo uma vez para focar. Passe o mouse sobre a barra de menus superior até que o menu "Edição de arquivo ..." seja exibido, use:Edit
no menu suspensoProperties
opçãoBehavior
guiaExecutable Text Files
Run executable text files when they are opened
Criar link de atalho na área de trabalho
Da seção anterior
lock-screen-timer
ainda tem foco. Caso contrário, navegue até o script e clique nele uma vez para focar. Então use:Make Link
.Link to lock-screen-timer
.Agora você pode clicar duas vezes no link de atalho da área de trabalho e o script é executado. Uma caixa de diálogo aparece para obter o número de minutos. Dois botões são apresentados Cancele OK. Se você clicar em
X
para fechar a janela, será o mesmo que selecionar Cancel.Depois que o cronômetro estiver em execução e você clicar duas vezes nele novamente, a primeira cópia em execução será "eliminada". Agora você pode iniciar uma nova contagem regressiva de bloqueio de scren ou clicar Cancelem sem contagem regressiva.
Tempo de exibição restante na área da bandeja / notificação
Enquanto o temporizador da tela de bloqueio estiver em execução, ele registra quantos minutos restam no arquivo
~/.lock-screen-timer-remaining
. Você pode ver esse arquivo com owatch
comando ou exibi-lo na barra de indicadores da bandeja do sistema / aplicativo do Ubuntu, como mostrado na parte superior desta resposta. Para exibir o tempo restante na área de notificação, siga as instruções nesta seção de perguntas e respostas: ( O BASH pode ser exibido no sistema como indicador de aplicativo? ).fonte
Usuário do Ubuntu <= 11.10, siga este guia para Usuário do Ubuntu> = 11.10, leia o aviso na página inferior:
Sim, todos esses programas estão desatualizados e todas as suas perguntas são respondidas aqui e visualizadas com o controle dos pais .....
Quando falamos em forçar o logoff de um usuário, o que realmente estamos falando é implementar restrições de tempo na conta para acesso ou serviços do sistema. A maneira mais fácil de implementar restrições de tempo é usar um módulo de plug-in chamado Linux-PAM .
O Módulo de autenticação conectável (PAM) é um mecanismo para autenticação de usuários. Especificamente, vamos usar o
pam_time
módulo para controlar o acesso cronometrado dos usuários aos serviços.Usando o
pam_time
módulo, podemos definir restrições de acesso a um sistema e / ou aplicativos específicos em vários momentos do dia, bem como em dias específicos ou em várias linhas de terminal. Dependendo da configuração, você pode usar este módulo para negar acesso a usuários individuais com base em seu nome, hora do dia, dia da semana, serviço para o qual está solicitando e terminal de onde está fazendo a solicitação. .Ao usar
pam_time
, você deve encerrar a sintaxe de cada linha (ou regra) no/etc/security/time.conf
arquivo com uma nova linha. Você pode comentar cada linha com o sinal de cerquilha [#], e o sistema ignorará esse texto até a nova linha.Aqui está a sintaxe para uma regra:
Aqui está um exemplo de um conjunto típico de regras:
Essas regras impedem que o bobby do usuário faça logon entre as horas de 0800 e 2000 e também restringem o acesso à Internet durante esse horário. O Root poderá fazer logon a qualquer momento e navegar na Internet também.
Nota: O sistema registra erros com essas regras como syslog (3).
Com o Ubuntu Linux, é possível atribuir restrições de tempo ao seu computador, para impedir a conexão de um ou mais usuários ao seu sistema. Com as restrições de tempo, você pode, por exemplo, limitar o acesso ao computador de seus filhos (uma espécie de controle dos pais, em suma) , ou até mesmo proteger a conexão com o servidor durante determinadas horas.
Configuração manual
Entenda o que você fará
Neste tutorial, usaremos o PAM (Módulos de autenticação conectáveis, Módulos de autenticação conectáveis em inglês). Permite controlar a autenticação do usuário quando eles se conectam. Em seguida, usaremos os arquivos de configuração de segurança para definir o horário de logon permitido. Essas manipulações podem ser executadas em qualquer versão do Ubuntu e requerem apenas um editor de texto simples (vim, emacs, nano, gedit, kate, para citar alguns). Ativar horas de restrições através do módulo PAM
Primeiro de tudo, primeiro vá para
/etc/pam.d/
, onde estão todos os serviços configuráveis:Se quisermos bloquear a conexão com o computador, precisaremos alterar o serviço gdm. Edite o arquivo para gdm e adicione esta linha de código (no final do arquivo):
GDM são as distribuições de tela de login Ubuntu, Edubuntu e Xubuntu. Para o Kubuntu, que usa o KDE, o serviço kdm é chamado, será o arquivo que será aberto. E você está pronto para configurar o PAM! Isso permitirá o controle de horas neste serviço.
Se você possui um servidor, provavelmente não possui GUI. Nesse caso, o GDM / KDM não está instalado e a conexão não será bloqueada. Para impedir a conexão com o TTY, você deve modificar o logon do mesmo arquivo e adicionar a mesma linha de código que o anteriormente reconhecido. Esta ação também se aplica a pessoas que instalaram uma GUI e desejam bloquear o acesso à tela de login e aos terminais.
Configurar horas de acesso
Agora que o serviço PAM foi ativado, precisamos apenas configurar os tempos de acesso. Abra o
/etc/security
. Vários arquivos de configuração estão disponíveis:Edite o arquivo
time.conf
. Algumas explicações e exemplos (em inglês) que introduzem o. Para definir agendas de acesso, copie e cole a seguinte linha de código (no final do arquivo, como sempre):Em vez do campo do usuário, digite a conta de login que você deseja bloquear.
Se você deseja bloquear vários usuários, insira o login deles em uma linha, separado pelo | operador. Por exemplo, se eu quiser congelar as contas de Patrick, John e Emily:
Por contras, se você deseja bloquear o acesso ao sistema para todos os usuários, exceto um em particular, use o! perante a pessoa em questão. Por exemplo, se eu quiser que o acesso ao computador seja negado a todos os usuários, exceto Nicolas e Xavier:
Voltando agora para as zonas de campo. Nesse campo, a seleção de dias e horas permitirá conexão possível. Você deve primeiro especificar o dia da semana, usando as seguintes abreviações:
Cuidado para não confundir as abreviaturas Wk e Wd são enganosas! particularmente mal identificado na Internet: você pode encontrar facilmente informações conflitantes!
Em seguida, especificamos os prazos. Estes devem ser formatados 24H, consistindo de 4 dígitos. Por exemplo, para restringir as 15:17 às 18:34, escrevemos: 1517-1834. Para permitir que Marie se conecte apenas na terça-feira, das 15h17 às 18h34, obtemos o resultado:
As conexões fora deste horário serão proibidas. Quanto aos usuários, é possível usar os operadores | e! para indicar várias vezes (o! indica que todas as horas de logon são permitidas, exceto as que serão mostradas).
As duas estrelas (caracteres curinga) no início da linha de código são, respectivamente, e tty services fields. Como você deseja bloquear todo o acesso ao sistema, não é necessário especificar qual serviço ou qual tty você deseja bloquear. No entanto, se você deseja impedir o uso de um serviço específico, basta especificá-lo como o exemplo a seguir:
Assim, o usuário casar não pode se conectar a um TTY, 4 e 5 durante o fim de semana.
Alguns exemplos de programação de restrições
mathilde tem permissão para se conectar todos os dias das 13:20 às 15:20 e das 16:00 às 20:30:
Stone, Frank e Florian podem se conectar às 14:00 às 18:45 durante os dias da semana e das 14:00 às 22:15 no fim de semana:
Olive nunca tem permissão para se conectar. jessica pode fazer logon na quarta-feira, das 13:00 às 16:00:
2 linhas diferentes, por dois tempos diferentes para cada usuário Expiração de uma Sessão
Quando uma sessão expira (excede o tempo enquanto o usuário já está conectado), o PAM pode alcançá-lo. Enquanto mathilde se conecta durante o horário permitido, é perfeitamente gratuito exceder esse horário! Para isso, usaremos um novo programa: ´cron´. Este aplicativo executa comandos em intervalos de tempo. No nosso caso, usaremos o comando ´skill-KILL-u´ para desconectar o usuário quando a sessão expirar. O manuseio é muito simples. Simplesmente edite o arquivo '/ etc / crontab'. Em seguida, adicione a seguinte linha de código:
Como antes, substituindo os planejamentos de campo Minuto e o tempo desejado. Em seguida, preencha o (s) dia (s) pelo (s) dia (s) banido (s) ou simplesmente digite um asterisco (*) para indicar todos os dias da semana. Por fim, altere o campo usado pela conta de login para ser bloqueado e pronto!
Os dias não percebem o mesmo com os
cron
trabalhos! Aqui está a lista de abreviações a serem usadas com este programa:Alguns exemplos de
cron
trabalhos (com exemplos de horários na seção anterior)jessica pode fazer logon na quarta-feira, das 13:00 às 16:00
mathilde tem permissão para se conectar todos os dias das 13:20 às 15:20 e das 16:00 às 20:30.
Stone, Frank e Florian têm permissão para se conectar às 14:00 às 18:45 durante os dias da semana e das 14:00 às 22:15 no fim de semana
O comando skill-KILL-u desconecta o usuário da GUI, bem como o TTY. É perfeitamente utilizável para administradores de servidores. No entanto, este comando é imediato e a desconexão será feita sem aviso prévio. Portanto, seria preferível impedir a instalação dos usuários deste dispositivo do computador ou rede em questão!
É possível impedir os usuários com um
wall
comando iniciado porcron
alguns minutos antes do final do período , que será exibido nos terminais de todos os usuários.Para impedir que os usuários da GUI possam ser usados no lugar do comando wall,
notify-send
está no pacote libnotify-binUsuário do Ubuntu 11.10
Eu vi em torno do usuário ter problemas com Pam e eu vi um monte de bug sobre isso, então por que razão? é tão simples O Ubuntu 11.10 não suporta mais o GDM, o novo gerenciador de exibição é lightGDM, o problema é o seguinte, onde armazenamos esta diretiva que
account required pam_time.so
eu acho que está/etc/pam.d/lightdm
ou/etc/pam.d/lightdm-autologin
mas como?então, por perto, você pode verificar esses 2 arquivos de log do LightGdm:
ou execute o LightGdm no modo de depuração:
ou relate um bug:
Eu relato o Bug aqui, então cruze seu dedo e espere ....
fonte
TimeKpr
Eu acho que tem tudo que você precisa. Limite o tempo de acesso por dia por usuário, facilidade de configuração, capacidade de ignorar por um dia, adicione "tempo de recompensa", notificação do tempo restante para os usuários, etc.
A página do projeto está aqui . Eles também têm um PPA para o Ubuntu que você pode adicionar a suas fontes de software:
deb http://ppa.launchpad.net/timekpr-maintainers/ppa/ubuntu lucid main
. E instalar via Software Center ou via CLI:sudo apt-get install timekpr
.fonte
Timekpr
pode ser usado no 11.10, executando o LightDM para configurar restrições para usuários, adicionando a seguinte linha ao
/etc/pam.d/lightdm
Talvez seja necessário remover o libpam-smbpass para ativar a troca de usuário até que o bug # 835310 seja corrigido.
Todos os restrições definidos na janela do aplicativo funcionam como definido na GUI do timekpr.
Para exibir o ícone timekpr-client no Unity, precisamos colocar na lista de permissões
'timekpr'
nas configurações do painel do Unity e, além disso, precisamos adicionarUnity
a seguinte linha em/etc/xdg/autostart/timekpr-client.desktop
:Para iniciar a contagem regressiva do tempo concedido, talvez seja necessário iniciar o daemon timekpr com
para 14.04:
Um comunicado / fork mais recente do timekpr foi publicado para o Ubuntu 14.04 por Eduards Bezverhijs na sua
ppa:mjasnik/ppa
.fonte
O logoff automático é extremamente frustrante se você estiver no meio de alguma coisa. É violento, é brutal, é rude. E não importa quantos anos você tem. Uma coisa é que você é viciado em computador e é muito diferente quando está rastreando o tempo e é expulso 5 segundos antes de clicar no botão enviar ou salvar o documento. Sugiro que você considere usar um lembrete automático em vez de um kicker automático. Isso ensinará seus filhos a respeitarem-se e a permitir que usem o computador de boa vontade.
Existe ainda uma alternativa mais leve. Comece acompanhando a quantidade de tempo que cada criança passa usando o computador e disponibilize os dados coletados para todos, para que eles possam vê-lo. Essa coisa incrivelmente simples por si só (aplicada à largura de banda da Internet gasta) salvou minha vida quando eu era administrador de rede em um escritório cheio de adultos. As estatísticas públicas sobre o uso da largura de banda de cada computador (apenas a quantidade de bytes, sem desanimizar informações como listas de sites visitados etc.) mudaram a situação de "eu - o administrador ganancioso contra eles - os pobres usuários abusados do escritório" para "homem, você baixou 5 vezes mais que eu, isso é ruim! " "desculpe, baixei de fato, assisti muito youtube durante o almoço, não vou mais fazer isso nesse ritmo" - fui simplesmente excluído do cenário de confronto.
fonte
Eu também tive esse problema. Então, escrevi o script kidtimer, que permite definir tempos e totais de uso. O projeto pode ser encontrado no Github no seguinte local:
Isto é como instalá-lo e usá-lo:
Copie e cole o código em um arquivo chamado
kidtimer.install
.Execute:
Executá-lo:
Configure uma conta de usuário existente.
Feito.
Para ajuda:
Adicione tempo à conta de um usuário (apenas para esse dia):
Recursos:
Arquivos principais:
Cronjobs:
Nota:
O aplicativo usa
notify-send
para alertar que o tempo do usuário está acabando. Quando o tempo acabar, todos os processos do usuário serão encerrados; portanto, prepare o usuário.fonte
timekpr - Este programa rastreia e controla o uso do computador de suas contas de usuário. Você pode limitar seu uso diário com base em uma duração de acesso cronometrada e configurar períodos do dia em que eles podem ou não podem fazer login. Com esse aplicativo, os administradores podem limitar a duração do tempo de login da conta ou as horas de acesso à conta. O aplicativo funciona como um controle de tempo dos pais e será útil para os pais que desejam limitar o tempo de acesso dos filhos.
Você pode atualizar seu sistema com pacotes não suportados deste PPA não confiável, adicionando
ppa:timekpr-maintainers/ppa
às fontes de software do seu sistema.Este pacote está disponível em:
Hardy
O que são PPAs e como os uso?
PROBLEMA:
Eu relato o Bug aqui, então cruze seu dedo e espere ....
fonte
Introdução
Podemos verificar se um usuário está logado pelo comando:
o que nos dá uma saída como:
Na saída, recebemos o pid do usuário alvo, que precisa ser interrompido se o tempo exceder o limite.
A solução
Supondo que seu usuário não tenha
sudo
privilégios:Esta solução é um pequeno script em segundo plano. Limita o uso por dia a um número definido de minutos, a ser definido no cabeçalho do script. Uma vez configurado (o que não é muito difícil), ele é executado com muita facilidade e nenhuma ação adicional é necessária posteriormente.
Para evitar a perda indesejada de dados de arquivos possivelmente abertos, 60 segundos antes do prazo limite do usuário de destino expirar, uma mensagem será exibida
DISPLAY
:O script
Como usar
limit
limit_use
(sem extensão) dentro da pasta e torne-o executávelEdite no cabeçalho do script o nome do usuário a limitar e o número máximo de minutos permitidos. No exemplo:
Copie a pasta para o diretório
/opt
:Agora edite
/etc/rc.local
para fazer o script executá-lo comoroot
na inicialização:Pouco antes da linha
outra linha:
Explicação; como funciona
/opt/limit/uselog
). Se o limite diário for atingido, o script não permitirá mais o login do usuário, encerrará seu processo, se existir.rc.local
somente usuários com privilégios de sudo podem parar o script, mesmo assim, apenas se o usuário souber o nome do processo.Pare o script
Caso você queira interromper o script, use o comando:
Mas você precisaria da senha do sudo para fazer isso.
fonte
Eu tentei,
timekpr
mas não funcionou. Então fiz uma variante dele que funciona no meu Ubuntu. É isso que é preciso fazer para esta variante:Adicione limite de tempo no
/var/lib/timelimit/user_to_be_limited.limit
arquivo apenas com direitos de root. por exemplo, 1800 por 1800 segundos (30 minutos) de limite diário.Crie
/usr/local/bin/timelimit.sh
com direitos de root com o seguinte:Adicionar a
/etc/rc.local
:Reinicie o Ubuntu
fonte
Acabei de disponibilizar uma resposta facilmente. O código é explicado no thread http://forums.linuxmint.com/viewtopic.php?f=213&t=77687 . Em resumo: um limite configurado em minutos por dia, um trabalho cron a cada minuto, uma mensagem para o usuário para mantê-lo informado e um logoff forçado.
Para baixar e instalar isso, abra um terminal e execute os comandos abaixo:
A senha do administrador será solicitada durante o processo de instalação (para instalar o trabalho cron, para copiar o script,…). De lá, você será guiado por todos. Também existe um ./uninstall.sh no mesmo local, apenas por precaução. É construído para funcionar com todas as distros baseadas no Ubuntu (Mint, etc ... provavelmente também com todos os debian). Se ocorrer algum problema, entre em contato, incluindo a versão do sistema e o ambiente gráfico nos comentários:
Thomas Baeckeroot
fonte
Acabei de lançar uma versão beta do meu novo aplicativo
LittleBrother
que é capaz de monitorar o tempo de reprodução em máquinas Linux. Usuários de teste são bem-vindos para experimentar o pacote Debian. Instruções sobre como fazer o download e usá-lo podem ser encontradas aqui: https://github.com/marcus67/little_brother . A instalação ainda pode ser um pouco difícil, no entanto. Estes são os recursos do aplicativo:Algumas capturas de tela:
fonte