Ubuntu Sunucunuza ProFTPD Kurulumu ve Ayarları Nasıl Yapılır?
Uzun bir aradan sonra tekrar merhaba.
Aslında uzun zamandır bir şeyler yazayım diye düşünürken, dün bir origin sunucusu için proftpd kurmuştum, hızlıca adımlarını buraya da yazayım diye düşündüm.
Öncelikle,
apt-get update
diyelim paket yöneticisinin paketleri güncellemesini sağlayalım. Ardından proftpd’yi kurmak için
sudo apt-get install proftpd
komutunu çalıştıralım. Bu komut çalıştırılması bittikten sonra proftpd sistemimize kurulmuş olacak. Ardından proftpd’nin ayarları için
sudo nano /etc/proftpd/proftpd.conf
ile config dosyasını açalım ve aşağıda belirttiğim parametreleri düzenleyelim.
DefaultRoot ~ #varsayılan root dizinini belirler.
RootLogin off #root kullanıcı izinlerini düzenler.
AllowStoreRestart on #Kesintiye uğramış yükleme işleminin devam etmesini sağlar.
Port 21 #FTP portunu istediğiniz port ile değiştirebilirsiniz. (seçtiğiniz portun başka uygulamalar tarafından kullanılmadığınına dikkat edin.) Default FTP Portu 21 olduğu için 21 olarak bıraktım.
Bu işlemler ardından conf dosyası kaydedilir, dosyadan çıkılır ardından
sudo proftpd -t
çalıştırılarak yapılan değişiklikler neticesinde conf’ta bir hata olup olmadığı kontrol edilir eğer bir hata yoksa
sudo /etc/init.d/proftpd restart
ile ayarların aktif olması için proftpd restart edilir.
Bu işlemler ardından FTP’ye bağlanacak kullanıcı/kullanıcıları belirleme işlemi var. Bunu 2 farklı şekilde yapabiliriz. İsterseniz sisteme kullanıcı ekleyerek isterseniz de sanal kullanıcı oluşturarak yapabilirsiniz bu işlemi. İkisinden de burada bahsedelim.
Normal kullanıcı oluşturmak için;
sudo useradd ftp_user -d /home/ftp -s /bin/falsesudo passwd ftp_user #ile şifre belirteceğiz.
ile ftp_user adında bir kullanıcı oluşturup onun erişebileceği dizin olarak /home/ftp vermiş olacağız.
Sanal kullanıcı oluşturmak için;
Öncelikle;
sudo nano /etc/proftpd/proftpd.conf
açılır ve aşağıdaki eklemeler yapılır.
RequireValidShell off #Shell ile Bağlanmaya çalışan kullanıcının /etc/shells altındaki köklerden birine sahip olup olmadığını kontrol eder.
AuthUserFile /etc/proftpd/ftpd.passwd #Oluşturulan ya da oluşturulacak sanal kullanıcılar listesinin bulunduğu dosya yolunu belirtiyoruz.
AuthGroupFile /etc/proftpd/ftpd.group #Oluşturulan ya da oluşturulacak sanal kullanıcıların gruplarının listesinin bulunduğu dosya yolunu belirtiyoruz.
AuthOrder mod_auth_file.c #Bu parametre /etc/passwd değil de AuthUserFile kullanılacağı aktif edilir.
Evet şimdi ise sanal kullanıcımızı oluşturalım;
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=test --uid=60 --gid=60 --home=/var/www/html/ --shell=/bin/false
Bu komut ile test isminde, /var/www/html/ dizinine bağlananan ve user id ve group id’si 60 olan (bunun hangi user ve group’a denk geldiğini /etc/passwd altından görebilirsiniz.) bir kullanıcı oluşturacağız. Ben kullanıcı oluştururken www-data kullanıcısı için oluşturdum www-data:www-data için /etc/passwd altından uid ve gid parametrelerini seçerek değiştirdim. Kullanıcı oluşturma işleminin ardından,
sudo ftpasswd --group --name=nogroup --file=/etc/proftpd/ftpd.group --gid=60 --member test
komutu ile de grup dosyamızı oluşturduk. Ardından değişikliklerin uygulanması için;
sudo /etc/init.d/proftpd restart
ile proftpd’yi restart ettik.
Bu işlemlerden sonra eğer herhangi bir kullanıcıya ait şifreyi değiştirmek için aşağıdaki komutu kullanabiliriz.
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name= test --change-password
FTP kullanıcısını lock ya da unlock etmek için;
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=test2 --locksudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=test --unlock
Kullanıcı silmek için ise;
sudo ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=test --delete-user