Saya pikir:
echo hello world > /usr/bin/firefox
akan menampilkan pesan di browser. Tidak ada yang terjadi. Lalu saya mencoba:
echo hello world > /usr/bin/kwrite
untuk melihat apakah kwrite terbuka dengan 'hello world' yang diketik di depan. Sekali lagi, tidak ada yang terjadi. Kemudian setelah mencoba menjalankan kedua perintah:
computer:~$ kwrite
/usr/bin/kwrite: line 1: hello: command not found
computer:~$ firefox
/usr/bin/firefox: line 1: hello: command not found
Perbuatan ls -l /usr/bin/
:
-rwxr-xr-x 1 root root 182576 2012-08-21 06:42 apt-ftparchive
-rwxr-xr-x 1 root root 116996 2012-08-21 06:41 apt-get
-rwxr-xr-x 1 root root 2151596 2011-10-20 21:45 aptitude
-rwxr-xr-x 1 root root 1939 2011-10-20 21:45 aptitude-create-state-bundle
-rwxr-xr-x 1 root root 3007 2011-10-20 21:45 aptitude-run-state-bundle
-rwxr-xr-x 1 root root 7336 2012-08-21 06:41 apt-key
lrwxrwxrwx 1 root root 20 2012-12-29 10:41 /usr/bin/firefox -> /opt/firefox/firefox
-rwxr-xr-x 1 root root 5476 2010-11-17 04:58 /usr/bin/kwrite
-rwxr-xr-x 1 root root 181104 2010-02-16 01:40 zip
-rwxr-xr-x 1 root root 1184 2011-01-21 23:49 zxpdf
File biner di /usr/bin
(dan folder nampan lainnya) di sistem saya, setidaknya pengguna menulis izin pada (?) Jadi apa yang saya lakukan secara efektif adalah menulis ke executable 'hello world', meskipun /usr/bin/kwrite
adalah binary exec sementara /opt/firefox/firefox
adalah skrip shell
Jadi jelas bahwa file yang dapat dieksekusi rentan terhadap jenis kecelakaan ini. Jadi saya ingin bertanya apakah izin menulis itu diperlukan. Saya ingin mematikannya namun saya ingin memastikan saya tidak melewatkan sesuatu di sini.