صفحه اصلی - جوان سرور

آمورش نصب پرو اف تی پی در لینوکس

آموزش نصب و پیکربندی ProFTPD در سرور CentOS

در این مقاله نحوه نصب و پیکربندی ProFTPD در سرور CentOS7.0 آموزش داده خواهد شد. ProFTPD (Pro FTP daemon) یک نرم افزار آزاد و متن باز و سازگار با سیستم عامل های یونیکس و شبه یونیکس می باشد که تحت مجوز GNU یا GNU Public License (GPL)،توسعه ، متشر و توزیع شده است.

قبل از شروع این آموزش شما باید یک سرور لینوکس مبتنی بر CentOS 7.0 نصب و راه اندازی کنید. سیستم باید یک آدرس آی پی استاتیک داشته باشد. در این آموزش از ۱۹۲٫۱۶۸٫۰٫۱۰۰ به عنوان آدرس IP و از server1.example.com به عنوان نام هاست استفاده شده است .

نصب و راه اندازی ProFTPD

برای این کار EPEL را با اجرای دستور زیر فعال کنید :

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm

سپس ProFTPD و OpenSSL را به شرح زیر نصب  و اجرا کنید :

yum install -y proftpd openssl proftpd-utils

systemctl start proftpd.service
systemctl enable proftpd.service

علاوه بر این در CentOS 7.0 به پیکربندی Firewall-cmd نیاز خواهید داشت :

firewallcmd addservice=ftp permanent
firewallcmdreload
نسخه ProFTPD را با اجرای دستور زیر چک کنید:
proftpd –v
[root@server1 ~]# proftpd -v
ProFTPD Version 1.3.5
[root@server1 ~]#

چگونه کاربر در پرو اف تی پی ایجاد کنیم

ایجاد کاربر در ProFTPD

ابتدا یک گروه به نام  ftpgroup و یک کاربر به نام srijan برای  ProFTPD ایجاد کنید. سپس کاربر ایجاد شده را به دایرکتوری home یعنی /ftpshare محدود کنید.

groupadd ftpgroup
useradd  G ftpgroup srijan s /sbin/nologin d /ftpshare
passwd srijan
[root@server1 ~]# passwd srijan
Changing password for user srijan.
New password: <ftppassword
Retype new password: <ftppassword
passwd: all authentication tokens updated successfully.
[root@server1 ~]#
در مرحله بعد باید یک دایرکتوری حفاظت شده ایجاد کنید که هیچ کاربری نتواند محتوای آن را از بین ببرد و یا تغییر نام دهد، پس مجوزهای دایرکتوری را به شرح زیر تغییر دهید:
chmod R 1777 /ftpshare/
اکنون میتوانید آدرس ftp://192.168.0.100 را در مرورگر تایپ کنید و با نام کاربری srijan و پسورد تعیین شده وارد شوید :
پرو اف تی پی

آموزش نصب و پیکربندی ProFTPD در سرور CentOS

فعال کردن TLS در ProFTPD

به منظور فعال کردن TLS در ProFTPD، فایل  /etc/proftpd/proftpd.confرا باز کنید ، بهتر است قبل از ویرایش فایل، از فایل اصلی یک نسخه پشتیبان تهیه کنید :

cp /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.conf
موارد زیر را اضافه کنید :
<strong>[...]
</strong>DefaultRoot                     ~ !adm
PassivePorts    6000    6100<strong>
[...]
#</strong>&lt;IfDefine TLS&gt;
  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
<strong>#</strong>  &lt;IfModule mod_tls_shmcache.c&gt;
<strong># </strong>   TLSSessionCache            shm:/file=/var/run/proftpd/sesscache
<strong>#</strong>  &lt;/IfModule&gt;
<strong>#</strong>&lt;/IfDefine&gt;
[...]
firewallcmd addport=60006100/tcp permanent
firewallcmd reload
میتوایند وضعیت پورت ها را به شرح زیر چک کنید:
firewallcmd listports
[root@server1 ~]# firewall-cmd –list-ports
6000-6100/tcp
[root@server1 ~]#
علاوه بر این  برای دادن مجوز خواندن و نوشتن فایل ها به SELinux نیاز خواهید داشت
setsebool -P allow_ftpd_full_access=1
به منظور استفاده از TLC ، باید یک SSL certificate بسازید، در این آموزش با اجرای دستور زیر در  /etc/pki/tls/certsیک SSL certificate ایجاد میکنیم :
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
[root@server1 certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Generating a 1024 bit RSA private key
……………………………..++++++
………++++++
writing new private key to ‘/etc/pki/tls/certs/proftpd.pem’
—–
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [XX]:<–DE
State or Province Name (full name) []:<–Hamburg
Locality Name (eg, city) [Default City]:<–Luneberg
Organization Name (eg, company) [Default Company Ltd]:<–ISPConfig
Organizational Unit Name (eg, section) []:<–Development
Common Name (eg, your name or your server’s hostname) []:<–server1.example.com
Email Address []:<–info@example.com
[root@server1 certs]#

مواردی که با رنگ قرمز مشخص شده را با مقادیر دلخواه خود پر کنید .

به دلایل امنیتی این  certificate فقط باید مجوز خواندن  داشته باشد، دستور زیر را اجرا کنید :

chmod  0440 /etc/pki/tls/certs/proftpd.pem

در نهایت سرویس ProFTPD را ری استارت کنید:

systemctl restart proftpd.service

با نرم افزار Filezilla نصب شده در کلاینت میتوانید به سرور ProFTPD متصل شوید.  Filezilla  را باز کرده و اطلاعات زیر را وارد کنید :

فایل زیلا

Host = 192.168.0.100
Protocol = FTP
User = srijan
Port = can be blank if you have not customized it another port than 21
Password = ftppassword (just created above)

از آنجایی که در مرحله قبل این اتصال رمزگذاری شده است ، در قسمت Encryption گزینه ی Require explicit FTP over TLS را انتخاب کنید.

فایل زیلا با پرو اف تی پی

بر روی ok کلیک کنید

دسترسی Anonymous به  ftp

شما می توانید یک حساب Anonymous  در ProFTPD ایجاد کنید، فقط باید این موارد را به آخر فایل پیکربندی ProFTPD اضافه کنید:

nano /etc/proftpd.conf

[...]
###Anonymous share#####
<Anonymous ~ftp>
  User ftp
  Group ftp
UserAlias anonymous ftp
DirFakeUser       on ftp
DirFakeGroup on ftp
MaxClients 10
    <Directory *>    
<Limit WRITE>    
DenyAll  
</Limit>
    </Directory>
</Anonymous>
اکنون باید سرویس را ری استارت کنید :
systemctl restart proftpd.service
سپس از طریق filezilla کانکت شوید:
پرو اف تی پی
بر روی Connectکلیک کنید
امین جوانمرد – جوان سرر
پیروز باشید
سایر آموزش ها
به راهنمایی بیشتری نیاز دارید؟‌ با ما در تماس باشید 95119945-021
logo-enamad