777 genel olarak kötü bir izin ve nedenini size göstereyim.
Bir Casino'da veya Las Vegas'ta nasıl görünmesine rağmen, 777 sizin için bir jackpot anlamına gelmiyor. Aksine, dosyalarınızı değiştirmek isteyen herkes için jackpot. 777 (ve çirkin kuzeni 666) diğerlerine Okuma ve Yazma izinlerine (ve 777 durumunda, Yürütme) izin verir . Dosya izinlerinin nasıl çalıştığı hakkında daha fazla bilgi edinebilirsiniz , ancak kısacası üç izin grubu vardır: sahip, grup ve diğer . İzni, diğer kullanıcılar için 6 veya 7 ( rw-
veya rwx
) olarak ayarlayarak, herhangi bir kullanıcıya, bu dosyaları ve klasörleri düzenleme ve düzenleme yeteneği verir. Genellikle, tahmin edebileceğiniz gibi, bu güvenlik açısından kötüdür.
İşte benim örneğim:
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
Şimdiye kadar bir klasör oluşturdum ve "kötü" izinlerine sahip bir dosya yaptım (777 ve 666). Şimdi başka bir kullanıcıya geçeceğim ve bu dosyaları değiştirmeye çalışacağım.
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
Bu "kötü niyetli" kullanıcı olarak dosyaları dizine yerleştirebildim ve mevcut dosyalara metin enjekte ettim. Aşağıda 755 bulunan ve 644 olan bir dizinde, içerideki dosyaları ve dizinleri görebiliyorum ancak dosyaları düzenleyemiyorum ya da yenilerini oluşturamıyorum:
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cd /home/marco/Projects
malicious@desktop:/home/marco/Projects$ touch hey
touch: cannot touch `hey': Permission denied
Apache izinlerinde, umask 022
klasörler ve dosyalar için sırasıyla 0755 ve 0644'e (AKA ) bağlı kalmak isteyeceksiniz . Bu, dosyaların sahibi olarak, Apache'ye çalışması için gereken minimum erişim düzeyini verirken, onları düzenlemenizi ve değiştirmenizi sağlar.