Kitabımdan ilgili bölümü paylaşıyorum. Umarım faydalı olur.
1.1.1 vsftpd FTP Sunucusunu Kurmak vsftpd Linux türevi işletim sistemleri için açık kaynak kodlu bir FTP sunucu programıdır. Vsftpd’nin belirgin özellikleri güvenli ve hızlı olmasıdır. Çok büyük ölçekli sunucu görevlerinde gösterdiği başarı ile ön plana çıkmıştır. SSL ve Ipv6 desteğine sahiptir. Vsftpd (Very Secure FTP Deamon) sunucu programı hali hazırda Raspbian depolarında bulunduğundan kolayca kurulumunu gerçekleştirebilirsiniz: pi@localhost ~ $ sudo apt-get update pi@localhost ~ $ sudo apt-get install vsftpd -y Kurulumdan sonra vsftpd.conf dosyasını nano editörü ile açarak aşağıdaki ayarları yapalım: pi@localhost ~ $ sudo nano /etc/vsftpd.conf Aşağıdaki ayarların bazıları zaten vsftpd.conf dosyasında bulunan ayarlar. Bunların başındaki # yorum karakterini kaldırıp değerlerini değiştirebilirsiniz, olmayanları ise dosyanın herhangi bir yerine ekleyebilirsiniz: ftpd_banner=Raspberry Pi FTP Sunucusuna Hosgeldiniz. anonymous_enable=NO local_enable=YES write_enable=YES local_umask=007 chroot_local_user=YES user_sub_token=$USER local_root=/home/$USER/ftp Tablo 6.1 - vsFTP yapılandırma ayarlarımız Yukarıdaki ayarlar ile şunları yapmış olduk: · ftpd_banner: Giriş yapacak FTP kullanıcıları için karşılama mesajı hazırladık. · anonymous_enable: Anonim yani şifre belirtmeden giriş yapılması engelledik. · local_enable: Sistemde tanımlı yerel kullanıcıların (örn: pi) giriş yapmasına izin verdik. · write_enable: Kullanıcıların dosyalar üzerinde değişiklik yapabilmesi için yazma izni verdik. · local_umask: Kullanıcıların kendi oluşturacağı dosyalarda tam izne sahip olmalarını sağladık. · chroot_local_user: Kullanıcıların FTP ev dizinlerini değiştirerek dışına çıkamamasını sağladık. · user_sub_token: Kullanıcının ev dizinine sahiplik yapacak dizinin kullanıcı adı ile aynı olmasını sağladık. · local_root: Kullanıcı ev dizininin tam yolunu tanımladık. local_root ayarı ile yaptığımız tanımlamaya dikkat ederseniz FTP ev dizini olarak belirttiğimiz dizin /home/pi/ftp olarak yer almakta. Dolayısıyla öncelikle bu dizinin oluşturulması gereklidir: pi@localhost ~ $ mkdir /home/pi/ftp Tüm FTP programlarında olduğu gibi vsftp’de güvenlik açısından bazı kuralların uygulanmasını zorunlu kılar. Vsftp FTP ana dizininin yazmaya karşı korumalı olmasını gerektirir. Bu nedenle FTP ana dizini içerisinde kullanıcılarının dosyalarını özgürce silip değiştirebileceği bir alt dizinin bulunması gerekir. Bu amaçla FTP ana dizinimizi yazmaya karşı koruyup daha sonra yazılabilir başka bir dizin oluşturacağız: pi@localhost ~ $ chmod 555 /home/pi/ftp pi@localhost ~ $ mkdir /home/pi/ftp/dosyalar pi@localhost ~ $ chmod 777 /home/pi/ftp/dosyalar Artık FTP sunucumuz hazır durumda. Ayarların geçerli olması için sunucumuzu yeniden başlattıktan sonra kullanmaya başlayabiliriz: pi@localhost ~ $ sudo service vsftpd restart 1.1.1.1 vsftpd FTP Oturumlarını canlı olarak izlemek Aktif FTP işlemlerini canlı olarak izlemek için vsftpd.conf dosyasına setproctitle_enable=YES değerini ekleyip sunucuyu yeniden başlattıktan sonra watch komutu ile FTP aktarımlarını canlı olarak izleyebilirsiniz: pi@localhost ~ $ watch ps -C vsftpd -o user,pid,stime,cmd Tablo 6.2 - FTP oturumlarını canlı takip etmek Benzer işlemi vstfpd’nin günlük dosyasını tail komutuyla canlı izleyerek de yapabilirsiniz. Bu şekilde FTP oturumları süresince gerçekleşmiş ve gerçekleşen tüm işlemleri görüntüleyebilirsiniz. pi@localhost ~ $ sudo tail -f /var/log/vsftpd.log Tablo 6.3 - Tail ile günlük dosyasını izlemek Dilerseniz o ana kadar birikmiş tüm günlük kayıtlarını *cat* komutu ile ekrana bastırabilirsiniz. Günlük kayıtları özellikle FTP sunucunuz ile sorun yaşadığınızda hatanın nedenini belirlemek için faydalı bilgiler içerir. pi@localhost ~ $ sudo cat /var/log/vsftpd.log 1.1.1.2 vsFTPd’ye Yeni bir FTP kullanıcısı eklemek FTP sunucusunu kullanmak üzere yeni bir FTP kullanıcısı eklemek için aşağıdaki komutu kullanabilirsiniz: pi@localhost ~ $ sudo useradd -m -s /usr/sbin/nologin yedek pi@localhost ~ $ sudo passwd yedek Yeni parolayı girin:parolayedek Yeni parolayı tekrar girin:parolayedek passwd: şifre başarıyla güncellendi Yukarıdaki komutlar ile kullanıcı adı yedek parolası da parolayedek olan bir kullanıcı ekledik. Güvenlik açısından bu kullanıcıya SSH erişimi vermedik. Komut kabuğu olarak /usr/sbin/nologinprogramını belirttik. Dolayısıyla yedek isimli kullanıcı komut satırına ulaşamayacak. Daha önce yaptığımız gibi yedek kullanıcısının FTP ev dizinini ve erişim izinlerini de ayarlamalıyız: pi@localhost ~ $ sudo mkdir /home/yedek/ftp pi@localhost ~ $ sudo chmod 555 /home/yedek/ftp pi@localhost ~ $ sudo chown yedek:yedek /home/yedek/ftp pi@localhost ~ $ sudo mkdir /home/yedek/ftp/dosyalar pi@localhost ~ $ sudo chmod 777 /home/yedek/ftp/dosyalar pi@localhost ~ $ sudo chown yedek:yedek /home/yedek/ftp/dosyalar Son olarak vsftpd’nin oluşturduğumuz kullanıcıya oturum açabilmesi için /usr/sbin/nologinkomut kabuğu programını /etc/shells dosyasının sonuna bir kereliğine ekleyelim. Daha sonra oluşturacağınız kullanıcılar için bunu tekrar eklememize gerek yok. pi@localhost ~ $ echo "/usr/sbin/nologin" | sudo tee --append /etc/shells *Özgür Koca* <http://www.tankado.com/> <http://www.tankado.com/acik-kaynak/raspberry-pi-board/> <https://github.com/enseitankado> <https://www.instagram.com/ozgur0koca/> <https://www.linkedin.com/in/%C3%B6zg%C3%BCr-koca-287ba534/> <https://tr.pinterest.com/ozgurkocaandroi/> <https://twitter.com/OzgurKoca2> <http://www.facebook.com/zerostoheroes/> On Fri, Sep 7, 2018 at 2:58 PM SEVGI <[email protected]> wrote: > Merhabalar, > Raspbian işletim sistemi üzerinde ftp server kurmaya çalışıyorum. > > sudo apt-get install vsftpd -y > > komutu ile kurulum yaptım. > > /etc/vsftpd.conf dosyamın içeriğini aşağıdaki şekilde düzenledim. > ssl_enable=YES > local_enable=YES > chroot_local_user=YES > local_root=/var/www/html/ > user_sub_token=pi > write_enable=YES > local_umask=002 > allow_writeable_chroot=YES > ftpd_banner=Welcome to my Raspberry Pi FTP > > Daha sonrasında ilgili gruba eklemeleri yaptım. > sudo usermod -a -G www-data pi > sudo usermod -m -d /var/www/html/ pi > sudo chown -R www-data:www-data /var/www/html/ > sudo chmod -R 777 /var/www/html/ > > en son adım da > sudo service vsftpd restart > komutu ile servisi yeniden başlattım. Bu adımların hiç birinde konsol > ekranında her hangi bir hata çıktısı almadım. > > Filezilla dan bağlantı ayarlarını > İLETİŞİM KURALI - FTP DOSYA AKTARIM İLETİŞİM KURALI > SUNUCU - 192.168.1.29 > ŞİFRELEME - OLABİLİYORSA TLS ÜZERİNDE FTP KULLANILSIN > OTURUM AÇMA TÜRÜ - NORMAL > KULLANICI -pi > PAROLA - (login olurken kullandığım parola) > olarak düzenledim ancak bağlan dediğim de > > > "ECONNREFUSED - Bağlantı sunucu tarafından reddedildi" ile bağlantı > kurulamadı. > Hata: Sunucuyla bağlantı kurulamıyor > > hatasını alıyorum. > > Konuyla ilgili sorunu nasıl çözebilirim. > İyi çalışmalar Dilerim. > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php >
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
