Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: proFTPd [vyřešeno]  (Přečteno 17126 krát)

CT1108

  • Návštěvník
  • Příspěvků: 98
proFTPd [vyřešeno]
« kdy: 20 Října 2008, 18:41:10 »
Zdravím vás,

Chtěl bych vás poprosit o radu a to ohledně proFTPd mám ho nainstalovanej a ted potřebuji konfiguraci vím že se to provádí v v souboru proftpd.conf Stím že hostuji více domén nebo spíš mám to v plánu , je nainstalovaný jako samostatná služba. Stím že mám všechny data na ty dané domény uloženy v var/www/danádoména a ve složce var jsou domény které jse jmenuji tak jak doména která je tam nasměrovaná. Potřebuji to tedy nastavit tak že když někdo má nakou doménu tak aby se rovnou nalogoval do té své dané domény.
Děkuju za každou radu.
« Poslední změna: 29 Října 2008, 17:55:52 od Martin - ViPEr*CZ* »

emil54

  • Host
Re: proFTPd
« Odpověď #1 kdy: 20 Října 2008, 22:28:18 »

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #2 kdy: 25 Října 2008, 15:19:59 »
No pročetl jsme si to, ale furt mi to není jasné v etc/proftpd/proftpd.conf jsme mají provádět nastavení to vím. Já potřebuju aby to ftp fungoval ona více domén tedy virtualhost ale jak na to. Na googlu jsme zjísti lže to má být nak takto:

<VirtualHost nazevdomeny.cz>
DefaultChdir var/www/nazevdomeny.cz
#DefaultChdir var/www/nazevdomeny
#DefaultRoot ~
#RootLogin on
#UserAlias nazevdomeny.cz nazevdomeny.cz
#UserPassword nazevdomeny.cz 12Y5k5tR9gDvI
#ServerName "nazevserveru.cz"
</VirtualHost>


Jsem vděčný za každé rady.

Martin - ViPEr*CZ*

  • Závislák
  • ***
  • Příspěvků: 3047
Re: proFTPd
« Odpověď #3 kdy: 25 Října 2008, 21:53:14 »
No tady přesně nevím jak to je... je potřeba vytvořit pro každou doménu zase uživatele s jeho root adresářem nastaveným na správnou adresu. Také nejspíše nastavit quotu. Ale přesně jak vypadá konfigurák nevím. Chce to pročíst dokumentaci. ;)
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #4 kdy: 25 Října 2008, 23:54:40 »
mohl by jsi mi zase hodit psl nakej odkaz. trochu mě nasměrovat pls

Pavel Půlpán

Re: proFTPd
« Odpověď #5 kdy: 25 Října 2008, 23:56:21 »

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: proFTPd
« Odpověď #6 kdy: 26 Října 2008, 08:38:56 »
btw. na fóru se ode mne někde válí kompletní návod na virtual hosting s proftpd s uživatelema v DB. Dá se to docela dobře svázat s mail systémem atp. Uživatelé vůbec nemusí být v systému zadaní (menší šance na hack), existují pouze virtuálně.
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

Pavel Půlpán

Re: proFTPd
« Odpověď #7 kdy: 26 Října 2008, 09:12:33 »

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: proFTPd
« Odpověď #8 kdy: 26 Října 2008, 09:18:44 »
Pavel: jojo, nechtělo se mi to hledat :D
Chce to asi lehce upravit, už je to lehce zastaralé, jak tak koukám, ale základní idea je jasná a stejná.
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #9 kdy: 26 Října 2008, 21:22:57 »
no tak celý den tápám a udělal nebo tedy konkretně jsem překopiroval tento proftpd.conf soubor


Kód: [Vybrat]
##ServerType urcuje, zda se jedna o server bezici jako daemon (standalone), nebo jako sluzba superserveru (inetd/xinetd)
ServerType                      standalone

##DefaultRoot - kam ma byt uzivatel chrootovan (kde bude jeho "/" adresar)
DefaultRoot ~                                                                       

##CharsetLocal  - lokalni znakova sada (pravdepodobne UTF-8)
##CharsetRemote - znakova sada vzdaleneho klienta, pokud predpokladate wokna, pak CP1250
CharsetLocal                    UTF-8                                                                                                  
CharsetRemote                   UTF-8

##AllowOverwrite - zda lze prepisovat soubory
##AllowRetrieveRestart - zda lze navazat na castecne stazeny soubor
##AllowStoreRestart - zda lze navazat na castecne nahrany soubor
AllowOverwrite                  on                 
AllowRetrieveRestart            on                                                                                                 
AllowStoreRestart               on
                                                                  
##ServerName - vpodstate hlaska po pripojeni k serveru
##Port - kde ma server poslouchat - 21 je vychozi (a bezny) port pro FTP
##PassivePorts
##------------
##FTP pouziva vychozi port 21 pro "prikazovou radku", kudy posila informace jako je stor, put, ls ... proste bezne prikazy
##Dale pak pouziva datovy kanal, kudy tecou vlastni data (obsah vypisu adresare, up/download vlastniho souboru
##Existuji dve moznosti, jak datovy kanal muze fungovat
##
##1) Active - znamena, ze server ma otevren jen port 21 a 20 (datovy port),
##Komunikace mezi klientem a serverem pak probiha tak, ze klient z libovolneho portu (N>1023) vysle pozadavek na komunikacni kanal (port 21),
##pokud se mu dostane odpovedi, zacne poslouchat na dalsim (volnem) portu (N+1) a posle toto cislo serveru. Server se pak pripoji ke klientovi
##na oznameny port z portu 20 a zacne odesilat data. Z hlediska serveru je to nejjednodussi mozna konfigurace, protoze ve firewallu staci povolit
##prichozi porty 20 a 21, ale z hlediska klienta uz to tak snadne neni - problem nastava u klientu s neverejnou IP (za NAT nebo PROXY) a zapnutym
##firewallem, ktery neumi povolit prichozi smer pro vsechny porty otevrene FTP klientem. Osobne active mod u serveru nepouzivam, uz jen proto, ze
##hodne nejbeznejsich www klientu (napr. firefox, ie) odesila ihned po prihlaseni prikaz PASV (prepni mne do passive modu) a navic se nelze spolehat
##na to, ze uzivatel bude vzdy "prvni na rane" tj. ze bude mit verejnou IP a pruchozi firewall
##
##2) Passive - znamena, ze server ma otevreny port 21 a urcite mnozstvi dalsich portu, ktere nasledne pouziva pro prenos dat mezi klientem a
##serverem tj. kdy klient po prihlaseni na server obdrzi od serveru cislo prideleneho otevreneho port, na kterem data na klienta cekaji. Z hlediska
##konfigurace firewallu na serveru je to pomerne problem, nastesti proftpd podporuje vynuceni urciteho bloku volnych portu, kdy se uz firewall
##da upravit tak, aby propustil presne a jen toto mnozstvi. Doporucuji otevrit i port 20, protoze pak bude server fungovat v obou modech
ServerName                      "My ProFTPd server"                                                                              
Port                            21                                                                                                  
PassivePorts                    5103 5189                                                                                           


##MultilineRFC2228 - Jedna se o urcitou "kompatibilitu rozsirujici" featuru. Vpodstate pri komunikaci klienta se serverm
##kazdy radek zacina urcitym kodem (2xx,4xx,6xx) ktery urcuje o jakou hlasku se jedna - diky tomu je zaruceno, ze klientska
##aplikace bude vedet, co je spatne(nebo dobre) a zaroven to server dokaze rici i cloveku srozumitelnou formou
##Standardne server posle kod odpovedi a pak vysype spousty radku bez kodu, coz muze vest k tomu, ze je protejsi klient zmateny,
##proto je MultilineRFC2228 dulezity - kazdy radek ma svuj jednoznacny kod
MultilineRFC2228                on                                                                                                  

##DefaulServer je zalezitost pouzivana hlavne v pripade VirtualServeru, kdy pokud prijde pozadavek na IP (a ne na dns nazev), nevi
##server, kam jej priradit, pokud by tato direktiva chybela, klient obdrzi hlasku "no server available to service your request"
DefaultServer                   on                                                                                            

##ShowSymlinks - Rekne, zda maji byt zobrazeny (a zda jsou aktivni) symbolicke odkazy. Muze to byt uzitecne v pripade, ze pozadujete nejaky
##ucet, skrz ktery se lze podivat treba do adresaru dalsich uzivatelu bez toho, aby bylo nutne pouzivat nejakou obecnejsi variantu (napr. mount --bind)
ShowSymlinks                    on                                                                                                

##IdentLookups urcuje, zda ma byt uzivatelske jmeno ziskano pres ident (RFC1413), defaultne je on, vypinam to, protoze to znacne zpomaluje
##prihlasovaci proces
IdentLookups                    off                                                                                                 

##Jedna se o zalezitost, kdy server po navazani spojeni zjistuje reverzni DNS zaznam klienta, pouziva se to treba pro
##bezpecnejsi autorizaci (dany uzivatel se smi prihlasit jen z dane domeny), default je on, vypinam to --> pomale
UseReverseDNS                   off                                                                             

##TimeoutNoTransfer urcuje, jak dlouho (v sekundach) muze byt uzivatel necinny bezprostredne po prihlaseni na server bez pozadavku
##TimeoutStalled urcuje, jak dlouho (v sekundach) bude proces prenosu dat (bez prenosu dat) povazovan za aktivni
##TimeoutIdle urcuje, jak dlouho (v sekundach) muze uzivatel zustat necinny (po prenosu dat)
TimeoutNoTransfer               900                                                                                                 
TimeoutStalled                  600                                                                                                 
TimeoutIdle                     1800                                                                                                

##Vpodstate klasicky linuxovy umask noveho adresare a souboru (maska se odecita od plne hodnoty tj. 777-022=755 ~ rwxr-xr-x)
Umask                           022     022                                                                                         

##DisplayLogin rika, ze ktereho souboru se nacte uvodni hlaska po prihlaseni na server (Vitejte na serveru blablablablabla)
##Zajimava je snad jen moznost, ze si uzivatel hlasku definuje sam - tj. tato konfigurace, kdy se soubor hleda v chrootu
##uzivatele, pokud soubor neexistuje, nevznikne zadna chyba, jen se uzivateli nic nevypise
DisplayLogin                    welcome.msg

##DisplayFirstChdir definuje, ktery soubor bude po prvnim otevreni adresare vypsan jako hlaska (neco ve smyslu "V tomto adresari se nachazi to
##a to a nelze mazat"), tato direktiva je oznacena za zastaralou, castecne ji nahrazuje DisplayChdir, ale asi stejne nema moc smysl, protoze vetsina
##www prohlizecu (nejcastejsi navstevnici FTP - alespon u mne) tyto hlasky stejne ignoruje
DisplayFirstChdir               .message       

##ListOptions ma jako hodnotu parametr, ktery udava, jak bude vypadat vypis adresare (v klasickem terminalu). Moznosti jsou
## -l Jedna radka pro jeden soubor
## -A Vypis vsechny soubory vyjma "." a ".."
## -a Vypis vsechny soubory vcetne tech skrytych (tj. zacinajicich "." - napriklad .htaccess)
## -C Vypis do kolonek
## -d Vypis jen adresare (misto jejich obsahu)
## -F V pripade, ze dany soubor obsahuje identifikator souboru ("*", "/", "=", "@" or "|"), vypise jej take
## -h Vypisuje velikosti souboru v "citelnejsi" podobe (1K, 10MB, 2,4GB atd.)
## -L Vypisuje soubory, na ktere ukazuje symbolicky odkaz
## -l Pouzije tzv. "podrobny vypis"
## -n Pri vypisu ukaze jen cisla GID a UID pro skupiny/uzivatel misto jejich nazvu
## -R Bude prochazet adresare rekurzivne
## -r Vypise soubory v obracenem poradi
## -S Seradi a vypise soubory podle velikosti
## -t Seradi a vypise soubory podle data posledni upravy
ListOptions                     "-l"                                                                                                
             
##RootLogin rika, zda uzivatel root muze pristoupit na server pres FTP, tak jak tak by to melo byt vypnuto pomoci /etc/ftpusers, ale jistota je jistota
##RequireValidShell - normalne proftpd pouziva uzivateli definovany shell, v tomto pripade ale vlastne nechceme, aby uzivatel shell mel, takze jej
##nepozadujeme
RootLogin off                                                                                                                     
RequireValidShell off       
             
##DenyFilter - zabezpeceni proti nastaveni nebezpecnych filtru na masku regularniho vyrazu
DenyFilter                      \*.*/                                                                                               


##AuthOrder rika v jakem poradi se ma pristupovat k overeni daneho uzivatele, pokud je nastavena takto,
##dojde k overeni jen na zaklade mysql (virtual user), tj. zadny bezny uzivatel (vlastnici shell) nebude overen
AuthOrder mod_sql.c                                                                                                                 
               

##SQLAuthenticate povoluje modul SQL overeni uzivatele
SQLAuthenticate        on

##SQLAuthTypes urcuje, jak jsou hesla ulozena v databazi
SQLAuthTypes            Crypt Plaintext                                                                                             

##SQLConnectInfo obsahuje informace potrebne pro prihlaseni k databazi, je dobre mit pro proftpd vlastniho uzivatele
SQLConnectInfo  databaze@localhost uzivatel_proftpd prisne_tajne_heslo                                                              
                                                                                                                                    
##SQLUserInfo rika, ktera tabulka a ktere zaznamy budou pouzity pro operace s uzivateli
SQLUserInfo     ftpuser userid passwd uid gid homedir shell                                                                         
                                                              
##SQLGroupInfo rika, ktera tabulka a ktere zaznamy budou pouzity pro operace se skupinami
SQLGroupInfo    ftpgroup groupname gid members                                                                                      
                                                                                                                                    
##Minimalni UID A GID uzivatele v SQL databazi, ktery ma opravneni se prihlasit
SQLMinID        500                                                                                                                 
                                                                                                                                    
##Umoznuje zalozit domovskou slozku uzivatele (definovanou v databazi) v pripade jeji neexistence
SQLHomedirOnDemand on                                                                                                               
                                                                                                                                    
##Pricteme pocet prihlaseni uzivatele po kazdem jeho prihlaseni (prikaz PASS)
SQLLog PASS updatecount                                                                                                             
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser                                          
                                                                                                                                    
##Definice posledniho up/downloadu/smazani souboru uzivatele v databazi (prikaz STOR,DELE,GET)
SQLLog  STOR,DELE,GET modified                                                                                                          
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser                                                            

## Uzivatelske kvoty
## =================                                                                                                                       
QuotaEngine on #Zapnuti kvot
QuotaDirectoryTally on #Maji se zapocitavat i adresare
QuotaDisplayUnits Mb #Zobrazovane jednotky
QuotaShowQuotas on #A maji se zobrazovat kvoty uzivatelum

##Nacita z databaze kvoty daneho uzivatele
SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"                   

##Pocita jiz zaplnenou kvotu
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"                                                 

##Aktualizuje kvotu
SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies

##Vytvareni zaznamu kvoty pro uzivatele
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies                            

##Toto je pouzito pro zobrazeni hlasky uzivateli, kolik z kvoty mu jeste zbyva
SQLNamedQuery gettally  SELECT "ROUND((bytes_in_used/1048576),2) FROM ftpquotatallies WHERE name='%u'"                              
SQLNamedQuery getlimit  SELECT "ROUND((bytes_in_avail/1048576),2) FROM ftpquotalimits WHERE name='%u'"                              
SQLNamedQuery getfree   SELECT "ROUND(((ftpquotalimits.bytes_in_avail-ftpquotatallies.bytes_in_used)/1048576),2) FROM ftpquotalimits,ftpquotatallies WHERE ftpquotalimits.name = '%u' AND ftpquotatallies.name = '%u'"                                                   

##Zobrazime hlasku do pri prikazu LIST
SQLShowInfo   LIST    "226" "Used %{gettally}MB from %{getlimit}MB. You have %{getfree}MB available space."                         

##Tady definujeme, ze se kvoty pro uzivatele budou nacitat z databaze                                          
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally[/shadow][/shadow][/shadow]


[b]pak jsem udělal uživatele proftpd a databázi proftpd s těmi to tabulkami:[/b]


-- Struktura tabulky `ftpgroup`
--

CREATE TABLE `ftpgroup` (
  `groupname` varchar(16) NOT NULL default '',
  `gid` smallint(6) NOT NULL auto_increment,
  `members` varchar(16) NOT NULL default '',
  PRIMARY KEY  (`gid`),
  KEY `groupname` (`groupname`)
) AUTO_INCREMENT=2004 ;

--
-- Struktura tabulky `ftpquotalimits`
--

CREATE TABLE `ftpquotalimits` (
  `name` varchar(30) default NULL,
  `quota_type` enum('user','group','class','all') NOT NULL default 'user',
  `per_session` enum('false','true') NOT NULL default 'false',
  `limit_type` enum('soft','hard') default 'hard',
  `bytes_in_avail` int(10) unsigned NOT NULL default '0',
  `bytes_out_avail` int(10) unsigned NOT NULL default '0',
  `bytes_xfer_avail` int(10) unsigned NOT NULL default '0',
  `files_in_avail` int(10) unsigned NOT NULL default '0',
  `files_out_avail` int(10) unsigned NOT NULL default '0',
  `files_xfer_avail` int(10) unsigned NOT NULL default '0'
)

--
-- Struktura tabulky `ftpquotatallies`
--

CREATE TABLE `ftpquotatallies` (
  `name` varchar(30) NOT NULL default '',
  `quota_type` enum('user','group','class','all') NOT NULL default 'user',
  `bytes_in_used` int(10) unsigned NOT NULL default '0',
  `bytes_out_used` int(10) unsigned NOT NULL default '0',
  `bytes_xfer_used` int(10) unsigned NOT NULL default '0',
  `files_in_used` int(10) unsigned NOT NULL default '0',
  `files_out_used` int(10) unsigned NOT NULL default '0',
  `files_xfer_used` int(10) unsigned NOT NULL default '0'
)
      
--
-- Struktura tabulky `ftpuser`
--

CREATE TABLE `ftpuser` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `userid` varchar(32) NOT NULL default '',
  `passwd` varchar(32) NOT NULL default '',
  `uid` smallint(6) NOT NULL default '5500',
  `gid` smallint(6) NOT NULL default '5500',
  `homedir` varchar(255) NOT NULL default '',
  `shell` varchar(16) NOT NULL default '/sbin/nologin',
  `count` int(11) NOT NULL default '0',
  `accessed` datetime NOT NULL default '0000-00-00 00:00:00',
  `modified` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `userid` (`userid`)
)


a ted momentálně důmám nadtím co dále mám udělat na netu jsem našel nake ty návody ale moc to znich nechá jako nechápu co přesně mám udělat.

« Poslední změna: 26 Října 2008, 21:58:47 od Vojtěch Trefný »

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #10 kdy: 27 Října 2008, 18:26:59 »
bylodána rada že pravděpodobně nezavadim modul sql, nebo nemam nastavenou autentifikaci pomoci sql


Mohli by jste mi prosím poradit co tím je myšleno nebo spíš jak to mám napravit. Dík moc za každou radu.

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: proFTPd
« Odpověď #11 kdy: 27 Října 2008, 18:30:59 »
AuthOrder mod_sql.c jste během úprav náhodou nevypustil?
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #12 kdy: 27 Října 2008, 21:36:33 »
No nevim kde to AuthOrder mod_sql.c najdu??
Sem už docela dost zoufalý. Už v tom tápu dost dlouho a rád bych to měl z krku.

Dík za každou radu.

nettezzaumana

  • Host
Re: proFTPd
« Odpověď #13 kdy: 27 Října 2008, 22:06:14 »
.. njn .. ty jsi dalsi z tech expertu, co potrebuji hostovat nekolik domen, ale si schopni nastavit pitomeho ftp demona?

kdyz napises synku do guglu "proftpd howto", tak ti na prvnim miste vyjede odkaz, ze ktereho by to zvladla nastavit i moje kocka ..
nehostuj .. nemas na to .. akorat budes mit spousta trablu .. budes muset resit horsi veci ;)

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #14 kdy: 27 Října 2008, 22:35:11 »
no nejde jen o hostování jde oto se to naučit,ne

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #15 kdy: 27 Října 2008, 22:36:27 »
ja spíš řeším problém podle návodu jsem to vytvořil ale tedto nešlape takže oto de.

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #16 kdy: 27 Října 2008, 22:55:22 »
nettezzaumana ty ses nakej dost velkej podivím co?

nettezzaumana

  • Host
Re: proFTPd
« Odpověď #17 kdy: 28 Října 2008, 01:26:01 »
nettezzaumana ty ses nakej dost velkej podivím co?
jj

Pavel Půlpán

Re: proFTPd
« Odpověď #18 kdy: 28 Října 2008, 09:25:26 »
nettezzaumana ty ses nakej dost velkej podivím co?

Root má svýho Bleka, Ábíčko svůj otazník u zpráviček o nových verzích Wine, no a my tu máme Ntz. :D

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: proFTPd
« Odpověď #19 kdy: 28 Října 2008, 09:27:02 »
nettezzaumana ty ses nakej dost velkej podivím co?

Root má svýho Bleka, Ábíčko svůj otazník u zpráviček o nových verzích Wine, no a my tu máme Ntz. :D

... a pak dalšího fantoma fóra, kterého nikdo neviděl ... dozajista krásnou Aničku :D
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #20 kdy: 28 Října 2008, 09:31:45 »
pls potřeboval bych stím opravdu pomoct stím FTP

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #21 kdy: 28 Října 2008, 11:34:23 »
no už vážně nevím
takto vypadá můj soubor proftpd.conf


Citace
##ServerType urcuje, zda se jedna o server bezici jako daemon (standalone), nebo jako sluzba superserveru (inetd/xinetd)
ServerType                      standalone

##DefaultRoot - kam ma byt uzivatel chrootovan (kde bude jeho "/" adresar)
DefaultRoot ~                                                                       


##AllowOverwrite - zda lze prepisovat soubory
##AllowRetrieveRestart - zda lze navazat na castecne stazeny soubor
##AllowStoreRestart - zda lze navazat na castecne nahrany soubor
AllowOverwrite                  on                 
AllowRetrieveRestart            on                                                                                                 
AllowStoreRestart               on
                                                                  
##ServerName -pokus
##Port - kde ma server poslouchat - 21 je vychozi (a bezny) port pro FTP
##PassivePorts
##------------
##FTP pouziva vychozi port 21 pro "prikazovou radku", kudy posila informace jako je stor, put, ls ... proste bezne prikazy
##Dale pak pouziva datovy kanal, kudy tecou vlastni data (obsah vypisu adresare, up/download vlastniho souboru
##Existuji dve moznosti, jak datovy kanal muze fungovat
##
##1) Active - znamena, ze server ma otevren jen port 21 a 20 (datovy port),
##Komunikace mezi klientem a serverem pak probiha tak, ze klient z libovolneho portu (N>1023) vysle pozadavek na komunikacni kanal (port 21),
##pokud se mu dostane odpovedi, zacne poslouchat na dalsim (volnem) portu (N+1) a posle toto cislo serveru. Server se pak pripoji ke klientovi
##na oznameny port z portu 20 a zacne odesilat data. Z hlediska serveru je to nejjednodussi mozna konfigurace, protoze ve firewallu staci povolit
##prichozi porty 20 a 21, ale z hlediska klienta uz to tak snadne neni - problem nastava u klientu s neverejnou IP (za NAT nebo PROXY) a zapnutym
##firewallem, ktery neumi povolit prichozi smer pro vsechny porty otevrene FTP klientem. Osobne active mod u serveru nepouzivam, uz jen proto, ze
##hodne nejbeznejsich www klientu (napr. firefox, ie) odesila ihned po prihlaseni prikaz PASV (prepni mne do passive modu) a navic se nelze spolehat
##na to, ze uzivatel bude vzdy "prvni na rane" tj. ze bude mit verejnou IP a pruchozi firewall
##
##2) Passive - znamena, ze server ma otevreny port 21 a urcite mnozstvi dalsich portu, ktere nasledne pouziva pro prenos dat mezi klientem a
##serverem tj. kdy klient po prihlaseni na server obdrzi od serveru cislo prideleneho otevreneho port, na kterem data na klienta cekaji. Z hlediska
##konfigurace firewallu na serveru je to pomerne problem, nastesti proftpd podporuje vynuceni urciteho bloku volnych portu, kdy se uz firewall
##da upravit tak, aby propustil presne a jen toto mnozstvi. Doporucuji otevrit i port 20, protoze pak bude server fungovat v obou modech
ServerName                      "My ProFTPd server"                                                                              
Port                            21                                                                                                  
PassivePorts                    5103 5189                                                                                           


##MultilineRFC2228 - Jedna se o urcitou "kompatibilitu rozsirujici" featuru. Vpodstate pri komunikaci klienta se serverm
##kazdy radek zacina urcitym kodem (2xx,4xx,6xx) ktery urcuje o jakou hlasku se jedna - diky tomu je zaruceno, ze klientska
##aplikace bude vedet, co je spatne(nebo dobre) a zaroven to server dokaze rici i cloveku srozumitelnou formou
##Standardne server posle kod odpovedi a pak vysype spousty radku bez kodu, coz muze vest k tomu, ze je protejsi klient zmateny,
##proto je MultilineRFC2228 dulezity - kazdy radek ma svuj jednoznacny kod
MultilineRFC2228                on                                                                                                  

##DefaulServer je zalezitost pouzivana hlavne v pripade VirtualServeru, kdy pokud prijde pozadavek na IP (a ne na dns nazev), nevi
##server, kam jej priradit, pokud by tato direktiva chybela, klient obdrzi hlasku "no server available to service your request"
DefaultServer                   on                                                                                            

##ShowSymlinks - Rekne, zda maji byt zobrazeny (a zda jsou aktivni) symbolicke odkazy. Muze to byt uzitecne v pripade, ze pozadujete nejaky
##ucet, skrz ktery se lze podivat treba do adresaru dalsich uzivatelu bez toho, aby bylo nutne pouzivat nejakou obecnejsi variantu (napr. mount --bind)
ShowSymlinks                    on                                                                                                

##IdentLookups urcuje, zda ma byt uzivatelske jmeno ziskano pres ident (RFC1413), defaultne je on, vypinam to, protoze to znacne zpomaluje
##prihlasovaci proces
IdentLookups                    off                                                                                                 

##Jedna se o zalezitost, kdy server po navazani spojeni zjistuje reverzni DNS zaznam klienta, pouziva se to treba pro
##bezpecnejsi autorizaci (dany uzivatel se smi prihlasit jen z dane domeny), default je on, vypinam to --> pomale
UseReverseDNS                   off                                                                             

##TimeoutNoTransfer urcuje, jak dlouho (v sekundach) muze byt uzivatel necinny bezprostredne po prihlaseni na server bez pozadavku
##TimeoutStalled urcuje, jak dlouho (v sekundach) bude proces prenosu dat (bez prenosu dat) povazovan za aktivni
##TimeoutIdle urcuje, jak dlouho (v sekundach) muze uzivatel zustat necinny (po prenosu dat)
TimeoutNoTransfer               900                                                                                                 
TimeoutStalled                  600                                                                                                 
TimeoutIdle                     1800                                                                                                

##Vpodstate klasicky linuxovy umask noveho adresare a souboru (maska se odecita od plne hodnoty tj. 777-022=755 ~ rwxr-xr-x)
Umask                           022     022                                                                                         

##DisplayLogin rika, ze ktereho souboru se nacte uvodni hlaska po prihlaseni na server (Vitejte na serveru blablablablabla)
##Zajimava je snad jen moznost, ze si uzivatel hlasku definuje sam - tj. tato konfigurace, kdy se soubor hleda v chrootu
##uzivatele, pokud soubor neexistuje, nevznikne zadna chyba, jen se uzivateli nic nevypise
DisplayLogin                    welcome.msg

##DisplayChdir definuje, ktery soubor bude po prvnim otevreni adresare vypsan jako hlaska (neco ve smyslu "V tomto adresari se nachazi to
##a to a nelze mazat"), tato direktiva je oznacena za zastaralou, castecne ji nahrazuje DisplayChdir, ale asi stejne nema moc smysl, protoze vetsina
##www prohlizecu (nejcastejsi navstevnici FTP - alespon u mne) tyto hlasky stejne ignoruje
DisplayChdir               .message       

##ListOptions ma jako hodnotu parametr, ktery udava, jak bude vypadat vypis adresare (v klasickem terminalu). Moznosti jsou
## -l Jedna radka pro jeden soubor
## -A Vypis vsechny soubory vyjma "." a ".."
## -a Vypis vsechny soubory vcetne tech skrytych (tj. zacinajicich "." - napriklad .htaccess)
## -C Vypis do kolonek
## -d Vypis jen adresare (misto jejich obsahu)
## -F V pripade, ze dany soubor obsahuje identifikator souboru ("*", "/", "=", "@" or "|"), vypise jej take
## -h Vypisuje velikosti souboru v "citelnejsi" podobe (1K, 10MB, 2,4GB atd.)
## -L Vypisuje soubory, na ktere ukazuje symbolicky odkaz
## -l Pouzije tzv. "podrobny vypis"
## -n Pri vypisu ukaze jen cisla GID a UID pro skupiny/uzivatel misto jejich nazvu
## -R Bude prochazet adresare rekurzivne
## -r Vypise soubory v obracenem poradi
## -S Seradi a vypise soubory podle velikosti
## -t Seradi a vypise soubory podle data posledni upravy
ListOptions                     "-l"                                                                                                
             
##RootLogin rika, zda uzivatel root muze pristoupit na server pres FTP, tak jak tak by to melo byt vypnuto pomoci /etc/ftpusers, ale jistota je jistota
##RequireValidShell - normalne proftpd pouziva uzivateli definovany shell, v tomto pripade ale vlastne nechceme, aby uzivatel shell mel, takze jej
##nepozadujeme
RootLogin          off                                                                                                                     
RequireValidShell      off       
             
##DenyFilter - zabezpeceni proti nastaveni nebezpecnych filtru na masku regularniho vyrazu
DenyFilter                      \*.*/                                                                                               

##AuthOrder rika v jakem poradi se ma pristupovat k overeni daneho uzivatele, pokud je nastavena takto,
##dojde k overeni jen na zaklade mysql (virtual user), tj. zadny bezny uzivatel (vlastnici shell) nebude overen
AuthOrder mod_sql.c                                                                                                                 
           
<Global>
RootLogin on
</Global>


a takto sql.conf


Citace
##SQLAuthenticate povoluje modul SQL overeni uzivatele
SQLAuthenticate              on

##SQLAuthTypes urcuje, jak jsou hesla ulozena v databazi
SQLAuthTypes            Crypt Plaintext                                                                                             

##SQLConnectInfo obsahuje informace potrebne pro prihlaseni k databazi, je dobre mit pro proftpd vlastniho uzivatele
SQLConnectInfo  proftpd@localhost proftpd zkusene                                                              
                                                                                                                                    
##SQLUserInfo rika, ktera tabulka a ktere zaznamy budou pouzity pro operace s uzivateli
SQLUserInfo     ftpuser userid passwd uid gid homedir shell                                                                         
                                                              
##SQLGroupInfo rika, ktera tabulka a ktere zaznamy budou pouzity pro operace se skupinami
SQLGroupInfo    ftpgroup groupname gid members                                                                                      
                                                                                                                                    
##Minimalni UID A GID uzivatele v SQL databazi, ktery ma opravneni se prihlasit
SQLMinID        500                                                                                                                 
                                                                                                                                    
##Umoznuje zalozit domovskou slozku uzivatele (definovanou v databazi) v pripade jeji neexistence
SQLHomedirOnDemand       on                                                                                                               
                                                                                                                                    
##Pricteme pocet prihlaseni uzivatele po kazdem jeho prihlaseni (prikaz PASS)
SQLLog PASS updatecount                                                                                                             
SQLNamedQuery updatecount UPDATE "count=count+1, accessed=now() WHERE userid='%u'" ftpuser                                          
                                                                                                                                    
##Definice posledniho up/downloadu/smazani souboru uzivatele v databazi (prikaz STOR,DELE,GET)
SQLLog  STOR,DELE,GET modified                                                                                                          
SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser                                                            

## Uzivatelske kvoty
## =================                                                                                                                       
QuotaEngine       on #Zapnuti kvot
QuotaDirectoryTally    on #Maji se zapocitavat i adresare
QuotaDisplayUnits    Mb #Zobrazovane jednotky
QuotaShowQuotas    on #A maji se zobrazovat kvoty uzivatelum

##Nacita z databaze kvoty daneho uzivatele
SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail, files_in_avail, files_out_avail, files_xfer_avail FROM ftpquotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"                   

##Pocita jiz zaplnenou kvotu
SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM ftpquotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"                                                 

##Aktualizuje kvotu
SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" ftpquotatallies

##Vytvareni zaznamu kvoty pro uzivatele
SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" ftpquotatallies                            

##Toto je pouzito pro zobrazeni hlasky uzivateli, kolik z kvoty mu jeste zbyva
SQLNamedQuery gettally  SELECT "ROUND((bytes_in_used/1048576),2) FROM ftpquotatallies WHERE name='%u'"                              
SQLNamedQuery getlimit  SELECT "ROUND((bytes_in_avail/1048576),2) FROM ftpquotalimits WHERE name='%u'"                              
SQLNamedQuery getfree   SELECT "ROUND(((ftpquotalimits.bytes_in_avail-ftpquotatallies.bytes_in_used)/1048576),2) FROM ftpquotalimits,ftpquotatallies WHERE ftpquotalimits.name = '%u' AND ftpquotatallies.name = '%u'"                                                   

##Zobrazime hlasku do pri prikazu LIST
SQLShowInfo   LIST    "226" "Used %{gettally}MB from %{getlimit}MB. You have %{getfree}MB available space."                         

##Tady definujeme, ze se kvoty pro uzivatele budou nacitat z databaze                                          
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally


jsme vděčný za každé rady

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: proFTPd
« Odpověď #22 kdy: 28 Října 2008, 11:39:09 »
A konfigurák, kde načítáte dané moduly je kde?
tj. /etc/proftpd/modules.conf ?
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

CT1108

  • Návštěvník
  • Příspěvků: 98
Re: proFTPd
« Odpověď #23 kdy: 28 Října 2008, 11:41:57 »
no tady promiňte :

Citace
#
# This file is used to manage DSO modules and features.
#

# This is the directory where DSO modules reside

ModulePath /usr/lib/proftpd

# Allow only user root to load and unload modules, but allow everyone
# to see which modules have been loaded

ModuleControlsACLs insmod,rmmod allow user root
ModuleControlsACLs lsmod allow user *

LoadModule mod_ctrls_admin.c
LoadModule mod_tls.c
LoadModule mod_sql.c
LoadModule mod_ldap.c

#
# 'SQLBackend mysql' or 'SQLBackend postgres' directives are required
# to have SQL authorization working. You can also comment out the
# unused module here, in alternative.
#
LoadModule mod_sql_mysql.c
LoadModule mod_sql_postgres.c

LoadModule mod_radius.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c
LoadModule mod_quotatab_ldap.c
LoadModule mod_quotatab_sql.c
LoadModule mod_quotatab_radius.c
LoadModule mod_wrap.c
LoadModule mod_rewrite.c
LoadModule mod_load.c
LoadModule mod_ban.c
LoadModule mod_wrap2.c
LoadModule mod_wrap2_file.c
LoadModule mod_wrap2_sql.c

# keep this module the last one
LoadModule mod_ifsession.c

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: proFTPd
« Odpověď #24 kdy: 28 Října 2008, 11:43:03 »
ok, a v proftpd.conf jej includujete kde?
Chybí Vám tam řádek
Kód: [Vybrat]
Include /etc/proftpd/modules.conf   
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

 

Provoz zaštiťuje spolek OpenAlt.