Pure-FTPd + sanal kullanıcıları ile bir FTP sunucusu nasıl kurulur ve yapılandırılır

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, sanal kullanıcılar, şifrelenmiş bir dosyada (kullanıcı, parola, ayarlar vb.) Saklanacak olan kullanıcılar ile tümü ile bir FTP hizmetini seçtim. Saf FTPd.

İşte size nasıl yapılacağını göstereceğim ... peki, 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.

Okuyacakları tüm komutlar root olarak çalıştırılacaktır, isterseniz her satırın başına "sudo" ekleyebilirsiniz.

1. İlk önce Pure FTPd'yi kurmalıyız:

apt-get install pure-ftpd

Çıktı şu şekilde sona erecek:

yükleme-saf-ftpd

2. Hizmet zaten etkinleştirildi, ancak düzgün yapılandırmadıysak işe yaramaz, kapsamlı bir yapılandırma dosyası koyalım ama neredeyse standart, normali içeriyor, anonim kullanıcılara izin verilmediğini vb.

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf

3. 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, şunu bir terminale koyalı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.

Daha önce / var / www / ftp / içinde sysadmin klasörünü oluşturmuş olmalıdırlar.

4. Şimdi kullanıcı veritabanı dosyasını yenilemeleri gerekiyor, bunun için / etc / pure-ftpd / (cd / etc / pure-ftpd) klasörüne girip terminale koyuyoruz:

pure-pw mkdb

5. Şimdi Pure-FTPd'yi başlatmalıyız ancak sanal kullanıcılar dosyasını kullanacağımızı belirterek, önce 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 uygulamayı kullanmayı denerlerse, oluşturulan kullanıcıyla sorunsuz bir şekilde bağlanabileceklerini göreceklerdir, ancak hiçbir şeyi kopyalayamayacak veya dizin oluşturamayacaklardır, bunun nedeni / var / www / ftp / sysadmin / klasörü ( örnekte olduğu gibi kullanıcının evi) uygun izinlere sahip değil, bir ile düzeltilecek:

chown -R 2001:2001 /var/www/ftp/sysadmin/

Unutmayın, yarattığımız kullanıcılardan biri Uid ve Gid 2001, onu önceki adım 3'teki komutla oluşturduk 😉

7. Hizmeti durdurmak için aynı terminalde [Ctrl] + [C] tuşlarına basın veya başka bir terminalde şunu 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:

rc-yerel-saf-ftpd

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ğunuzda, «kolaylaştırın», kapsamlı bir komuttur, evet, ancak metni perl ve zararsız bir yankı ile değiştirmek basitçe.

8. Bu yapıldıktan sonra, sunucuyu yeniden başlatın ve saf ftpd hizmetinin başlatıldığını ve çalışmaya hazır olduğunu göreceksiniz 😀

Kullanıcılar nasıl silinir?

Daha önce söylediğim gibi, komut saf-pw bir kullanıcıyı silmek için (örneğin, sysadmin) kullanıcıları manipüle etmemiz gereken şey aşağıdakileri koyalım:

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 o kadar çok bağlantının, çoğu zaman karşılayamayacağımız tüketim ürettiğini fark ettim, Pure-FTPd .pdb örneğinde olduğu gibi uygulamanın kendi dosyalarında veritabanları kullanmak gibi tamamen uygun alternatifler 🙂

Herhangi bir şüphe veya soru elimden geldiğince yardımcı olmaya çalışacağım.

Selamlar ve… mutlu hacklemeler!


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   ela dijo

    İşte bu .. Hata durumunda dokümantasyon 😀

    1.    KZKG ^ Gaara dijo

      Adalet'te yaptığım gibi Nginx + MySQL + Spawn_FastCGI'nin nasıl kurulacağına dair bir yazı yazıyorum ve bu sayede blog çok iyi çalışıyor :)

      Umarım yarın veya yarından sonraki gün için hazır olur.

  2.   Rodolfo dijo

    İyi yazı; Komik, son zamanlarda ftp sunucumu koymak için mücadele ediyordum vsftpd ile bile yapamadım ve saf-ftpd'ye gittim ve eğer ihtiyacım olduğunu düşünürsem, dokümantasyonun çok iyi olduğu açık bir onay örneği vermek, ama en azından temeller. Yönlendiricinin kullanılması durumunda şifreleme veya en azından öndeki bağlantı noktası.
    Bu arada, bu komutla pure-ftpwho, sunucuya kimin bağlı olduğunu ve bir şey indirilip indirilmediğini bilmenizi sağlar;).
    Ve size göre, sunucuya bağlanmak için bir veritabanı koymak çok da gerekli değil.

    1.    KZKG ^ Gaara dijo

      Yorum için teşekkürler 🙂

      Evet, gerçekten, yapılandırmada pek çok şeyi (aslında hepsi) açıklamadım, bir sunucuyu nasıl yöneteceğini bilen, bir FTP hizmeti kurmak isteyen birinin, birisinin okumada büyük sorunlar yaşamayacağını varsaymıştım. conf dosyasının yorumları ^ - ^

      Selamlar ve tekrar, yorum için teşekkürler

  3.   tauri dijo

    Merhaba Çok iyi bir gönderi, vsftpd kullanıyorum (ya da en azından şimdilik) ama bununla ilgili bazı problemlerim var ve buna ben de gelip gelmediğimi görmek istedim, yapılandırmasının nasıl olduğunu görmek için herhangi bir url ya da dokümanınız var mı?

    Çok teşekkürler };)

    1.    KZKG ^ Gaara dijo

      Yapılandırmayı burada görebilirsiniz: http://ftp.desdelinux.net/pure-ftpd.conf
      Herhangi bir sorunuz veya bir şeye ihtiyacınız olursa, forumda size memnuniyetle yardımcı olacağımız bir başlık açın 🙂

  4.   Atheyus dijo

    Çok iyi 😀

    Küçük bir şey, perl komutunda ^ sembolü eksiktir, bu nedenle yorumlarda bulunan diğer 0 çıkışını değiştirmez:

    perl -pi -e "s[^exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" rc.local && echo "exit 0" >> rc.local

    selamlar

  5.   omar dijo

    Harika, sadece bir sorum var, nasıl salt okunur bir kullanıcı oluşturabilirim? Centos 6.5, pureftpd, ispconfig ve grafik modunu kullanıyorum.

    İspconfig'i sadece ftp için kullanıyorum

    selam ve teşekkür

  6.   muson dijo

    Pureftp'yi kurmanın bu yolu bir ASCO'dur - hizmeti kök olarak çalışır durumda bırakırsınız, bir sanal kullanıcı oluşturur ve ardından dosya sistemindeki izinleri değiştirirsiniz ve uzun süre ufff vb. Paketin kurulma şekli kullanıma hazırdır, tüm bu adımları uygulamaya gerek yoktur

    1.    ela dijo

      Daha az "iğrenç" bir rehber yayınlamaya davetlisiniz .. 😉

    2.    Sedlav dijo

      Ne öneriyorsun? Dinlemek için ftp sunucusunu 1024'ten büyük bir bağlantı noktasına koyun. Eğer ftp sunucusu standart bağlantı noktasını dinliyorsa: 22, çekirdeğin yeteneklerini değiştirmediğiniz sürece, kök olarak çalıştırılmalıdır, eğer güvenliği artırmak istiyorsanız, SELinux ile bir MAC çerçevesi kullanın, başka bir varyant, sunucuyu hapse atmak / chrootlamak olabilir ftp .

  7.   Ll Terzi dijo

    Pure-ftpd.conf bağlantısı kapalı veya yok. Onu geri yükleyebilir misin?
    teşekkürler

  8.   Ekler dijo

    2 yıl sonra, saf-ftpd.conf dosyasına olan bağlantı hala çalışmıyor 🙁