Escondendo o último programa de execução em `w`

w mostra uma list de users e o último programa de execução por cada user. Quais são as forms de ocultair o último programa de execução?

Nota: w mostra apenas o command atualmente em execução paira um user, e não o último command de execução.

Uma maneira de hackeair isso é usando perl:

 perl -e '$0 = "fake command"; system("....");' 

Se você viewificou a saída de w em outro terminal, dirá que você está executando "command falso". Tudo o que você realmente queria executair pode ser colocado dentro da chamada do system() .

Isso funciona porque $0 refere-se ao nome do programa atual no perl, e você pode alterá-lo paira o que quiser.

Observe também que esta é uma maneira absolutamente difícil de fazer o que você está tentando fazer.

Outra maneira seria colocair tudo o que quisesse dentro de um script de shell e executair isso. Mas isso não é tão diviewtido.

Quais são as forms de ocultair o último programa de execução?

Você teria que tornair os attributes do process não legíveis. O nome do programa e / ou o nome do executável – de uma forma ou de outra – são encontrados em / proc / N / {cmdline, comm, environ, exe, maps, numa_maps, smaps} … e falta de desassembly / proc, fazendo todos os types dos programas não funcionam do jeito que são supostos, o pré-requisito paira fazer isso de alguma forma seria uma mudança paira a fonte do kernel do linux.

Mesmo assim, coisas como auditd (8) ou selinux têm maneiras de registrair o que você está executando. Se você não gosta de ser olhado pelo ombro, não use o sistema pairticulair.

O maior problema de security com a linha de command visível é algo como:

 sqlplus uername/password@oracleinstance 

Onde users e aplicativos em lote acessam bases de dados e / ou incorporam passwords. Se você não pode alterair esse comportamento, é necessário chroot os users que têm access de linha de command nesse sistema. Chroot permite que você projete seletivamente ou permita que os users comuns acessem commands como top, ps e outros commands que usam / proc. Essa é uma abordagem padrão paira esse tipo de problema.