[Nasıl] Arch Linuxta FTP Sunucu Kurmak

Başlatan cihan-tristit, 21 Nisan 2009 - 12:29:58

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

cihan-tristit

PART 1

1. Komut satırından vsftpd ve xinetd paketlerini yüklüyoruz.

# pacman -Sy xinetd vsftpd

2. Sunucu her açıldığında otomatik olarak başlaması için rc.conf'ta "DEAMONS=(...)" kısmına "vsftpd ve xinetd" ekliyoruz:

"DEAMONS=(... netfs  vsftpd xinetd crond ....   )"

3. /etc/xinetd.d/vsftpd dosyasını düzenliyoruz, düzenlenmiş halinin içeriği aşağıdaki gibi olmalıdır. (Bendeki konfigrasyon dosyasında sadece "disable = yes" olan satırı "disable = no" yaptım)

service ftp

{

socket_type = stream

wait = no

user = root

server = /usr/sbin/vsftpd

log_on_success += HOST DURATION

log_on_failure += HOST

disable = no

}

4. /etc/vsftpd.conf dosyasını isteğimize göre düzenliyoruz. Benim değiştirdiğim satırlar aşağıdaki satırlar:

anonymous_enable=NO
local_enable=YES
write_enable=YES

5. Eğer ftp bağlantısı yapmaya çalışırken " 500 OOPS: cap_set_proc " gibi bir hata alırsanız /etc/rc.conf dosyasında "MODULES= " satırına  "capability" yi ekleyin.

MODULES=(fuse capability)

6. /etc/hosts.allow dosyasında ftp istemciler için izin vermelisiniz. Bu dosyaya yeni bir satır olarak

vsftpd: ALL

satırını ekliyoruz.

7. ftp ile bağlanması için yeni bir kullanıcı ekleyelim ve şifresini verelim. Komut satırından:

# useradd -m cihan

# passwd cihan

8. vsftpd servisini başlatalım. Komut satırından:

# /etc/rc.d/vsftpd start

9. Artık cihan kullacısı ile istediğimiz bir ftp istemcisinden sunucumuza bağlanabiliriz.

PART 2

Eğer kullanıcılarınızın sisteminize login yetkisi olmayan sanal kullanıcılar olmasını istiyorsanız, yani sisteminize login için kullanabilecekleri bir hesap şeklinde oluşturmak istemiyorsanız aşağıdaki adımlarla sanal kullanıcılar oluşturabilirsiniz.

1. /home/arch/ altında logins.txt diye bir dosya oluşturuyorum (Siz de dilediğiniz dizinde oluşturabilirsiniz.)

2. logins.txt'nin içerisine kullanıcı adı ve şifreleri yazıyorum(ben burada kullanıcı adını "ftparch" ve şifreyi "ftp12" verdim, siz dilediğiniz kullanıcı adı ve şifreyi verebilirsiniz, ayrıca eğer birden fazla kullanıcı ekleme isterseniz de alt alta ekleyebilirsiniz) :

ftparch

ftp12

3. Root yetkilerini alarak terminalden:

# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db

komutunu çalıştırıyoruz. burada dikkat etmeniz gereken başka bir husus ta
yukarıdaki komutta logins.txt'nin yolunu doğru belirtmek olacaktır.

4. Aşağıdaki komutla az önce yarattığımız login.db dosyası için yetkileri kısıtlayalım:

# chmod 600 /etc/vsftpd_login.db

5./etc/pam.d/ dizininde ftp isimli bir dosya oluşturup içerisine aşağıdaki satırları ekleyelim:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login crypt=hash
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login crypt=hash

6. virtual isimli bir genel kullanıcı yaratıp home klasörünü /srv/ftp olarak atayalım:

# useradd -d /srv/ftp virtual

7. virtual kullanıcısına sahiplik ve yetkilerini verelim:

# chown -R virtual /srv/ftp/
# chmod -R 770 virtual

8. /etc/vsftpd.conf dosyasını açarak aşağıdaki satırları bulup, karşılıklarındaki gibi değiştirelim:

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=virtual
virtual_use_local_privs=YES

9. ftp servisini durdurup tekrar başlatalım:

# /etc/rc.d/vsftpd stop
# /etc/rc.d/vsftpd start

10. Artık istediğimiz ftp istemcisinden kullanıcı adı: ftparch ve şifre: ftp12 olarak bağlanıp
dosya transfer işlemini gerçekleştirebiliriz.


Not: Kaynak: http://wiki.archlinux.org/index.php/Very_Secure_FTP_Daemon



hasansahin

Anlatım güzel olmuş,teşekkürler. Lütfen sabitlensin.
Anyone who has never made a mistake has never tried anything new.
Albert Einstein.

ihtiyar said

Alıntı yapılan: HasanŞahin - 21 Nisan 2009 - 16:44:15
Anlatım güzel olmuş,teşekkürler. Lütfen sabitlensin.

Bu güzel anlatım için öncelikle teşekkür ediyoruz, etiketleyip ardından sabitliyoruz.