FTP 7.0 ile ilgili daha önceki yazılarımızda FTP 7.0 kurulumundan ve bir FTP sitesinin nasıl oluşturulacağından bahsetmiştik. Bu yazımızda ise FTP 7.0'da kullanıcı yetkilendirmelerinden bahsedeceğiz.
IIS 7.0 ile beraber, artık web veya FTP sitesi ile ilgili yetkilendirme yaparken sadece Windows kullanıcıları kullanılmıyor. IIS 7.0 içerisinde sadece IIS için geçerli olan kullanıcılar oluşturabiliyor ve bu kullanıcılara istenilen yetkiler verilebiliyor. Bu şekilde kullanıcıların Windows üzerinde yetkileri olmadığı için sunucu ile ilgili herhangi başka bir yerlere erişmeleri engellenmiş oluyor.
IIS 7.0'ın kullanıcıları ile çalışabilmek için öncelikle IIS 7.0 bileşenlerinden Management Service'in kurulması gerekiyor. Bu kurulumu gerçekleştirmek için Server Manager'ı açıp, soldaki bölümden Roles'e ve Web Server (IIS)'e tıklıyoruz. Sağ bölümde IIS ile ilgili görüntülenecek bilgiler ve ayarlar arasından Add Role Services'a tıklıyoruz. Açılan pencerede Management Service'i işaretleyip sırasıyla Next, Install ve Close'a tıklayarak kurulumu tamamlıyoruz.
Kurulumu tamamladıktan sonra IIS Manager'ı açıp soldaki bölümden sunucu adına tıkladığımızda ortadaki bölümde Management başlığı altında yeni seçeneklerin aktif olduğunu görüyoruz : IIS Manager Permissions, IIS Manager Users ve Management Service.
IIS kullanıcıları ile işlem yapabilmek için ilk olarak Management Service'e çift tıklayarak gerekli ayarları yapıyoruz. Management Service başlatılmış durumda ise ayarlarda herhangi bir değişiklik yapamıyoruz, durdurmak için sağ bölümden Stop'a tıklıyoruz. Sonrasında "Windows credentials or IIS Manager credentials" seçeneğini işaretliyoruz. Uzak yönetim ayarları yapmadığımız için diğer ayarlara dokunmadan sağ bölümden Apply'a tıklayıp ayarları kaydedip, Start'a tıklayarak Management Service'i başlatıyoruz.
Sıra geldi kullanıcı tanımlamaya. Sol bölümden sunucu adına tıklayıp orta bölümden de IIS Manager Users'a çift tıklayarak kullanıcı tanımlayabiliyoruz. Görüntülenen pencerede sağ bölümden "Add User..."a tıklıyoruz. Açılan pencerede kullanıcı adı ve şifre bilgilerini girip OK'e tıklayarak kullanıcı tanımlama işlemini tamamlıyoruz.
Kullanıcı tanımlarken basit ve kısa bir şifre belirlersek IIS bir uyarı mesajı görüntülüyor. Bu mesajda güçlü bir şifrenin nasıl olması gerektiği (rakam, işaret, küçük ve büyük harf içermeli) anlatılıyor ve belirlediğimiz şifreyi kullanmak isteyip istemediğimiz soruluyor. Yes'e tıklayarak belirlediğimiz şifreyi kullanabiliyoruz.
Kullanıcıyı tanımladıktan sonra artık sıra yetkilendirme işlemlerine geldi. IIS Manager'da soldaki bölümden FTP sitemize, orta bölümden de FTP Authentication'a tıklıyoruz. Görüntülenen pencerede sağ bölümden Custom Providers'a tıklayıp açılan pencerede IisManagerAuth'u işaretleyip OK'e tıklıyoruz.
Bir sonraki adımda sol bölümden FTP sitemize, orta bölümden de IIS Manager Permissions'a tıklıyoruz. Görüntülenen pencerede Allow User'a tıklıyoruz. Açılan pencerede IIS Manager'ı seçili duruma getirip alttaki textbox'a direkt kullanıcı adını yazarak veya Select'e tıklayarak listeden kullanıcıyı seçerek OK'e tıklıyoruz.
Yetkilendirme işleminin son aşamasında yine FTP sitemize ve orta bölümden FTP Authorization Rules'a tıklıyoruz. Görüntülenen pencerede Add Allow Rule'a tıklıyoruz. Açılan pencerede yapacağımız tanımlamaya uygun olan seçeneği işaretliyoruz. Kullanıcıya yetki vereceğimiz için Specified Users'ı işaretleyip altındaki textbox'a kullanıcı adını girip "Permissions" bölümünden "Read" ile okuma, "Write" ile yazma hakkı verip OK'e tıklıyoruz.
Bu işlemi tamamladıktan sonra FTP client programı ile bağlanmayı denediğimizde "530 User cannot log in" hatası alacağız. Çünkü yapmamız gereken ayarlar henüz bitmedi :)
FTP hizmetinin çalışabilmesi için FTP sitesi için belirlenen klasöre ve "C:\Windows\System32\inetsrv\config" klasörü ve altındaki administration.config ve redirection.config dosyalarında "Network Service" kullanıcısını veya tanımladığınız kullanıcıyı yetkilendirmek gerekiyor. Bu işlemleri hızlıca aşağıdaki komutlar ile yapabiliyoruz :
- cacls "C:\Windows\System32\inetsrv\config" /G "Network Service":R /E
- cacls "C:\Windows\System32\inetsrv\config\administration.config" /G "Network Service":R /E
- cacls "C:\Windows\System32\inetsrv\config\redirection.config" /G "Network Service":R /E
- cacls "C:\inetpub\ftpklasoru" /G "Network Service":C /T /E
Aynı işlemleri Windows Explorer ile de gerçekleştirebiliriz. Yapacağımız yetkilendirmeler şu şekilde :
C:\Windows\System32\inetsrv\config klasörüne read, list folder content ve execute hakkı
C:\Windows\System32\inetsrv\config\administration.config dosyasına read ve execute hakkı
C:\Windows\System32\inetsrv\config\redirection.config dosyasına read ve execute hakkı
C:\inetpub\ftpklasoru klasörü ve alt klasörlerine modify hakkı
Biraz uzun bir yazı oldu :) FTP 7.0'da yetkilendirme karmaşık gibi gelebilir ancak birkaç deneme yaptıktan sonra öyle olmadığını göreceksiniz.