Pure-FTPd-ի տեղադրում Ubuntu 24.04-ում


Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար

  • Ubuntu 24.04 (Noble Numbat)
  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 10.10 (Maverick Meerkat)

Այս էջում

  1. Pure-FTPd-ի տեղադրման նախադրյալները
  2. Pure-FTPd-ի քայլ առ քայլ տեղադրում

    1. Համակարգային փաթեթների թարմացում
    2. Pure-FTPd-ի տեղադրում
  3. Pure-FTPd-ի կարգավորում ընդլայնված անվտանգության համար

    1. Անվտանգ միջավայրի ստեղծում
    2. Օգտագործողի մուտքի կառավարում
    3. TLS-ի կարգավորում՝ տվյալների անվտանգ փոխանցման համար
  4. Ընդլայնված կազմաձևման ընտրանքներ

    1. Օրինակներ
  5. Մոնիտորինգ և սպասարկում

Pure-FTPd-ն անվճար, բաց կոդով FTP սերվերի ծրագիր է, որը հասանելի է Ubuntu-ի և Linux-ի այլ բաշխումների համար: Նախագծված՝ կենտրոնանալով անվտանգության, կատարողականության և օգտագործման հեշտության վրա՝ Pure-FTPd-ն առաջարկում է ամուր գործառույթներ, ինչպիսիք են աջակցությունը վիրտուալ օգտատերերին, գաղտնագրված կապերը՝ օգտագործելով TLS/SSL և նույնականացման տարբեր մեխանիզմներ: Այն նաև տրամադրում է այնպիսի հնարավորություններ, ինչպիսիք են թողունակությունը սահմանափակելը, օգտվողի թույլտվությունները սահմանափակելը և անանուն FTP մուտքի հնարավորությունը: Pure-FTPd-ը հաճախ ընտրվում է կոնֆիգուրացիայի մեջ իր պարզության համար՝ համեմատած այլ FTP սերվերների հետ, ինչը այն դարձնում է հանրաճանաչ ընտրություն Ubuntu համակարգերում ինչպես փոքր, այնպես էլ լայնածավալ տեղակայման համար:

Ֆայլերի փոխանցման արձանագրությունը (FTP) ստանդարտ ցանցային արձանագրություն է, որն օգտագործվում է հաճախորդի և սերվերի միջև ֆայլեր փոխանցելու համար ցանցի միջոցով, ինչպիսին է ինտերնետը: 1970-ականների սկզբին մշակված FTP-ն թույլ է տալիս օգտվողներին վերբեռնել, ներբեռնել և կառավարել ֆայլերը հեռավոր սերվերի վրա: Այն գործում է երկու ալիքի միջոցով՝ կապը վերահսկելու հրամանի ալիք և ֆայլեր փոխանցելու տվյալների ալիք: FTP-ն կարող է աշխատել ինչպես ակտիվ, այնպես էլ պասիվ ռեժիմով, որը թելադրում է, թե ինչպես են սերվերը և հաճախորդը կապեր հաստատում: Չնայած այն լայնորեն օգտագործվում է ֆայլերի փոխանցման համար, FTP-ն համարվում է անապահով, քանի որ տվյալները, ներառյալ մուտքի հավատարմագրերը, փոխանցվում են պարզ տեքստով. Ես ձեզ ցույց կտամ այս ուղեցույցում, թե ինչպես կարելի է կարգավորել Pure-FTPd-ն օգտագործելու համար FTPS-ը (FTP-ն SSL/TLS-ի միջոցով)՝ դարձնելով FTP-ն անվտանգ:

Այս ձեռնարկը քայլ առ քայլ առաջնորդում է ձեզ Ubuntu-ում Pure-FTPd-ի տեղադրման և կազմաձևման գործընթացում:

Pure-FTPd-ի տեղադրման նախադրյալները

Նախքան տեղադրումը շարունակելը, համոզվեք, որ ունեք.

  • Ubuntu սերվերի կարգավորում
  • Մուտք գործեք sudo արտոնություններով օգտվողի հաշիվ

Pure-FTPd-ի քայլ առ քայլ տեղադրում

Համակարգային փաթեթների թարմացում

Նախ թարմացրեք ձեր համակարգի փաթեթների ցանկը.

sudo apt update

Pure-FTPd-ի տեղադրում

Հաջորդը, տեղադրեք Pure-FTPd՝ օգտագործելով հետևյալ հրամանը.

sudo apt install pure-ftpd

Pure-FTPd-ի կարգավորում ընդլայնված անվտանգության համար

Անվտանգ միջավայրի ստեղծում

Ստեղծեք հատուկ խումբ FTP օգտվողների համար.

sudo groupadd ftpgroup

Ստեղծեք օգտվող Pure-FTPd-ի համար.

sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Օգտագործողի մուտքի կառավարում

FTP սերվերին օգտատեր ավելացնելու համար՝

sudo pure-pw useradd [username] -u ftpuser -g ftpgroup -d /home/ftpusers/[username]
sudo pure-pw mkdb

Փոխարինեք [username]-ը ցանկալի օգտվողի անունով:

TLS-ի կարգավորում՝ տվյալների անվտանգ փոխանցման համար

Ստեղծեք ինքնաստորագրված վկայագիր.

sudo openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Փոփոխեք Pure-FTPd կոնֆիգուրացիան՝ TLS-ն ակտիվացնելու համար.

echo 1 | sudo tee /etc/pure-ftpd/conf/TLS
sudo service pure-ftpd restart

Ընդլայնված կազմաձևման ընտրանքներ

Ահա ընդհանուր կարգավորումների ցանկը, որոնք կարող են կազմաձևվել Pure-FTPd-ի համար /etc/pure-ftpd/conf/ Ubuntu-ի գրացուցակում: Կազմաձևի ֆայլի անունը թավ է:

  • AltLog. սահմանում է գրանցման այլընտրանքային մեթոդներ: Օրինակ, AltLog clf:/var/log/pureftpd.log կգրանցի փոխանցումները W3C ձևաչափով:
  • Միայն անանուն. Երբ միացված է (ստեղծելով Anonymous անունով ֆայլ), այն սահմանափակում է սերվերին թույլ տալ միայն անանուն մուտքեր:
  • AntiWarez. Եթե այս ֆայլը կա, օգտվողներին արգելվում է վերբեռնել ֆայլեր, որոնք արդեն գոյություն ունեն սերվերում:
  • AutoRename. ավտոմատ կերպով վերանվանում է վերբեռնված ֆայլերը, եթե առկա է նույն անունով ֆայլ:
  • Կապել. սերվերը կապում է որոշակի IP հասցեի և միացքի հետ: Օրինակ, Bind 21-ը կապում է 21-րդ պորտին բոլոր հասանելի հասցեներում:
  • BrokenClientsCompatibility. հնարավորություն է տալիս համատեղելիություն FTP հաճախորդների հետ, որոնք խստորեն չեն պահպանում FTP ստանդարտները:
  • ChrootEveryone. Եթե միացված է, բոլոր օգտատերերին սահմանափակում է իրենց հիմնական գրացուցակը:
  • CreateHomeDir. ավտոմատ կերպով ստեղծում է տնային դիրեկտորիաներ, եթե դրանք գոյություն չունեն, երբ օգտատերը մուտք է գործում:
  • CustomerProof. Բարձրացնում է ճկունությունը հաճախորդի կոնֆիգուրացիաներում և հրամաններում թույլ տված սովորական սխալների նկատմամբ:
  • Daemonize. Երբ այս ֆայլը գոյություն ունի, Pure-FTPd-ը կաշխատի որպես դեյմոն:
  • DisplayDotFiles. վերահսկում է կետային ֆայլերի (թաքնված ֆայլերի) ցուցադրումը, թե ոչ:
  • DontResolve. կանխում է DNS լուծումը գրանցման և թողունակության վերահսկման համար, ինչը կարող է բարելավել կատարողականությունը:
  • ExtAuth. սահմանում է օգտատերերի նույնականացման արտաքին ծրագիր:
  • ForcePassiveIP. Ստիպում է սերվերին հաղորդել որոշակի IP հասցե պասիվ ռեժիմի հաճախորդներին:
  • FSCharset. սահմանում է ֆայլային համակարգի նիշերի հավաքածուն, որն օգտակար է ոչ ASCII ֆայլերի անունների համար:
  • IPv4Only կամ IPv6Only. սահմանափակում է սերվերին միայն IPv4 կամ IPv6 հասցեները լսելու համար:
  • KeepAllFiles. կանխում է սերվերի ցանկացած ֆայլի ջնջումը:
  • LDAPConfigFile. սահմանում է նույնականացման համար դեպի LDAP կազմաձևման ֆայլի ուղին:
  • LimitRecursion. Սահմանափակում է ռեկուրսիայի խորությունը և գրացուցակների ցուցակներում ցուցադրվող ֆայլերի քանակը:
  • MaxClientsNumber. Սահմանափակում է միաժամանակյա հաճախորդների առավելագույն քանակը:
  • MaxClientsPerIP. սահմանափակում է մեկ IP հասցեից միաժամանակյա միացումների քանակը:
  • MaxDiskUsage. Սահմանափակում է սկավառակի օգտագործման տոկոսը:
  • MaxIdleTime. սահմանում է առավելագույն անգործության ժամանակը րոպեներով՝ նախքան հաճախորդին անջատելը:
  • MaxLoad. անջատում է հաճախորդներին կամ մերժում է նոր կապերը որոշակի համակարգի ծանրաբեռնվածությունից բարձր:
  • MinUID. սահմանում է նվազագույն UID մուտք գործելու համար: Ավելի ցածր UID ունեցող օգտվողները չեն կարող մուտք գործել:
  • MySQLConfigFile. սահմանում է MySQL կազմաձևման ֆայլի ուղին տվյալների բազայի վրա հիմնված նույնականացման համար:
  • NoAnonymous. անջատում է անանուն մուտքերը, եթե այս ֆայլը գոյություն ունի:
  • NoChmod. անջատում է CHMOD հրամանը սերվերի վրա:
  • NoRename. թույլ չի տալիս օգտվողներին վերանվանել ֆայլերը:
  • PassivePortRange. սահմանում է մի շարք նավահանգիստներ պասիվ միացումների համար (օրինակ՝ 30000 35000):
  • PerUserLimits. սահմանում է սահմանափակումներ յուրաքանչյուր օգտատիրոջ համար:
  • PureDB. սահմանում է PureDB օգտվողների տվյալների բազայի ֆայլի ուղին:
  • Քվոտա. սահմանում է օգտատերերի քվոտայի սահմանափակումները:
  • SyslogFacility. սահմանում է syslog սարքը գրանցման համար:
  • TLSCipherSuite. սահմանում է թույլատրված TLS ծածկագրերը կոդավորված կապերի համար:
  • TrustedGID. սահմանում է վստահելի խմբի ID-ների ցանկը մուտք գործելու համար:
  • UMask. սահմանում է լռելյայն umask ֆայլի ստեղծման համար:
  • UnixAuthentication. Միացնում է նույնականացումը UNIX գաղտնաբառերի տվյալների բազայի նկատմամբ:
  • UploadScript. սահմանում է սկրիպտ, որը պետք է գործարկվի հաջող վերբեռնումից հետո:

Այս ցանկը ներառում է առավել հաճախ օգտագործվող կազմաձևման տարբերակները, բայց սպառիչ չէ: Միշտ դիմեք պաշտոնական Pure-FTPd փաստաթղթերին կամ օգտագործեք այն

pure-ftpd-wrapper --help

հրաման առավել ճշգրիտ և համապարփակ տեղեկատվության համար:

Օրինակներ

Ահա Pure-FTPd կարգավորումների ցանկը /etc/pure-ftpd/conf/-ում` օրինակներով, որոնք ցույց են տալիս նրանց կողմից ընդունված արժեքների տեսակները.

  • AltLog՝ AltLog clf:/var/log/pureftpd.log
    • Օրինակ՝ clf:/var/log/pureftpd.log
  • Միայն անանուն. միացրեք՝ ստեղծելով Միայն անանուն անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • AntiWarez. միացրեք՝ ստեղծելով AntiWarez անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • AutoRename. միացրեք՝ ստեղծելով AutoRename անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • Կապել. Կապել 21
    • Օրինակ՝ 192.168.0.1,21
  • BrokenClientsCompatibility. միացրեք՝ ստեղծելով BrokenClientsCompatibility անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • ChrootEveryone. միացրեք՝ ստեղծելով ChrootEveryone անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • CreateHomeDir. միացրեք՝ ստեղծելով CreateHomeDir անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • CustomerProof. միացրեք՝ ստեղծելով CustomerProof անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • Daemonize. միացնել՝ ստեղծելով Daemonize անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • DisplayDotFiles. միացրեք՝ ստեղծելով DisplayDotFiles անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • DontResolve. միացրեք՝ ստեղծելով DontResolve անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • ExtAuth. ExtAuth /path/to/authenticator
    • Օրինակ՝ /usr/local/bin/myauth
  • ForcePassiveIP՝ ForcePassiveIP 192.168.0.1
    • Օրինակ՝ 192.168.0.1
  • FSCharset՝ FSCharset utf-8
    • Օրինակ՝ utf-8
  • IPv4Only կամ IPv6Only. միացրեք՝ ստեղծելով IPv4Only կամ IPv6Only անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • KeepAllFiles. միացրեք՝ ստեղծելով KeepAllFiles անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • LDAPConfigFile. LDAPConfigFile /etc/pure-ftpd/ldap.conf
    • Օրինակ՝ /etc/pure-ftpd/ldap.conf
  • LimitRecursion՝ LimitRecursion 10000 8
    • Օրինակ՝ 10000 8 (10000 ֆայլ, 8 մակարդակ խորությամբ)
  • MaxClientsNumber՝ MaxClientsNumber 50
    • Օրինակ՝ 50
  • MaxClientsPerIP. MaxClientsPerIP 8
    • Օրինակ՝ 8
  • MaxDiskUsage. MaxDiskUsage 95
    • Օրինակ՝ 95 (95 տոկոս)
  • MaxIdleTime. MaxIdleTime 15
    • Օրինակ՝ 15 (15 րոպե)
  • MaxLoad. MaxLoad 4.0
    • Օրինակ՝ 4.0
  • MinUID՝ MinUID 1000
    • Օրինակ՝ 1000
  • MySQLConfigFile. MySQLConfigFile /etc/pure-ftpd/mysql.conf
    • Օրինակ՝ /etc/pure-ftpd/mysql.conf
  • NoAnonymous. միացրեք՝ ստեղծելով NoAnonymous անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • NoChmod. միացրեք՝ ստեղծելով NoChmod անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • NoRename. միացրեք՝ ստեղծելով NoRename անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • PassivePortRange. PassivePortRange 30000 35000
    • Օրինակ՝ 30000 35000
  • PerUserLimits. PerUserLimits 8
    • Օրինակ՝ 8 (8 միաժամանակյա միացում մեկ օգտվողի համար)
  • PureDB. PureDB /etc/pure-ftpd/pureftpd.pdb
    • Օրինակ՝ /etc/pure-ftpd/pureftpd.pdb
  • Քվոտա՝ Քվոտա 1000 Մ
    • Օրինակ՝ 1000M (1000 Մեգաբայթ)
  • SyslogFacility. SyslogFacility ftp
    • Օրինակ՝ ftp
  • TLSCipherSuite. TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
    • Օրինակ՝ HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
  • TrustedGID՝ TrustedGID 1000
    • Օրինակ՝ 1000
  • UMask. UMask 133:022
    • Օրինակ՝ 133:022 (Ֆայլեր՝ 133, տեղեկատուներ՝ 022)
  • UnixAuthentication. միացրեք՝ ստեղծելով UnixAuthentication անունով ֆայլ:

    • Ոչ մի արժեք չի պահանջվում:
  • UploadScript. UploadScript /path/to/script
    • Օրինակ՝ /usr/local/bin/uploadscript

Այս օրինակները պետք է պարզաբանեն, թե ինչպես կարելի է կարգավորել տարբեր տարբերակներ Pure-FTPd-ում:

Մոնիտորինգ և սպասարկում

Պարբերաբար ստուգեք տեղեկամատյանները /var/log/pure-ftpd/-ում արտասովոր գործողությունների կամ սխալների համար: