777 adalah izin yang buruk secara umum dan saya akan tunjukkan alasannya.
Meskipun terlihat seperti di Kasino atau Las Vegas, 777 tidak berarti jackpot untuk Anda. Sebaliknya, jackpot untuk siapa saja yang ingin memodifikasi file Anda. 777 (dan sepupunya yang jelek 666) memungkinkan izin Baca dan Tulis (dan dalam kasus 777, Jalankan) ke yang lain . Anda dapat mempelajari lebih lanjut tentang cara kerja izin file , tetapi singkatnya ada tiga grup izin: pemilik, grup, dan lainnya . Dengan menetapkan izin ke 6 atau 7 ( rw-
atau rwx
) untuk orang lain, Anda memberi pengguna mana pun kemampuan untuk mengedit dan memanipulasi file dan folder tersebut. Biasanya, seperti yang bisa Anda bayangkan, ini buruk untuk keamanan.
Inilah contoh saya:
marco@desktop:~/Projects/AskUbuntu/20105$ cd ..
marco@desktop:~/Projects/AskUbuntu$ chmod 0777 20105
marco@desktop:~/Projects/AskUbuntu$ cd 20105/
marco@desktop:~/Projects/AskUbuntu/20105$ ls -lah
total 8.0K
drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:32 .
drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 ..
marco@desktop:~/Projects/AskUbuntu/20105$ touch test
marco@desktop:~/Projects/AskUbuntu/20105$ chmod 0666 test
Sejauh ini saya telah membuat folder dan membuat file dengan izin "buruk" (777 dan 666). Sekarang saya akan beralih ke pengguna lain dan mencoba memanipulasi file-file itu.
marco@desktop:~/Projects/AskUbuntu/20105$ sudo su - malicious
malicious@desktop:~$ cd /home/marco/Projects/AskUbuntu/20105
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls
test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls -lah
total 8.0K
drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:33 .
drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 ..
-rw-rw-rw- 1 marco marco 0 2011-01-04 20:33 test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ touch bad
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ echo "OVERWRITE" > test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cat test
OVERWRITE
Sebagai pengguna "jahat" ini saya dapat menempatkan file ke direktori dan menyuntikkan teks ke file yang sudah ada. Sedangkan di bawah ini, dalam direktori dengan 755 dan file dengan 644, saya dapat melihat di dalam file dan direktori tetapi saya tidak dapat mengedit file atau membuat yang baru:
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cd /home/marco/Projects
malicious@desktop:/home/marco/Projects$ touch hey
touch: cannot touch `hey': Permission denied
Untuk izin Apache, Anda ingin tetap menggunakan 0755 dan 0644 (AKA umask 022
) untuk masing-masing folder dan file. Ini memungkinkan Anda, sebagai pemilik file, untuk mengedit dan memanipulasi mereka sambil memberi Apache tingkat akses minimum yang diperlukan untuk beroperasi.