نصب سرویس FTP در CentOS 6 با vsftpd

دو حرف اول vsftpd مخفف Very Secure به معنای بسیار امن است. این سرویس FTP به گونه‌ای ساخته شد تا بالاترین درجه ایمنی را در آسیب پذیری‌های مربوط به FTP داشته باشد.

در این آموزش قصد نصب vsftpd به عنوان یک FTP Server را داریم. پس مراحل زیر را دنبال کنید:

1- فرمان زیر را اجرا کنید تا پکیج‌های سیستم عامل بروز شوند:

yum -y update

2- به منظور نصب vsftpd فرمان زیر را اجرا کنید:

yum install vsftpd

3- حال FTP Client را با اجرای فرمان زیر نصب کنید:

yum install ftp

 

تا اینجای کار FTP نصب شد. حال بایستی آن را کانفیگ کنیم:

 

4- فایل کانفیگ واقع در مسیر زیر را باز کنید و متغیرها را مطابق با موارد زیر ویرایش کنید:

nano /etc/vsftpd/vsftpd.conf

بخش anonymous_enable را پیدا کنید و مقدار آن را به No تغییر دهید:

anonymous_enable = NO

بخش local_enable را پیدا کنید و مقدار آن را به Yes تغییر دهید:

local_enable = YES

بخش chroot_local_user را پیدا کنید و مقدار آن را به Yes تغییر دهید:

chroot_local_user=YES

 

5- پس از ویرایش موارد فوق، دو فرمان زیر را اجرا کنید:

service vsftpd restart
chkconfig vsftpd on

 

تا این مرحله نصب، کانفیگ و فعال سازی FTP به اتمام رسید. حال می‌توانید با استفاده از Userهای تعریف شده اقدام به دسترسی به FTP کنید.

 

تنظیم مجوز دسترسی به پورت 21 و 20

پورت استاندارد FTP، برابر با 20 و 21 است. چنانچه این دو پورت در iptable فعال نشده باشند، دسترسی به FTP غیر ممکن است. بنابراین با طی مراحل زیر دو پورت مذکور را در سرور مجاز کنید:

1- فایل زیر را جهت ویرایش باز کنید:

nano /etc/sysconfig/iptables-config

حال بخش IPTABLES_MODULES= را پیدا کنید و مقدار آن را به شکل زیر تغییر داده و فایل را ذخیره کنید:

IPTABLES_MODULES="ip_conntrack_ftp"

2- فایل زیر را برای ویرایش باز کنید:

nano /etc/sysconfig/iptables

دو خط زیر را به آن اضافه کنید:

-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT

مثال:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

3- فرمان زیر را اجرا کنید:

service iptables restart

4- فرمان زیر را اجرا کنید تا اطمینان حاصل کنید که تنظیمات اجرا شده باشند:

lsmod | grep -i ftp

نتیجه بایستی به شکل زیر باشد:

nf_conntrack_ftp       12081  0
nf_conntrack           79761  4 nf_conntrack_ftp,nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state

 

فعال سازی کاربر root جهت دسترسی به FTP:

به طور پیشفرض به دلایل امنیتی مجوز لاگین به FTP با استفاده از کاربر root فعال نیست. اما چنانچه به هر دلیل قصد لاگین به FTP با کاربر root دارید، مراحل زیر را نیز طی کنید:

1- دو فایل زیر را باز کنید و root را از آن ها حذف کنید یا کامنت (#root) کنید:

nano /etc/vsftpd/user_list
nano /etc/vsftpd/ftpusers

2- فرمان زیر را اجرا کنید:

service vsftpd restart

 

چنانجه در هنگام لاگین به FTP با پیام 500 OOPS: cannot change directory:/root مواجه شدید، فرمان زیر را در سرور اجرا کنید تا Selinux غیر فعال شود. سپس می‌توانید بدون خطا به FTP لاگین کنید:
setenforce 0

 

کار تمام شد!

  • 10 کاربر این را مفید دانستند
آیا این آموزش به شما کمک کرد؟

مقالات مربوطه

فعال سازی پورت FTP در iptable

پورت استاندارد FTP، برابر با 20 و 21 است. چنانچه این دو پورت در iptable فعال نشده باشند، دسترسی...

رفع خطای 500 OOPS: cannot change directory:/root در لاگین به FTP Vsftpd

چنانچه از Vsftpd در سرور خود استفاده کرده اید، ممکن است در هنگام لاگین به FTP با خطای زیر مواجه...