در این آموزش قصد داریم که یه سرور ftp با استفاده نرم افزار ProFTPD در لینوکس راه اندازی کنیم
خوب تنها چیزی که نیاز داریم یک سرور مجازی centos 7 و 5 دقیقه وقت هستش
به ssh لوگین کرده و مخازن EPEL فعال میکنیم
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
مخازن سنت اوس ایپدیت میکنیم
yum update
خوب حالا ProFTPD و OpenSSL نصب میکنیم
yum install -y proftpd openssl proftpd-utils
حالا لازمه که سرویس برنامه بالا رو اجرا کنیم
systemctl start proftpd.service systemctl enable proftpd.service
نوبت به تنظیم فایروال میرسه که با دستورت زیر پورت و سرویس مربوط رو باز میکنیم
firewall-cmd --add-service=ftp --permanent firewall-cmd --reload
خوب حالا نوبت به ایجاد گروه رسیده در اینجا ما گروه ftpgroup رو اضافه میکنیم به سیستم عامل و همچنین یک یوزر به اسم pishdad برای لوگین به ftp میسازیم و اون رو محدود به فولدر /home/ftpshare میکنیم
groupadd ftpgroup
حالا وقت اضافه کردن یوزر pishdad به گروه ftpgroup هستش و ساختن پسورد برای پیشداد
useradd -G ftpgroup pishdad -s /sbin/nologin -d /ftpshare passwd pishdad
خوب حالا لازمه فولدر ftpshare که ساختیم در قبال پاک کردن تغییر اسم محافظت کنیم
chmod -R 1777 /ftpshare/
تموم شد حالا کافیه ادرس یا دامین خود رو داخل مرورگر وارد کینم
ftp://IP-ADDRESS
قبل اینکه آموزش تموم بشه اگه بخواهید tls فعال کنید بروی FTP SERVER برای اینکار مطابق زیر عمل کنید
nano /etc/proftpd.conf
تغییرات مطابق متن زیر انجام و جاهایی که قراره اصلاح بشه اصلاح کنید
[...] DefaultRoot ~ !adm PassivePorts 6000 6100 [...] #TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log # [...]# TLSSessionCache shm:/file=/var/run/proftpd/sesscache # #
پورت های لازم در فایروال باز میکنیم
firewall-cmd --add-port=6000-6100/tcp --permanent firewall-cmd --reload
تنظیم SELINUX
setsebool -P allow_ftpd_full_access=1
خوب حالا نوبت به ایجاد SSL certificate رسیده
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
در مرحله بالا یکسری سوالات ازتون پرسیده میشه فقط کافیست دکمه ENTRE بزنید فقط فیلد Common Name جواب بدین IP سرور یا ادرس دامین خودتونو بدین
حالا برای دلایل امنیتی فایل سرتیفیکشن فقط خوندنیش میکنیم
chmod 0440 /etc/pki/tls/certs/proftpd.pem
خوب تنها کار باقی مونده سرویس ProFTP کنیم
systemctl restart proftpd.service
فقط اگر خواستیم که دسترسی Anonymous به FTP Server باز کنیم متن زیر به انتهای فایل زیر اضافه میکنیم
nano /etc/proftpd.conf
حالا متن زیر به انتهای فایل اضافه میکنیم
[...] ###Anonymous share#####User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 DenyAll
حالا میتونیم با استفاده از نرم افزار های FTP Client به سرور کانکت بشیم فقط اگر TLS کانفیگ کردین حواستون باشه داخل نرم افزار کلاینت تنظیمات مربوط ssl فعال کنید
تبریک میگن بهتون شما موفق شدید که ProFTPD Server در محیط CentOS 7 نصب کنید
امیدوارم از آموزش نصب و راه اندازی FTP Server ProFTPD در CentOS 7 لذت برده باشین :)