Escrevendo um script para dizer quais usuários estão digitando atualmente? [fechadas]

1

Estou trabalhando em um laboratório para uma classe de segurança cibernética e preciso descobrir quando determinados usuários estão se comunicando entre si (por meio de pipes nomeados).

Os usuários usam:

python gameProgram.py

E, em seguida, esse processo recebe dados e os grava nos pipes nomeados.

Eu sei do arquivo / dev / random que é modificado quando alguém digita, mas isso não pode me dizer quem está digitando, certo?

Estou pensando em usar algo como:

grep "voluntary_switches" /proc/####/sched

Estou honestamente bem preso. O acima apenas retorna um inteiro. Além disso, preciso obter o número do processo de alguma forma. Agora estou lutando com um script que me permita ir de (A) uma lista de processos em execução para (B) gerar um nome de usuário quando esse usuário estiver digitando. E infelizmente não há privilégios de sudo.

Eu preciso fazer algo nos moldes de:

echo 'ps | grep "python" |    ???    |  grep "voluntary_switches"'

Mais ou menos ...?

Qualquer ajuda seria muito apreciada!

    
por user1399747 23.04.2013 / 05:25

1 resposta

0

O objetivo do exercício é treiná-lo de uma maneira diferente, de modo que uma resposta com um script bash de 20 linhas para resolver seu problema realmente não ajudará. Para colocar a questão em outras palavras

How can user Alice, using off-the-mill Unix commands only, determine whether user Bob is active/typing?

Uma forma de resolver isso é observar todas as informações que Bob (ou os processos executados por Bob) estão "vazando" através da funcionalidade padrão do Unix, neste caso principalmente a tabela de processos (acessada por ps , top e um monte de outras ferramentas). Para descobrir quais informações estão disponíveis, é melhor experimentar:

  • Faça login uma vez e execute python gameProgram.py com um amigo seu (não digite nada, deixe-o ocioso)
  • Faça o login com uma segunda sessão e use ps para examinar o processo python . Alguma informação muda enquanto ninguém está digitando ou tudo fica igual entre chamadas diferentes para ps ?
  • Comece a digitar / conversar com seu amigo
  • Use ps novamente para ver se alguma coisa muda na saída agora (pelo menos alguma coisa). Você pode usar isso a seu favor?

Quando você tiver o básico (ou seja, saber quais informações de ps são relevantes para determinar a atividade do usuário), combine tudo em um script de shell.

    
por 23.04.2013 / 06:43