Pertama, saya berasumsi bahwa jika ini mungkin perlu dilakukan sebagai root (atau sebagai pengguna yang berbagi UID root dari 0).
Bagaimana proses diluncurkan agar tidak muncul di a ps aux
atau ps ef
atau top
daftar jika perintah dijalankan oleh non-root?
Apakah ini mungkin?
Distribusi yang biasanya saya jalankan adalah RHEL / CentOS dan Ubuntu - jadi jika ada jawaban khusus untuk distro, itu juga oke.
Jawaban:
Nah, Anda punya beberapa opsi di sini. Mengambil jalan keluar yang mudah adalah dengan menukar ps dan program teratas dengan versi modifikasi yang menyembunyikan apa yang ingin Anda sembunyikan.
Alternatifnya adalah dengan menjalankan kode Anda yang tertanam dalam proses yang ada, atau menulis skrip pembungkus di sekitar kode Anda dengan nama yang tidak berbahaya.
Di beberapa versi PS, Anda dapat memodifikasinya dengan mengubah argv [], tetapi tidak yakin apakah itu berfungsi untuk top, dan tidak yakin apakah itu berfungsi di linux (Terutama konvensi BSD).
Itu semua tergantung, pada apa yang ingin Anda capai dengan melakukan ini?
sumber
python myScript.py
dan semuasubprocess.Popen
perintah (yang mungkin atau mungkin tidak mengandung kata sandi) tidak ditampilkan, asalkan prosesnya sama?Menurut tambalan kernel http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=0499680a42141d86417a8fbaa8c8db806bea1201 , Anda dapat menggunakan opsi hidepid untuk sistem file proc:
Anda tidak dapat mengontrol visibilitas pada tingkat proses namun Anda dapat memastikan bahwa pengguna Anda hanya dapat melihat proses mereka sendiri.
Jika Anda memiliki versi kernel lebih besar dari 3,3 Anda dapat mencoba dengan perintah berikut:
sumber
hidepid=2
hal itu sehingga hanya memengaruhi pengguna tertentu (atau jadi membuat daftar putih pengguna tertentu)?root
?gunakan perintah F di atas dan perintah n, misalnya untuk mengkonfigurasi apa yang ingin Anda lihat. gunakan perintah W untuk menulis konfigurasi yang Anda suka ~ / .toprc - use? untuk melihat perintah teratas. Ini dapat memecahkan masalah Anda dengan cepat - itu terjadi pada saya. Dengan F saya dapat menambah / menghapus bidang yang ingin saya lihat, sedangkan di f dapat menggunakan s untuk mengatur jenis, lalu q untuk kembali ke tampilan. lalu n untuk mengatur berapa banyak proses yang ingin saya lihat dan W untuk menyimpan ke .toprc
sumber