screen
tidak menghapus variabel lingkungan; itu dihapus oleh Linux itu sendiri.
Pada kebanyakan sistem, /usr/bin/screen
executable diinstal dengan bit setgid untuk utmp
grup, agar dapat memodifikasi utmp
database. Ini juga menggunakan setgid untuk mengontrol akses ke direktori socket ( /var/run/screen/
).
Di Linux, ketika program setuid (atau setgid ) dijalankan, ia tidak menerima variabel lingkungan tertentu (termasuk LD_LIBRARY_PATH
, beberapa LD_*
variabel lain , dan HOSTALIASES
), untuk mengurangi kemungkinan titik serangan: Jika tidak, Anda bisa menulis perpustakaan kecil dan trik su
atau sudo
untuk memanggil fungsi "ditingkatkan" Anda dengan cara itu.
Anda dapat menghapus bit setgid dari screen
, tetapi Anda harus membuat direktori socket sepenuhnya dapat diakses oleh semua orang (mode 0777). Namun, itu seharusnya tidak menjadi risiko keamanan, seperti screen
juga memeriksa UID sang guru itu sendiri.
Namun, Anda tidak harus membuat utmp
database bisa ditulis oleh dunia.