How-To Zmiana config'a ProFTPD (proftpd.conf)

Dyskusja w 'Udostępnianie plików, folderów i drukarek' rozpoczęta przez użytkownika Silas Mariusz, 23 Sierpień 2008.

Ładowanie...
Tagi:
  1. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 032
    Miejscowość:
    Nowy Sącz
    Local Time:
    02:53
    Oceny:
    +1 339 / 30 / -5
    Followers:
    22
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    A wiec, ostatnio otrzymalem dosc ciekawe maila w ktorym to pewien z uzytkownikow QNAP NAS chcial zmienic standardowy plik konfiguracyjny ProFTPD. Jednak nie udawalo mu sie, poniewaz za kazdym razem, kiedy restartowal usluge FTPD, config przywracal sie do oryginalnego z stoczni QNAP.

    Czy jest na to rozwiazanie? Przed napisaniem co trzeba zrobic, chcialbym polecic wszystkim uzytkownikom kilka ciekawych informacji...

    1) Oryginalny config proftpd ( /mnt/HDA_ROOT/.config/proftpd.conf )
    Kod (Text):
    1. ServerName      "ProFTPD"
    2. ServerType      standalone
    3. DefaultServer       on
    4. RootLogin       on
    5. Port            21
    6. MaxInstances        30
    7. User            guest
    8. Group           guest
    9. DefaultRoot     /share
    10. Umask           000
    11. ShowSymlinks        off
    12. AllowOverwrite      on
    13. TimesGMT            off
    14. UseReverseDNS       off
    15. WtmpLog         off
    16. AllowStoreRestart   on
    17. TransferLog     NONE
    18. UseReverseDNS            off
    19. IdentLookups             off
    20. DisplayLogin        welcome.msg
    21. CharsetLocal            UTF-8
    22. CharsetRemote           ISO8859-2
    23. UseUTF8          off
    24. TLSEngine              off
    25. TLSRequired            off
    26. TLSRSACertificateFile   /etc/ssl/certs/myhost.crt
    27. TLSRSACertificateKeyFile /etc/ssl/private/myhost.key
    28. TLSCACertificateFile   /etc/ssl/certs/myrootca.crt
    29. TLSOptions      NoCertRequest
    30. TLSVerifyClient off
    31. PassivePorts 55536 56559
    32. MaxClientsPerUser   10
    33. EnableUserWanIp          off
    34. <Directory "/share/HDY_DATA">
    35.     <Limit ALL>
    36.         DenyAll
    37.     </Limit>
    38. </Directory>
    39.  
    40. <Directory "/share/HDB_DATA">
    41.     <Limit ALL>
    42.         DenyAll
    43.     </Limit>
    44. </Directory>
    45.  
    46. <Directory "/share/HDF_DATA">
    47.     <Limit ALL>
    48.         DenyAll
    49.     </Limit>
    50. </Directory>
    51.  
    52. <Directory "/share/HDH_DATA">
    53.     <Limit ALL>
    54.         DenyAll
    55.     </Limit>
    56. </Directory>
    57.  
    58. <Directory "/share/HDO_DATA">
    59.     <Limit ALL>
    60.         DenyAll
    61.     </Limit>
    62. </Directory>
    63.  
    64. <Directory "/share/HDK_DATA">
    65.     <Limit ALL>
    66.         DenyAll
    67.     </Limit>
    68. </Directory>
    69.  
    70. <Directory "/share/HDT_DATA">
    71.     <Limit ALL>
    72.         DenyAll
    73.     </Limit>
    74. </Directory>
    75.  
    76. <Directory "/share/HDS_DATA">
    77.     <Limit ALL>
    78.         DenyAll
    79.     </Limit>
    80. </Directory>
    81.  
    82. <Directory "/share/HDG_DATA">
    83.     <Limit ALL>
    84.         DenyAll
    85.     </Limit>
    86. </Directory>
    87.  
    88. <Directory "/share/HDP_DATA">
    89.     <Limit ALL>
    90.         DenyAll
    91.     </Limit>
    92. </Directory>
    93.  
    94. <Directory "/share/HDN_DATA">
    95.     <Limit ALL>
    96.         DenyAll
    97.     </Limit>
    98. </Directory>
    99.  
    100. <Directory "/share/HDR_DATA">
    101.     <Limit ALL>
    102.         DenyAll
    103.     </Limit>
    104. </Directory>
    105.  
    106. <Directory "/share/HDW_DATA">
    107.     <Limit ALL>
    108.         DenyAll
    109.     </Limit>
    110. </Directory>
    111.  
    112. <Directory "/share/HDM_DATA">
    113.     <Limit ALL>
    114.         DenyAll
    115.     </Limit>
    116. </Directory>
    117.  
    118. <Directory "/share/HDX_DATA">
    119.     <Limit ALL>
    120.         DenyAll
    121.     </Limit>
    122. </Directory>
    123.  
    124. <Directory "/share/external">
    125.     <Limit ALL>
    126.         DenyAll
    127.     </Limit>
    128. </Directory>
    129.  
    130. <Directory "/share/HDZ_DATA">
    131.     <Limit ALL>
    132.         DenyAll
    133.     </Limit>
    134. </Directory>
    135.  
    136. <Directory "/share/HDV_DATA">
    137.     <Limit ALL>
    138.         DenyAll
    139.     </Limit>
    140. </Directory>
    141.  
    142. <Directory "/share/HDD_DATA">
    143.     <Limit ALL>
    144.         DenyAll
    145.     </Limit>
    146. </Directory>
    147.  
    148. <Directory "/share/HDC_DATA">
    149.     <Limit ALL>
    150.         DenyAll
    151.     </Limit>
    152. </Directory>
    153.  
    154. <Directory "/share/HDL_DATA">
    155.     <Limit ALL>
    156.         DenyAll
    157.     </Limit>
    158. </Directory>
    159.  
    160. <Directory "/share/HDQ_DATA">
    161.     <Limit ALL>
    162.         DenyAll
    163.     </Limit>
    164. </Directory>
    165.  
    166. <Directory "/share/HDU_DATA">
    167.     <Limit ALL>
    168.         DenyAll
    169.     </Limit>
    170. </Directory>
    171.  
    172. <Directory "/share/HDI_DATA">
    173.     <Limit ALL>
    174.         DenyAll
    175.     </Limit>
    176. </Directory>
    177.  
    178. <Directory "/share/HDE_DATA">
    179.     <Limit ALL>
    180.         DenyAll
    181.     </Limit>
    182. </Directory>
    183.  
    184. <Directory "/share/HDJ_DATA">
    185.     <Limit ALL>
    186.         DenyAll
    187.     </Limit>
    188. </Directory>
    189.  
    190. <Directory "/share/HDA_DATA">
    191.     <Limit ALL>
    192.         DenyAll
    193.     </Limit>
    194. </Directory>
    195.  
    196. <Directory "/share/Qmultimedia">
    197.     <Limit READ DIRS>
    198.         Order       Deny, Allow
    199.         AllowGroup  "everyone"
    200.         AllowUser   "admin"
    201.         DenyUser    "guest"
    202.     </Limit>
    203.     <Limit ALL>
    204.         Order       Deny, Allow
    205.         AllowUser   "admin"
    206.     </Limit>
    207. </Directory>
    208.  
    209. <Directory "/share/Qdownload">
    210.     <Limit READ DIRS>
    211.         Order       Deny, Allow
    212.         AllowGroup  "everyone"
    213.         AllowUser   "admin"
    214.         DenyUser    "guest"
    215.     </Limit>
    216.     <Limit ALL>
    217.         Order       Deny, Allow
    218.         AllowUser   "admin"
    219.     </Limit>
    220. </Directory>
    221.  
    222. <Directory "/share/Qrecordings">
    223.     <Limit READ DIRS>
    224.         Order       Deny, Allow
    225.         AllowGroup  "everyone"
    226.         AllowUser   "admin"
    227.         DenyUser    "guest"
    228.     </Limit>
    229.     <Limit ALL>
    230.         Order       Deny, Allow
    231.         AllowUser   "admin"
    232.     </Limit>
    233. </Directory>
    234.  
    235. <Directory "/share/Qweb">
    236.     <Limit READ DIRS>
    237.         Order       Deny, Allow
    238.         AllowGroup  "everyone"
    239.         AllowUser   "admin"
    240.         DenyUser    "guest"
    241.     </Limit>
    242.     <Limit ALL>
    243.         Order       Deny, Allow
    244.         AllowUser   "admin"
    245.     </Limit>
    246. </Directory>
    247.  
    248. <Directory "/share/Qusb">
    249.     <Limit READ DIRS>
    250.         Order       Deny, Allow
    251.         AllowGroup  "everyone"
    252.         AllowUser   "admin"
    253.         DenyUser    "guest"
    254.     </Limit>
    255.     <Limit ALL>
    256.         Order       Deny, Allow
    257.         AllowUser   "admin"
    258.     </Limit>
    259. </Directory>
    260.  
    261. <Directory "/share/Public">
    262.     <Limit READ DIRS>
    263.         Order       Deny, Allow
    264.         AllowUser   "admin"
    265.         AllowGroup  "everyone"
    266.         AllowUser   "guest"
    267.     </Limit>
    268.     <Limit ALL>
    269.         Order       Deny, Allow
    270.         AllowUser   "admin"
    271.         AllowGroup  "everyone"
    272.         AllowUser   "guest"
    273.     </Limit>
    274. </Directory>
    275.  
    276. <Directory "/share/Network Recycle Bin 1">
    277.     <Limit READ DIRS>
    278.         Order       Deny, Allow
    279.         AllowGroup  "everyone"
    280.         AllowUser   "admin"
    281.         DenyUser    "guest"
    282.     </Limit>
    283.     <Limit ALL>
    284.         Order       Deny, Allow
    285.         AllowUser   "admin"
    286.     </Limit>
    287. </Directory>
    288.  
    2. Przydatne linki:
    http://pl.docs.pld-linux.org/uslugi_proftpd.html
    http://newbie.linux.pl/wydruk.php?wydru ... ow=artykul



    A teraz ...
    Aby zmiany zostaly zachowane nalezy wykonac ponizsze polecenie:
    Kod (Text):
    1. # /etc/init.d/ftp.sh reconfig
    w przeciwnym razie, po restarcie urzadzenia zostanie przywrocony stary conf
     
  2. polityk
    Offline

    polityk Passing Basics Beginner

    Dołączył:
    11 Wrzesień 2008
    Wiadomości:
    13
    Local Time:
    02:53
    Oceny:
    +1 / 0 / -0
    Followers:
    0
    Witam!

    Na wstępie zaznacze, że w temacie Qnap'ów jestem nowy :]
    Potrzebowałem zmodyfikować ustawienia serwera FTP na TS-409 i na moje szczęście znalazłem tam zainstalowany PROFTPD.
    Oczywiście miałem problem z zachowywaniem configa i znalazłem to forum :]

    W moim przypadku po edytowaniu konfiga, zapisaniu go, odpaleniu skryptu
    Kod (Text):
    1. /etc/init.d/ftp.sh reconfig
    Qnap bardzo ładnie przyjmuje nowe ustawienia, ale po restarcie systemu nie zachowuje konfiga... :-(
    Nadpisuje spowrotem mi poprzedni konfig...
    Nowy konfig zachowałem sobie między innymi w /root i ku mojemu zdziwieniu po restarcie tez go tam nie było....

    Jeden z moich pomysłów to wrzucić gdzieś mój konfig i dodac skrypt który by go kopiował i rekonfigurowal FTP'a ale to chyba zabijanie muchy z bazooki...

    Jakieś pomysły/podpowiedzi?

    Pozdrawiam, Polityk
     
  3. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 032
    Miejscowość:
    Nowy Sącz
    Local Time:
    02:53
    Oceny:
    +1 339 / 30 / -5
    Followers:
    22
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    tak to jest rozwiazanie... ja teraz jestem po za qnap'em
    napisz co sie wyswietli jak wykonasz:
    # /etc/init.d/ftp.sh
    bez polecenia
     
  4. polityk
    Offline

    polityk Passing Basics Beginner

    Dołączył:
    11 Wrzesień 2008
    Wiadomości:
    13
    Local Time:
    02:53
    Oceny:
    +1 / 0 / -0
    Followers:
    0
    tyle mi daje ftp.sh
    Kod (Text):
    1. Usage: /etc/init.d/ftp.sh {start|stop|restart|reconfig}
    ----------------------------------------------------------------------------------------------------------------------

    może jeszcze napisze o co mi w efekcie chodzi:

    Potrzebuje jeden z katalogów dostępnych na FTP ograniczyć tak aby użytkownik nie mógł usuwać/modyfikować plików/katalogów które wrzuci.
    Idealnym dla mnie rozwiązaniem jest <Limit> w konfiguracji PROFTPD i ograniczenie używania konkretnych komend FTP.
    Chyba, że jest jakiś inny sposób... niesttey prawa linuksowe nie dadzą rady, bo write = delete...

    ----------------------------------------------------------------------------------------------------------------------
    Moje rozwiązanie:
    Spróbowałem dopisać do /dev/mtdblock5/autorun.sh skrypt:
    Kod (Text):
    1.  
    2. #!/bin/sh
    3. cp /share/MD0_DATA/Work/proftpd.conf.new /etc/config/proftpd.conf
    4. /etc/init.d/ftp.sh reconfig
    5.  
    dodatkowo dopisałem ten sam skrypt w /mnt/HDA_ROOT/.config/crontab co 5 minut
    i dopiero takie rozwiązanie działa jak dla mnie.
    Oczywiście panel www staje się bezużyteczny jeśli chodzi o FTP, bo CRON nam nadpisuje konfig,
    ale w mojej konfiguracji ważniejsze jest żeby to działało niż żeby panel www był w 100% dostępny.

    ----------------------------------------------------------------------------------------------------------------------

    Moja Propozycja zmian w software Qnap'a:
    Chodzi o to aby plik proftpd.conf generowany przez system nie nadpisywał "bezmyślnie" proftpd.conf.
    W konfiguracji proftpd.conf można było oznaczyć części konfiguracji jako edytowane ręcznie - nie ruszane przez system.
    Lub poprostu różnice między generowanym przez system plikiem a właściwym konfigiem byłyby zachowywane.
    W takim rozwiązaniu obie konfiguracje by współistniały i po dodaniu ręcznym zmian system by chronił cały plik wraz z zmianami tak jak to robi teraz.
    Można by też dodać opcje "reset" w panelu www która by nadpisywała konfig tym wygenerowanym tak aby można było łatwo przywrócić działającą konfiguracje.
     
    • Lubię to! Lubię to! x 1
  5. tech01
    Offline

    tech01 Nowy użytkownik Noobie

    Dołączył:
    23 Styczeń 2013
    Wiadomości:
    1
    Local Time:
    02:53
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    Witam, odgrzeje dość stary temat, ale problem jest aktualny.

    Czy jest możliwość wymuszenie zachowania pliku proftpd.conf po restarcie serwera ?? czy przez te kilka lat coś się zmieniło lub ktoś zna rozwiązanie ?
    Niestety porady z postów powyżej nie dają żadnego efektu, czyli reset=stara konfiguracja.
     

Poleć tę stronę