Tout d'abord, je suppose que si cela est possible, cela devrait être fait en tant que root (ou en tant qu'utilisateur qui partage l'UID de root de 0).
Comment lancer un processus pour qu'il n'apparaisse pas dans une liste ps aux
ou ps ef
ou top
si la commande est exécutée par un non-root?
Est-ce seulement possible?
Les distributions que j'exécute généralement sont RHEL / CentOS et Ubuntu - donc s'il y a une réponse spécifique à la distribution, ça va aussi.
Réponses:
Eh bien, vous avez quelques options ici. Prendre le moyen le plus simple serait d'échanger les programmes ps et top avec des versions modifiées qui cachent ce que vous voulez cacher.
L'alternative serait d'exécuter votre code intégré dans un processus existant ou d'écrire un script wrapper autour de votre code avec un nom inoffensif.
Dans certaines versions de PS, vous pouvez le modifier en changeant argv [], mais vous ne savez pas si cela fonctionne pour top, et vous ne savez pas si cela fonctionne sous linux (c'est principalement une convention BSD).
Tout dépend, exactement de ce que vous cherchez à réaliser en faisant cela?
la source
python myScript.py
et toutes lessubprocess.Popen
commandes (qui peuvent ou non contenir des mots de passe) ne sont pas affichées, tant que c'est le même processus?Selon le correctif du noyau http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=0499680a42141d86417a8fbaa8c8db806bea1201 , vous pouvez utiliser l'option hidepid pour le système de fichiers proc:
Vous n'êtes pas en mesure de contrôler la visibilité au niveau du processus, mais vous pouvez vous assurer que vos utilisateurs ne peuvent voir que leurs propres processus.
Si vous avez une version du noyau supérieure à 3.3, vous pouvez essayer avec la commande suivante:
la source
hidepid=2
chose afin qu'elle n'affecte que des utilisateurs spécifiques (ou alors qu'elle liste certains utilisateurs en liste blanche)?root
?utilisez la commande F dans la commande top et n, par exemple pour configurer ce que vous voulez voir. utilisez la commande W pour écrire la configuration que vous aimez ~ / .toprc - utilisez? pour voir les principales commandes. Cela peut résoudre votre problème rapidement - il l'a fait pour moi. Avec F, je peux ajouter / supprimer les champs que je veux voir, tandis qu'en f, utiliser s pour définir le tri, puis q pour revenir à l'affichage. puis n pour définir le nombre de processus que je veux voir et W pour enregistrer dans .toprc
la source