Ubuntu/Debian Üzerine PureFtpd Kurulumu

 

Kurulum

Önce root oluyoruz. Tüm komutları root olarak yazacağız. Delikanlı sistem yöneticisi sudo mudo uğraşamaz. Hata yapınca da büyük hatalar yapmak ister.

sudo su

Sonra pure-ftpd yi basitçe kuruyoruz.

apt-get install pure-ftpd

Ayarlar

Servisin bir conf dosyası yok. /etc/pure-ftpd/conf altındaki dosyalara yes, no, değer, vs. gibi kısa ayarlar yazarak yapıyoruz tüm ayarları.

cd /etc/pure-ftpd/conf

Servisin daemon olarak çalışmasını sağlıyoruz.

echo "yes" > /etc/pure-ftpd/conf/Daemonize

Kimliksiz girişi iptal ediyoruz.

echo "yes" > /etc/pure-ftpd/conf/NoAnonymous

Herkesi kendi home dizinine hapsediyoruz.

echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone

Yetkilendirmeyi Unix sistem kullanıcıları ile yaptırıyoruz. (Çok çeşitli yetkilendirme yaptırmamız mümkün. Bir veritabanı kullanabiliriz, PAM, LDAP, Active Directory kullanıcıları ile yetkilendirme yapabiliriz.)

echo "yes" > /etc/pure-ftpd/conf/UnixAuthentication

Güvenli dedik. Kullanıcılarımızı SSL kullanmaya zorluyoruz. Burada;

0: TLS yok. 1: TLS opsiyonel, kullanıcı TLS kullanırsa bağlantı güvenli olur. 2: TLS mecburi. İstemci program TLS kullanmıyorsa, bağlantı iptal edilir.

echo "2" > /etc/pure-ftpd/conf/TLS

SSL için bir sertifika oluşturmamız gerekiyor bunun için tabii ki.

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Ve servisi yeniden başlatıyoruz.

service pure-ftpd restart

Kullanıcı Oluşturma

FTP sunucumuz şu anda istediğimiz gibi çalışır durumda. Ama henüz bir kullanıcımız yok. Varsa kullanabiliriz. Yoksa kullanıcı ekliyoruz.

SSH bağlantısı yapabilecek bir kullanıcı eklemek için:

adduser mahmut

Yalnızca FTP kullanıcısı eklemek istiyorsak,

adduser mahmut --home /home/web/mahmut --shell /usr/sbin/nologin

Bu kullanıcıya dikkat ettiğiniz üzere shell olarak nologin verdik. SSH ile bağlanmayı deneyebilirsiniz. Sisteminize göre bir red mesajı alacaksınız.

Kullanıcının ev dizini de dikkatinizi çektiği gibi /home altında değil, /home/web altında. Bunun için önce mkdir /home/web komutuyla bu dizini oluşturuyoruz.

Kullanıcı eklemeden önce Ubuntu sistemi için bir hatırlatma daha, sistem genelinde kullanıcılar birbirlerinin ev dizinlerinin içeriğini görebiliyorlar. Güvenli ve gizliliğe önem veren sistemimizde bunu engellemek için dpkg-reconfigure adduser komutunu verip (no cevabı ile) iptal etmemiz gerekiyor.

Kullanıcımızı oluşturduk ama hala giriş yapamıyoruz. Kullanıcı geçersiz diyor değil mi? Çünkü nologinshell i geçerli bir shell değil.

/etc/shells dosyasının sonuna /usr/sbin/nologin satırını eklememiz gerekiyor. Kısaca

echo "/usr/sbin/nologin" >> /etc/shells