Permitir que vários usuários façam login e acompanhem seu uso

0

Isto é para fins acadêmicos. Eu estou procurando uma boa opção onde os alunos podem fazer login no sistema usando um nome de usuário e senha e eu posso monitorar o que os alunos estão fazendo. Os alunos devem receber apenas uma concha de bash. Quero impedir que o aluno acesse a mesma conta. Isto é para dar uma atribuição de programação a um conjunto de estudantes. Os principais requisitos são

  1. Os alunos não podem usar outras contas
  2. Preciso ter certeza de que todos eles se conectaram
  3. Eles precisam acessar apenas o shell

Quais são as boas opções disponíveis? Eu tenho acesso ao Debian GNU / Linux em todo o sistema

    
por user61954 03.04.2013 / 16:00

3 respostas

1

1. Students are not allowed to use others account

Você teria dificuldade em forçar os alunos a não compartilharem credenciais de autenticação uns com os outros, a menos que você vá com algo como biometria. Mesmo tokens físicos podem ser passados de uma pessoa para outra. Infelizmente, você basicamente não pode garantir isso.

2. I need to make sure all of them logged in

Você pode verificar se cada conta estava conectada usando algo como last -n1 | grep 'still logged in' . A contabilidade do processo também pode ser uma abordagem viável, dependendo de quais são suas necessidades específicas.

3. They need to get access to the shell only

Isso não seria particularmente útil, pois implica que eles não podem fazer algo tão trivial como obter uma listagem de diretórios ( /bin/ls ), um editor, escrever texto em um arquivo ( /bin/cat - > filename ), testar suas soluções em as atribuições de programação que você lhes dá (o que implica a execução de um interpretador, ou um compilador, linker e executável final).

E o seu ambiente exclui a possibilidade de apenas dar a cada aluno uma conta de usuário normal com acesso a ferramentas padrão? Se você não quiser uma GUI no sistema, pode optar por não instale o X ou forneça apenas acesso SSH não privilegiado com o encaminhamento X desativado. Mas se o seu objetivo é restringir, e. acesso à web, observe que há vários navegadores baseados em texto disponíveis e, se motivados o suficiente, é possível inicializar esse processo usando software relativamente trivial usando módulos prontamente disponíveis (e geralmente necessários).

    
por 03.04.2013 / 16:50
0

Para o monitoramento, por que não dar uma olhada no arquivo .bash_history de cada usuário? Você pode limpar / arquivar no login se precisar registrar sessões individuais.

Para verificar quem está logado, você tem w e last à sua disposição.

Para acesso "somente shell", você pode ter certeza de que o sshd está configurado e instruí-los a se conectar usando o PuTTY.

    
por 03.04.2013 / 16:37
0

Para impedir que os alunos usem contas uns dos outros, isso pode ser feito simplesmente pela maneira como eles enviam seus testes. Por exemplo, vou perguntar a eles que no final do teste, eles devem executar um comando específico (basicamente um script que você preparou) dentro do diretório de trabalho. Este script pode criptografar e tar seu diretório de trabalho; Envie-o por e-mail ou armazene-o em algum local secreto. O script também deve excluir o diretório de trabalho do aluno após o envio. Desta forma, mesmo que alguém use uma conta de outra pessoa, ele não pode obter seu trabalho por qualquer meio.

Quanto ao monitoramento de seus logins, usarei who e por último.

Para o acesso somente da Shell, você pode executar a máquina / servidor linux que eles usarão em runlevel 3 . Você também pode modificar o tweak /usr/bin/startx e seus scripts DM para proibi-los de serem iniciados, mesmo que alguém tenha tentado iniciá-los manualmente. Por exemplo, comentarei todas as linhas em startx e adicionarei uma linha ao final echo "You are not allowed to start X during the exam. This incident have been reported ..." .

    
por 19.04.2013 / 04:07