Ben yenilik yapmayı ve yeni şeyler öğrenmeyi sevenlerden biriyim, çok geçmeden bir FTP sunucusu kurup yapılandırmam gerekti ve bunu her zaman yaptığımdan farklı yapmaya karar verdim.
Bu durumda, Pure FTPd ile sanal kullanıcılar içeren bir FTP hizmetini tercih ettim; kullanıcılar şifrelenmiş bir dosyada (kullanıcı adı, parola, ayarlar vb.) saklanacak.
Burada size bunu nasıl yapacağınızı göstereceğim… peki, haydi başlayalım
Her şeyden önce, bu eğitimdeki komutların Debian gibi dağıtımlar için tasarlandığını veya bunlara dayalı olduğunu belirtin, ancak birisi sunucusunda başka bir dağıtım kullanıyorsa, aynı paketleri yüklemeli ve aşağıdaki ayarları kullanmalıdır; değişiklik, yükleme komutudur.
1. Öncelikle Pure FTPd'yi kurmamız gerekiyor:
apt-get install pure-ftpd
Çıktı şu şekilde sona erecek:
2. Servis zaten etkinleştirilmiş durumda, ancak doğru şekilde yapılandırmadıysak işe yaramaz. Diyelim ki uzun ama neredeyse standart bir yapılandırma dosyamız var; anonim kullanıcıların izin verilmediğini belirten vb. olağan şeyleri içeriyor.
cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf
3. Tamam, FTP klasörümüzün /var/www/ftp/ olduğunu ve /var/www/ftp/sysadmin/ klasörüne bilgi yükleyebilecek bir kullanıcı oluşturmak istediğimizi varsayalım. Terminale aşağıdakileri yazalım:
pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/
Bu şu anlama gelir:
pure-pw: Pure-FTPd kullanıcılarını manipüle etmek için kullanılan komut
useradd: Bir kullanıcı ekleyeceğimizi belirtiyoruz
sysadmin: Oluşturmak istediğim kullanıcı
-u 2001: Bu kullanıcının Kullanıcı Kimliği
-g 2001: Bu kullanıcının Grup Kimliği
-d / var / www / ftp / sysadmin /: Kullanıcının evi olacak, yani bir şeyler yükleyecekleri klasör
Önceki satıra girdiğinizde size o kullanıcının şifresini soracaktır.
4. Şimdi kullanıcı veritabanı dosyasını yenilemeniz gerekiyor. Bunu yapmak için /etc/pure-ftpd/ klasörüne gidin (cd /etc/pure-ftpd) ve terminale aşağıdakileri yazın:
pure-pw mkdb
5. Şimdi Pure-FTPd'yi başlatmalıyız, ancak sanal kullanıcılar dosyasını kullanacağımızı belirtmeliyiz. Öncelikle servisi durduralım:
/etc/init.d/pure-ftpd stop
Ardından, varsayılan olarak normal şekilde başlamayacağından emin olacağız:
chmod -x /etc/init.d/pure-ftpd
Ve şimdi hizmete kendi yöntemimizle başlıyoruz:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
6. FileZilla gibi bir uygulama kullanmayı denerseniz, oluşturulan kullanıcıyla sorunsuz bir şekilde bağlanabildiğinizi göreceksiniz; ancak hiçbir şeyi kopyalayamayacak veya dizin oluşturamayacaksınız. Bunun nedeni, /var/www/ftp/sysadmin/ klasörünün (bu örnekte kullanıcının ana dizini) uygun izinlere sahip olmamasıdır. Bu şu şekilde düzeltilebilir:
chown -R 2001:2001 /var/www/ftp/sysadmin/
Unutmayın, Uid ve Gid 2001 oluşturduğumuz kullanıcıya ait, onu bir önceki adımdaki komutla oluşturduk 3
7. Hizmeti durdurmak için aynı terminalde [Ctrl]+[C] tuşlarına basın veya başka bir terminalde aşağıdakileri yapın:
killall pure-ftpd
Şimdi sunucu başladığında hizmetin sistem ile otomatik olarak başlayacağını göstereceğiz, bunun için /etc/rc.local dosyasını değiştiriyoruz ve "çıkış 0" yazan son satırdan önce başlattığımız komutu koyuyoruz. FTP hizmeti:
/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb
Başka bir deyişle, şöyle görünecektir:
Dosyayı nano, vi veya en sevdiğiniz düzenleyiciyle düzenleyebilir veya isterseniz işinizi kolaylaştıracak bu komutu kopyalayıp yapıştırabilirsiniz:
perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local
…evet evet… okuduğunuz gibi, “kolaylaştır”, kapsamlı bir komut evet, ama sadece metni perl ve zararsız bir yankıyla değiştirmekten ibaret
8. Bu işlem tamamlandıktan sonra sunucuyu yeniden başlatın; pure-ftpd servisinin başlatıldığını ve çalışmaya hazır olduğunu göreceksiniz.
Kullanıcılar nasıl silinir?
Daha önce de belirttiğim gibi, kullanıcıları yönetmek için pure-pw komutuna ihtiyacımız var. Bir kullanıcıyı (örneğin, sysadmin) silmek için aşağıdaki komutu kullanırız:
cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb
Herhangi bir kullanıcıda her değişiklik yaptığınızda, kullanıcıların sanal veritabanı dosyasını yeniden oluşturmanız gerektiğini, / etc / pure-ftpd / içinde bulunduğunu ve pure-pw mkdb ile üretildiğini / güncellendiğini unutmayın.
Her neyse, arkadaşlar ekleyecek çok şey olmadığını düşünüyorum, sizi saf-pw'nin yardımını okumaya davet ediyorlar çünkü bize burada gösterdiklerimden çok daha fazlasını sağlıyor (bu sadece kısa ve neredeyse temel bir öğretici).
Bir veya iki yıl önce her şeyi OpenLDAP veya MySQL'e bağlayanlardan biriydim, ancak zaman geçtikçe sunucu olan veritabanlarına yapılan o kadar çok bağlantının çoğu zaman karşılayamayacağımız bir tüketim ürettiğini fark ettim. Pure-FTPd .pdb örneğinde olduğu gibi uygulamanın kendi dosyalarındaki veritabanlarını kullanmak gibi uygulanabilir alternatifler
Herhangi bir şüphe veya soru elimden geldiğince yardımcı olmaya çalışacağım.
Selamlar ve… mutlu hacklemeler!