Eu escrevi um script que usa ps -G <groupid> -o uid,cmd
para registrar os comandos que um determinado grupo de usuários de um sistema executa no tempo.
O que eu quero saber é se é possível que os usuários ocultem o que estão fazendo no meu script. E como eles podem fazer isso? Por favor, note que meus usuários não estão no grupo sudo. Então eles não podem usar prctl
; Preciso de outra opção que não exija privilégios administrativos
Pensei em colocar meu código em uma função e definir um alias para ele. Chamar esse alias ocultaria meu script, mas parece que não funciona. Então existe alguma maneira de esconder o código de ps
?
Aqui está um MVC do meu código para mostrar porque acho que o truque do alias não funciona:
#!/bin/bash
foo(){
sleep 3
ps -G 1,2,3 -o uid,cmd -H
}
alias bar='foo'
while true
do
sleep 1
${BASH_ALIASES[bar]}
echo 1
done
E aqui está um resumo das partes relacionadas do que recebo como resultado:
myid -bash (Reasonable)
myid /bin/bash ./myscript.sh (Reasonable)
myid /bin/bash ./mysctipt.sh (I don't care but I wonder why it's appearing twice!)
myid ps -G 1,2,3 -o uid,cmd -H (What I don't want to be viewable)
myid sshd: myusername@pts/9 (Reasonable)
Por favor, note que houve algum recuo na saída (devido à -H
opção em ps
) que removi e os recuos da linha duplicada foram diferentes.
A partir disso, concluímos que o alias etc. não funciona. Por não funcionar, quero dizer que meus usuários não podem fazer alias para seus comandos e executar esses comandos e ocultar seus comandos dessa maneira. Porque se pudessem meu comando ps para o qual eu tinha definido um alias no meu script não deveria ter aparecido no resultado.
Então, aqui está a pergunta em palavras simples:
Existe uma maneira de os usuários não-sudo do meu sistema executar alguns scripts de uma maneira que eu não seja capaz de perceber usando o comando ps.
p.s. Por favor, note que estou ciente dos métodos pam
para registro e outras coisas. Eu só quero ver se esse método funciona.
p.s.s Eu indiquei o método de apelido porque um amigo me disse que isso funcionaria, mas não funcionou. Então eu já expliquei que não parece funcionar para impedir as pessoas de virem e darem isso como resposta.
pedido
!!!
Alguém por favor pode explicar ao meu porque a minha pergunta é encerrada como sendo uma cópia exata de outra questão, enquanto as respostas na questão mencionada não resolve o meu problema?