Como identificar usuário e servidor com comandos curtos?

1

Eu tenho ensinado aos meus alunos o básico do sistema operacional Unix (e Linux) por 4 semanas agora. Eu quero lhes dar uma tarefa em casa a seguir. É o primeiro, então as perguntas e tarefas não serão difíceis. Meu único objetivo real é garantir que todos tenham acesso ao seu próprio ambiente Unix, seja na escola, em casa ou em qualquer outro lugar. Eu também quero ver se eles copiaram as respostas uns dos outros. Eles gostam de copiar e compartilhar.

Haverá uma folha para os alunos preencherem as respostas. A primeira pergunta será " 1. Name, student id ". O segundo será algo como:

" 2. Qual é a saída dos seguintes comandos? "

Eu tenho pensado em comandos como whoami , who , ou talvez who|tail -1 para mantê-lo curto, e hostname , mas todos eles têm suas fraquezas.

Alguns antecedentes: eles não têm sua própria conta de usuário unix na escola, onde usam o mesmo nome de usuário em diferentes estações de trabalho. Não há servidor interativo também. Alguns alunos têm uma unidade flash inicializável com o Linux. Alguns têm um Macbook. O que a maioria dos alunos tem é um amigo ou dois que sabem usar o Unix.

Então, estou pedindo ideias para a segunda pergunta. Quero ver se as respostas são genuínas e se todos usam o Unix por conta própria.

    
por Miro Lehtonen 15.09.2014 / 11:03

2 respostas

1

Você pode tornar as perguntas progressivas e co-dependentes. Então você poderia ter:

  1. Execute MAGIC=$(uuidgen) e forneça a saída de:

    echo $MAGIC
    
  2. Dê a saída de:

    MAGIC_NUMBERS=$(printf '%d\n' "0x$(echo $MAGIC | cut -d- -f1)")
    echo $MAGIC_NUMBERS
    
  3. Dê a saída de:

    echo "$MAGIC_NUMBERS * 3" | bc
    
  4. Corrija o seguinte comando e forneça sua saída:

    bc <<< $MAGIC_NUMBERS - 4 >> $MAGIC && cat $MAGIC
    

Você obviamente precisará declarar em algum lugar que as perguntas precisam ser respondidas em ordem e na mesma sessão.

A probabilidade de uma variável $MAGIC duplicada de uuidgen é infinitesimal, mas alguns dos comandos de processamento que usei aqui são um pouco difíceis. Você pode escrever um script que eles pegam e usam para fazer a parte 2 se você fizer algo com bc .

    
por 15.09.2014 / 13:11
0

como dito no comentário

uname -a ; who am i

uname -a forneceu informações sobre o sistema

Linux mybox 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

who am iw diz ao usuário unix

archemar pts/0        2014-09-15 09:41 (172.16.17.77)

isso, claro, pode ser copiado entre seus alunos (por exemplo,

 Linux anotherbox 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

ao ordenar uname - uma coluna, você pode adivinhar quem está compartilhando a resposta (desde que você não tenha milhares de alunos).

    
por 15.09.2014 / 13:14