Şimdi Ara

Vsftpd hakkında bilgisi olan var mı?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
321
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
Öne Çıkar
0 oy
Sayfa: 1
Giriş
Mesaj
  • http://forum.donanimhaber.com/m_16952111/tm.htm

    Aynı konuyu buraya da açtım.Fakat bir de hostingçilere sorayım dedim.Yardım edebilecek misiniz?
    Teşekkürler



    _____________________________
  • ALINTI YAPIYORUM,





    Bu makalemizde vsftpd (linux sunucular için) FTP server uygulamasına nasıl virtual user ekleyeceğiz bundan bahsedeceğim. En basitten başlayıp konuyu madde madde ele alan bir makale olmasını hedefliyorum. Umarım Türk kullanıcı arkadaşlar bu makaleden tıpkı vsftpd FTP server kurulumu makalemizden yararlandıkları gibi yararlanırlar. Anlatıma geçmeden önce belirtmem gerekirki bu anlatım tüm linux dağıtımları için geçerlidir ve herhangi bir dağıtıma özel (debian, redhat vb…) notlar içermemektedir.


    Virtual User Nedir?

    Türkçesi Sanal Kullanıcı olan virtual user, kurduğunuz sisteme giriş yetkisi olmasa da (işletim sisteminizde kayıtlı bir kullanıcı) birazdan yapacağımız ayarlar sonucu FTP erişimi elde edebilecek, sizin belirlediğiniz FTP dizininde indirme ve gönderme yapabilecek harici kullanıcılara verilen isimdir. Sadece FTP kullanım amacıyla bir kimseye, sisteminizde kullanıcı olarak giriş izni vermektense FTP için giriş izni vermek sizinde gördüğünüz üzere daha güvenilir bir yöntemdir. İşte bu anlatımda biz vsftpd FTP sunucusu için virtual user(lar) oluşturup bunların sisteminize girmeden, kendilerine verilen FTP hesaplarını kullanmalarını sağlayacağız.

    Bu kısa açıklamadan sonra virtual user oluşturma işlemine geçelim.

    1-) Virtual User için veritabanı oluşturma.

    Virtual userlar erişim kontrolü için öncelikle pam_userdb kullanacağız (Diğer bir yöntem ise pam_pwdfile dosyası kullanılarak gerçekleştirilendir ancak ona değinmeyeceğiz). pam_userdb veritabanı uygulaması, kullanıcı adlarını ve şifrelerini kullanabilmek için bir db (veritabanı) dosyasına ihtiyaç duyar. db biçiminde bir veritabanı dosyası oluşturmak için öncelikle içerisnde kullanıcı adlarının ve şifrelerinin bulunduğu bir metin dosyası (logins.txt) oluşturmalıyız. Dikkat etmeniz gereken nokta bu metin dosyasındaki kullanıcı adı ve şifrelemelerin yazımıdır. Bir örnek daha iyi anlatır, diyelim kullanıcı adı “webdr”, şifreside “123456″, başka bir kullanıcımız daha var onun adıda “asnfist” ve şifresi “789″ olsun. Bu iki kullanıcı bilgilerinin bulunduğu metin dosyası aşağıdaki düzendeki gibi olmalı ve her satıra bir öğe (kullanıcı adı, şifre) gelmelidir.

    webdr
    123456
    asnfist
    789

    Şimdi bu dosyayı bahsettiğim gibi (logins.txt) bir metin dosyası olarak kaydedelim (ect/vsftpd dizinine kaydederseniz bundan sonraki anlatımlarda sizin için kolaylık olur). Bu dosyanın amacı birazdan oluşturacağımız veritabanı dosyasına kaynak olmaktır. Diğer bir ifadeyle eğer sonradan bir kullanıcı eklemek isterseniz ve db dosyalarını düzenlemekle zaman kaybetmek istemiyorsanız. Bu noktaya dönmeli, logins.txt dosyasına gerekli kullanıcı eklemelerinı yapmalı ve bundan sonraki işlemleri tekrarlamalısınız.

    Sıra veritabanı oluşturmaya geldi. Veritabanı oluşturmak için Berkeley DB kullanacağız (sisteminizde zaten bulunuyor olabilir) . O yüzden öncelikle kontrol etmelisiniz. Sadece bulunup bulunmadığı için değil sürümününde bizim için önemli olmasından dolayı. (komutu yazdığımda sürüm konusu açıklığa kavuşacak) , diğer taraftan eğer yüklü değilse yukardaki Berkeley DB yazısına tıklayarak kaynak kodlarına ulaşabilirsiniz ve kaynak kodlardan programı kurabilirsiniz.

    Sisteme root olarak giriş yaptınız ve cd komutu ile logins.txt dosyasını kaydettiğiniz dizine geldiniz. Komut satırına aşağıda verdiğim komutu yazarak kullanacağımız veritabanını oluşturacağız.

    db4_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db

    Bu komutu kısaca açıklamam gerekirse, db4_load ki en önemliside budur, db4 ; Berkeley DB sürüm 4 demektir, eğer önceden kontrol ettiğinizde sisteminizde 3 yüklü ise db3 olarak değiştirin, ancak bunlara rağmen en sonunda bir sonuca ulaşamazsanız geri buraya dönüp direk db_load olarak girin komutu lütfen.

    Bu komut sonrasında /etc/vsftpd/ klasöründe vsftpd_login.db adında bir veritabanınız oluşacak. Yine veritabanı ile ilgili önemli noktalardan biri veritabanına gerekli yetkileri vermekle ilgilidir. O yüzden yeni oluşturduğumuz veritabanına aşağıdaki komutla bir erişim yetkisi atıyoruz.

    chmod 600 /etc/vsftpd/vsftpd_login.db

    Bu aşamayıda geride bırakınca içerisinde virtual userlarınızın bilgilerinin bulunduğu bir veritabanınız var demektir.

    2-) Veritabanınızı kullanacak PAM dosyasını oluşturmak.

    Bu dosya sayesinde PAM uygulamasının, bu dosyaya girerek erişim isteyen kullanıcının bilgilerinin geçerliliğini kontrol etmesini sağlamış olacağız.

    Öncelikle /etc/vsftpd/ dizininde vsftpd.pam adlı bir dosya oluşturalım ve içerisine aşağıdaki kodları yerleştirelim.

    auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

    Daha sonra oluşturduğumuz bu vsftpd.pam dosyasını

    /etc/pam.d/

    yani kendi dizinine taşıyalım.

    3-) Virtual userlar için dizin belirlemek ve virtual kullanıcısını sisteme eklemek

    Aşağıdaki komut ile sisteminize virtual user ekleyeceksiniz ancak bu virtual user ile ilgili hiçbir bilgiyi vermeyeceğiniz için güvenlik açısından birşey değişmeyecek, siz sadece logins.txt dosyası içine yerleştirdiğiniz şifre ve kullanıcı adını, kullanıcılarınıza vereceksiniz.

    useradd -d /home/ftpsite virtual

    Bu komut ile varsayılan dizini /home/ftpsite olan virtual user eklediniz. Virtual user olarak FTP girişi yapan kimseler bu dizine uğrayacaklardır.

    İpucu: Belirttiğiniz klasörü kullanan kaç virtual user var görmek için komut satırına

    ls -ld /home/ftpsite

    yazın.

    4-) Virtual User için vsftpd.conf dosyasının yapılandırılması

    Aşağıdaki komutları zaten yapılandırmış olduğunuz vsftpd.conf dosyasının sonuna ekleyin lütfen, açıklamaları ile birlikte anlatacağım.

    A-) chroot_local_user=YES

    Bu komut ile virtual userlarin /home/ftpsite dışında gezmelerini önlersiniz.

    B-)

    guest_enable=YES
    guest_username=virtual

    Bu iki komut virtual user kullanımına aktive etmeniz için yapılandırma dosyasına eklemeniz gereken en önemli komutlardır. İkisinide istisnasız ekleyin.

    Bu değişiklikleri yaptıktan sonra vsftpd dosyasını kaydedin ve vsftpd uygulamasını başlatıp, belirlediğiniz virtual user kullanıcı adı ve şifreleri ile giriş yapın.

    Eğer bir sorunla karşılaşırsanız buyrun beraber çözeriz ama daha öncesinde makaleyi ayrıntılı okuduğunuzdan emin olun.

    Hepinize iyi çalışmalar dilerim.


    Bilginize,
    _____________________________




  • Bunu denedim gerekli eklentiyi de yaptım yazan programı fakat db4_load ve db_load komutları da bulunamadı diyor.
    _____________________________
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.