Pengaturan kemampuan pada skrip tidak akan efektif. Ini situasi yang sama karena tidak berfungsi setuid
sedikit pada skrip. Mirip seperti pada kasus terakhir ini adalah implementasi bagaimana execve
menangani shebang dan alasan keamanan di belakangnya (untuk detail lihat: Izinkan setuid pada skrip shell ).
Saya pikir Anda memiliki opsi ini
atur kemampuan pada juru bahasa itu sendiri (sebenarnya lebih tepatnya salinannya)
- Anda memiliki masalah di sini bahwa siapa pun yang dapat menjalankannya akan berjalan dengan kapabilitas yang ditinggikan (dapat menjalankan beberapa skrip sewenang-wenang atau memulainya secara interaktif)
tulis wrapper executable yang akan memiliki logika hardcoded untuk mengeksekusi skrip Anda, dan atur kemampuan yang diinginkan pada executable ini
- pastikan tidak ada yang dapat memodifikasi atau menghapus / mengganti skrip
- masih dengan melakukan
chroot
salah satu dapat menyalahgunakan pembungkus tersebut
Dalam kedua kasus Anda harus memastikan kemampuan yang ditetapkan akan bertahan execve
dengan menetapkan inheritable
bendera. Anda mungkin juga menggunakan pam_cap
didistribusikan dengan libcap
biasanya, untuk benar-benar mengaktifkan kemampuan yang diinginkan oleh konfigurasi hanya untuk pengguna yang dipilih.
Dan secara umum Anda ingin memastikan tidak ada yang dapat mengubah perilaku juru bahasa Anda dengan mengubah lingkungan mis. PYTHON_PATH
atau yang serupa.