اگر به دنبال نصب سرویس FTP هستید نمی توانید نرم افزاری به سادگی VSFTPD بیابید.
FTP مخفف پروتکل انتقال فایل بوده که طی چندین دهه روش استانداردی برای انتقال فایل بین کامپیوترها به حساب می آید.
با وجود اضافه شدن اقدامات امنیتی، اما همچنان FTP به طور طبیعی یک روش ناامن برای انتقال فایل است. با این همه در مواقعی مثل در دسترس گذاشتن فایل ها برای چند کاربر و یا کار کردن در یک شبکه خصوصی و امن می تواند سودمند باشد.
این مقاله نحوه پیکربندی و نصب FTP را با استفاده از نرم افزار VSFTPD در CentOS 7 به شما آموزش خواهد داد.
پیش نیازها
• دسترسی به یک حساب کاربری که با دستور sudo روت شده است
• بسته مدیریتی Yum که به طور پیش فرض نصب شده باشد
• یک ویرایشگر متنی به انتخاب خودتان
نصب FTP در CentOS 7
مرحله 1: نصب FTP توسط VSFTPD
1. ابتدا بسته مدیریتی yum را به روز رسانی می کنیم:
sudo yum update $
اجازه دهید کارش را به طور کامل انجام دهد.
در این مقاله از VSFTPD (مخفف دامنه بسیار امن برای پروتکل انتقال فایل) استفاده می شود که یک نرم افزار بسیار ساده برای ساختن سرور FTP است.
2. نرم افزار VSFTPD را با دستور زیر نصب کنید:
sudo yum install vsftpd $
با وارد کردن Y به سیستم عامل اجازه دهید تا کارش را به اتمام برساند.
3. با دستور زیر سرویس را استارت کرده، زمانی که سیستم بوت شد آن را راه اندازی کنید:
sudo systemctl start vsftpd $
sudo systemctl enable vsftpd $
4. سپس با ساختن دستوری در firewall، به FTP اجازه ترافیک در پورت 21 را بدهید:
sudo firewall-cmd –zone=public –permanent –add-port=21/tcp $
sudo firewall-cmd –zone=public –permanent –add-service=ftp $
sudo firewall-cmd –-reload $
توجه: اگر از اپلیکیشن firewall متفاوتی استفاده می کنید، به قسمت documentation رفته تا پیکربندی پورت 21 را به درستی انجام دهید. بعضی از کلاینت ها از پورت 20 هم استفاده می کنند بنابراین اگر مایل بودید می توانید از آن استفاده کنید. برای این کار، به راحتی خط اول را کپی کرده و عدد 20 را با 21 عوض کنید.
مرحله 2: پیکربندی VSFTPD
عملکرد سرویس FTP در سرور شما به وسیله فایل پیکربندی /etc/vsftpd/vsftpd.conf مشخص می شود.
1. قبل از شروع، از فایل پیکربندی پیش فرض یک کپی بگیرید:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default $
با این کار اگر تغییراتی که در تنظیمات انجام دادید به مشکل برخورد، می توانید با خیال راحت به حالت پیش فرض برگردید.
2. سپس با دستور زیر فایل پیکربندی را ویرایش کنید:
sudo nano /etc/vsftpd/vsftpd.conf $
3. سرور FTP را برای کاربران ناشناس غیرفعال کرده و فقط به کاربران لوکال اجازه دسترسی بدهید.
ورودی ها را در فایل پیکربندی پیدا کرده و با نمونه زیر تطبیق دهید:
anonymous_enable=NO
local_enable=YES
این مرحله بسیار مهم است. زیرا ورود افراد ناشناس خطرناک بوده و باید از آنها اجتناب کرد، در غیر این صورت دچار مشکل می شوید.
4. سپس به یک کاربر لاگین شده اجازه دهید برای سرور FTP شما فایل آپلود کند.
دستور زیر را پیدا کرده و آن را ویرایش کنید:
write_enable=YES
توجه: به طور پیش فرض، این خط با علامت # شروع شده تا بیان کند که این یک کامنت است. در واقع کامنت کردن یک روش مؤثر برای فعال یا غیر فعال کردن دستور ها می باشد. علامت # ، بدون اینکه سیستم آنها را دستورالعمل تلقی کند برای یادداشت برداری در فایل ها نیر کاربرد دارد.
5. دسترسی کاربران را به دایرکتوری اصلی محدود کنید. به این کار jail یا chroot jail می گویند. مانند نمونه زیر تطبیق دهید:
chroot_local_user=YES
allow_writeable_chroot=YES
توجه: گزینه allow_writeable_chroot=YES یک تابعی از FTP می سازد که قابل تست کردن و استفاده است. بعضی administrator ها برای امنیت بیشتر از گزینهuser_sub_token استفاده می کنند.
برای اطلاعات بیشتر در این زمینه به قسمت vsftpd documentation مراجعه کنید.
6. VSFTPD روشی برای ساخت فهرست کاربران فراهم کرده است. برای مدیریت کاربران از این طریق، userlist_enable را پیدا کرده سپس آن را به شکل زیر ویرایش کنید:
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO
اکنون می توانید فایل /etc/vsftpd/user_list را ویرایش کرده و کاربران خود را به آن اضافه نمایید. (هر کاربر را در یک خط اضافه کنید.) گزینه userlist_deny کاربرانی که اضافه شده اند را نشان می دهد؛ اگر تنظیم آن را به حالت yes تغییر دهید کاربران بلاک شده را نشان خواهد داد.
7. پس از اتمام ویرایش فایل پیکربندی، آن را ذخیره کنید. سپس VSFTPD را ری استارت کرده تا تغییرات اعمال شوند:
sudo systemctl restart vsftpd $
مرحله 3: ساخت کاربر جدید FTP
1. برای ساخت کاربر جدید FTP دستور زیر را وارد کنید:
sudo adduser testuser $
sudo passwd testuser $
سپس برای آن رمز عبوری وارد کرده و تایید کنید.
2. به صورت زیر کاربر جدید را به فهرست کاربران اضافه کنید:
echo “testuser” | sudo tee –a /etc/vsftpd/user_list $
3. یک دایرکتوری برای کاربر جدید ساخته و مانند نمونه زیر مجوزها را تطبیق دهید:
sudo mkdir –p /home/testuser/ftp/upload $
sudo chmod 550 /home/testuser/ftp $
sudo chmod 750 /home/testuser/ftp/upload $
sudo chown –R testuser: /home/testuser/ftp $
در اینجا یک دایرکتوری ا home/testuser برای کاربر جدید ساخته شد که فقط مجوز آپلود کردن دارد.
4. حالا می توانید با کاربر جدید خود وارد FTP شوید:
ftp 192.168.01
IP آدرس بالا را با IP آدرس سیستم خود عوض کنید. برای پیدا کردن آن می توانید از دستور ip addr استفاده کنید.
حالا سیستم از شما یک حساب کاربری می خواهد. حساب کاربری که به تازگی ساختید را به همراه رمزعبور وارد کرده سپس لاگین شوید.
مرحله 4: تست کردن FTP
برای تست کردن FTP به صورت لوکال از دستور زیر استفاده کنید:
ftp localhost
به منظور تست کردن به صورت مجازی، دستور زیر را وارد کنید:
ftp your.ftp.server.com
توجه: با وجود تمام اقدامات امنیتی که در این مقاله آورده شده است اما به شدت توصیه می شود که قبل از اجرا کردن سرور FTP حتما از پروتکل های جدید امنیتی استفاده کنید. خصوصا اگر سروری می سازید که به اینترنت دسترسی دارد رعایت کردن این نکته بسیار حائز اهمیت است. چرا که بسیاری از تخلف های امنیتی از پروتکل FTP سرچشمه می گیرند.
جمع بندی
اکنون نحوه نصب سرویس FTP در Centos 7 توسط VSFTPD را یاد گرفتید. حالا می توانید از طریق FTP وارد سرور خود شده و شروع به انتقال دادن فایل هایتان کنید.