Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Proftpd FAQ (Instalacja i konfiguracja) http://forum.freesco.pl/viewtopic.php?f=24&t=11715 |
Strona 1 z 3 |
Autor: | TheL [ piątek, 17 marca 2006, 15:46 ] |
Tytuł: | Proftpd FAQ (Instalacja i konfiguracja) |
proftpd Instalacja: Pacman -S proftpd po zainstalowaniu edytujemy plik proftpd.conf wg wzoru: # This is a ProFTPD configuration file ServerName "FTP Server" # Nazwa serwera ServerAdmin email@amina.pl # Email admina ServerIdent off "ftp://ftp.domena.pl/" # Pozwala na wyswietlenie wiadomosci powitalnej podczas polaczenia. Standardowo wylaczone. ServerType standalone # Ustawia tryb pracy demona ProFTPD, styb standalone jest najwydajniejszy. DeferWelcome on # Nie pokazuje wiadomosci powitalnej dopoki uzytkownik sie nie zautoryzuje. DefaultServer on # Okreslamy konfiguracje jako domyslna Port 21 # Nr portu na ktorym serwer ma słuchać Umask 002 # Tryb umask 022 jest typowym standardem dla ogolnie dostepnych plikow i katalogow User nobody # Uzytkownik na jakiego odpalony jest serwer FTP Group nobody # Grupa do ktorej nalezy ten uzytkownik TimeoutIdle 300 # Timeout przy braku ruchu (zalogowal sie i spi) TimeoutStalled 300 # Timeout przy przeciazonym laczu jak sie nie odzywa TimeoutLogin 60 # Timeout podczas logowania (za dlugo sie loguje) TimeoutNoTransfer 300 # Timeout przy braku transferu ExtendedLog /var/log/proftp.log # Miejsce gdzie maja byc logi ExtendedLog /dev/tty10 # Konsola na ktorej maja byc wyswietlane logi DisplayLogin welcome.msg # Plik z wiadomoscia powitalna MaxInstances 20 MaxLoginAttempts 2 MaxClients 10 ">>>Za duzo chetnych :( Zapraszam innym razem.<<<" # Maxymalna liczba userow zalogowanych w danej chwili (w cudzyslowiu znajduje sie wiadomosc dla kolejnych probojacych sie zalogowac) MaxClientsPerHost 5 "Przystopuj! Za duzo polaczen z jednego IP." # Maxymalna liczba polaczen z jednego IP. <Limit LOGIN> Order allow,deny Allow from All </Limit> <Directory /*> AllowOverwrite on # Zezwalamy na nadpisywanie plikow w obrebie katalogu do ktorego uzytkownik się zaloguje. AllowStoreRestart on </Directory> # Needed for NIS. PersistentPasswd off <Anonymous /home/httpd/www/public_html/anonymous> User anonymous # konto uzytkownika ktorego prawa bedzie uzyskiwala osoba logujaca sie do serwera. Group users # grupa do ktorej nalezy powyzsze konto AnonRequirePassword on # Jesli wlaczona to umozliwia uzytkownikom anonimowym logowanie sie bez hasla. RequireValidShell off # Opcja ta powoduje, ze ProFTPD nie sprawdza czy dany uzytkownik, ktory się loguje posiada przypisana w /etc/shells powloke. DisplayLogin welcome.msg # Okreslamy plik ktorego zawartosc bedzie wyswietlana po starcie. DisplayFirstChdir .message # Plik ktorego zawartosc bedzie wyswietlana po pierwszym wejsciu do katalogu. GroupOwner root Umask 002 MaxClients 10 "Za duzo chetnych. Zapraszam innym razem" MaxClientsPerHost 5 "Przystopuj! Za duzo poloczen z jednego IP." <Limit LOGIN> Order allow,deny Allow from All </Limit> <Directory /home/httpd/www/public_html/anonymous> <Limit ALL> Allow All </Limit> AllowOverwrite on AllowStoreRestart on </Directory> </Anonymous> DefaultRoot /home/httpd/www/public_html/anonymous anonymous # Wyznaczamy nadrzedny dla kazdego uzytkownika katalog spoza ktorego nie bbdzie mogl wyjsc. <Anonymous /home/httpd/www/public_html/user1> User user1 Group users AnonRequirePassword on RequireValidShell off DisplayLogin welcome.msg DisplayFirstChdir .message GroupOwner user Umask 002 MaxClients 10 "Za duzo chetnych. Zapraszam innym razem" MaxClientsPerHost 5 "Przystopuj! Za duzo poloczen z jednego IP." <Limit LOGIN> Order allow,deny Allow from All </Limit> <Directory /home/httpd/www/public_html/user2> <Limit ALL> Allow All </Limit> AllowOverwrite on AllowStoreRestart on # Pozwala klientom wznawiac upload. </Directory> </Anonymous> DefaultRoot /home/httpd/www/public_html/user2 user2 <Anonymous /home/httpd/www/public_html/user3> User user3 Group users AnonRequirePassword on RequireValidShell off DisplayLogin welcome.msg DisplayFirstChdir .message GroupOwner users Umask 002 MaxClients 10 "Za duzo chetnych. Zapraszam innym razem" MaxClientsPerHost 5 "Przystopuj! Za duzo poloczen z jednego IP." <Limit LOGIN> Order allow,deny Allow from All </Limit> <Directory /home/httpd/www/public_html/user3> <Limit ALL> Allow All </Limit> AllowOverwrite on AllowStoreRestart on </Directory> </Anonymous> DefaultRoot /home/httpd/www/public_html/user3 user3 To wystarczy do uruchomienia serwera FTP pamietajmy o zmianie userow na swoich i stworzeniu ich w systemie. Inne wazne opcje: Kto może się łączyć z naszym serwerem: Order deny,allow # Moga sie polaczyc wszyscy Deny from .zabroniona.siec # Oprocz userow z hosta "zabroniona.siec" Prosze w temacie opisywac tylko dodatkowe opcje nie pytac o nic od tego sa inne tamaty chcialbym aby ten byl typowym faq. Materialy uzyte w tym faq pochodza z mojej glowy i roznych stron z ktorych uczylem sie konfigurowac proftpd. Niektore firmy oferuja nauke administracji serwerm proftpd za okolo 500 zl a tu macie za darmo ![]() |
Autor: | Mr Groch [ piątek, 17 marca 2006, 21:25 ] |
Tytuł: | |
A dlaczego w Tym konfigu wszyscy uzytkownicy to anonymous? Wiem, ze i tak maja swoje prawa, itd, ale jakos mam wrazenie, ze mimo wsyztsko uzytkownicy sa traktrowani jako anonymous ![]() I jeszcze jedno - Opcja DefaultRoot po kazdej sekcji anonymous chyba jest zbedna... I tak po zalogowaniu sie dostajemy sie do katalogu podanego po '<anonymous ' i i tak "wyzej" nie da sie przejsc... |
Autor: | TheL [ sobota, 18 marca 2006, 05:20 ] |
Tytuł: | |
moim zdaniej jesli jakas funkcja jest do ustawienia nic nie szkodzi ja ustawic wtedy mamy pewnosc ze napewno zadziala, ten konfig jest dzialajacy wiec to chyba najwazniejsze, kazdy user jest userem stworzonym w systemie a nie anonymousem. |
Autor: | Mr Groch [ sobota, 18 marca 2006, 10:14 ] |
Tytuł: | |
Oj, tak - jest w systemie i uzyskujemy prawa tefgo usera, jednakze zauwaz, ze przy logowaniu na serwer ftp zawsze wyskakuje: 230 Anonymous access granted, restrictions apply. |
Autor: | TheL [ sobota, 18 marca 2006, 12:43 ] |
Tytuł: | |
no moze i masz racje tak jest, ale w czym to przeszkadza ? Bardzo fajnie to dziala, szybko i latwo wg tego wzoru porobic duzo kont. Teraz jeszcze pomysle nad quota i bedzie mozna serwera www dla userow stawiac ![]() |
Autor: | mazol [ sobota, 18 marca 2006, 13:50 ] |
Tytuł: | |
Jedno pytanie Czy dla kazdegousera dodanego do systemu musze robic wpis w confiogu proftpd? Troche to byloby uciazliwe gdyby trzeba bylo 10userow dodawac... Jaki bylby wpisz aby standardowo dla kazdego dodanego usera zeby logowal sie na /home/nazwa_konta_danego_usera bez mozliwosc wyjscia wyzej ze swojego kat... |
Autor: | TheL [ sobota, 18 marca 2006, 14:44 ] |
Tytuł: | |
wg mnie trzeba robic dla kazdego oddzielny wpis wg tego co jest w pliku konfiguracyjnym, niestety w nim jest taka niedogodnosc ale to DZIALA moze ktos ma inny pomysl ja metoda prob i bledow doszedlem do czegos takiego i idealnie sie sprawdza. |
Autor: | Mr Groch [ sobota, 18 marca 2006, 20:53 ] |
Tytuł: | |
No dziala ![]() A moze ktos by jeszcze zamiescil tu jakiegos konfiga lub porzynajmniej czesc? Moze ktos zna lepszy sposob, moze ktos wie jak nie ograniczac sie tylko do anonymous? Zamieszczajcie tu swoje pomysly - moze wyjsc niezla skarbnica wiedzy o konfiguracji proftpd ![]() BTW: Da sie, by np zalogowany uzytkownik ftp nalezacy tylko do grupy ftp przesylal pliki na serwer, a pliki te mialy za wlasciciela np grupe users? Opcja GroupOwner grupa nie dziala, gdyz uzytkownik musi byc czlonkiem tej grupy... Pozdrawiam |
Autor: | marask [ sobota, 18 marca 2006, 22:56 ] |
Tytuł: | |
hmm ja mam gdzies na początku pliku DefaultRoot ~ i działa - nikt nie może wyjść poza swój katalog. |
Autor: | Mr Groch [ sobota, 18 marca 2006, 23:22 ] |
Tytuł: | |
Nie chodzi mi, o to gdzie moze wychodzic a gdzie nie tylko o domyslnego wlasciciela plikow wysylanych na serwerze... By wlascicielem byla grupa np users, podczas gdy uzytkownik zaklogowany to ftp z grupy ftp |
Autor: | TheL [ niedziela, 19 marca 2006, 03:59 ] |
Tytuł: | |
chyba nikt nie uzywa proftpd bo jakos nikt nic nie pisze ![]() a tak pozatym to co Ci przeszkadza to ze to na anonymousach jest ? przeciez i tak bez hasla nikt nie wejdzie ![]() |
Autor: | Luc3k [ niedziela, 19 marca 2006, 14:56 ] |
Tytuł: | |
Panowie moderatorzy, przyklejcie ten topic, potem bedziecie narzekac ze to juz bylo setki razy na forum, gdy ktos bedzie pytal o konfiguracje proftpd ![]() |
Autor: | blackangel [ niedziela, 19 marca 2006, 15:09 ] |
Tytuł: | |
Ja u siebie mam dodane AllowForeignAddress on AllowRetrieveRestart on AllowStoreRestart on UseReverseDNS off IdentLookups off ExtendedLog /var/log/proftp.log ShowSymlinks on Dzięki temu mam wznawianie plików,połączenia FXP, log, i coś jeszcze ale zapomniałem co ![]() |
Autor: | TheL [ niedziela, 19 marca 2006, 16:47 ] |
Tytuł: | |
Kolejna porcja informacji ![]() Umozliwia anonymousowi logowanie bez hasla Opcja ta odpowiada za tryb pracy demona proftpd, standalone - demon ciągle włączony, inetd - uruchamia się w dopiero gdy jest potrzebny. Po takim ustawieniu użytkownik logujący się do naszego serwera nie będzie wiedział z jakim demonem ftp pracuje nasz serwer. Opcja ta ustala ile razy użytkownik może się "pomylić" podczas logowania do systemu. Pozwala na dostep do serwera ze wszystkich ip nie wliczajac 11.11.11.1 Zabrania na dostep do serwera wszystkim nie wliczajac polaczen z ip 192.168.0.2 i domen .de Ustalenie (globalne) miejsc, skad klient może się zalogowac Potem w ustawieniach poszczegolnych ANONYMOUS mozna to jeszcze bezbolesnie zmienic (dostosowac precyzyjniej dostep). Allow znaczy zgoda, Deny znaczy blokada, from znaczy z... robimy to dokladnie wstawiajac w odpowiednie tagi: <Limit LOGIN> Order allow,deny Allow from .de Allow from 192.168.0.2 DenyAll </Limit> Czyli pozwolenie na wznowienie pobierania (domyslnie on). Jeżeli chcesz ON, to nie musisz wpisywać. Czyli pozwolenie na wznowienie zapisu na serwer (domyslnie off). wstawiamy to w tagi: <Directory /*> AllowOverwrite on AllowRetrieveRestart on AllowStoreRestart on </Directory> Potrzebne przy NIS. NIS - jest jednym z najprostszych sposobów rozpowszechniania w sieci informacji o użytkowniku , zapisanych w plikach passwd oraz group. Niestety, nie należy do bezpiecznych, gdyż nie szyfruje danych. Wlaczanie ograniczen zapisu na serwer do 750000 B/s (wpisz w bajtach) Bez limitu zapisu dla malych plikow o pojemnosci 100000 B (wpisz w bajtach) Wlaczenie ograniczenia zapisu przy kilku userach Ograniczenie odczytu na serwer do 750000 B/s (wpisz w bajtach) Bez limitu odczytu dla malych plikow o pojemnosci 100000 B (wpisz w bajtach) Wlaczenie ograniczenia odczytu przy kilku userach <Limit WRITE MKD DELE RMD STOR> DenyAll </Limit> <Limit LIST DIRS READ> AllowAll IgnoreHidden on </Limit> </Anonymous> Ustawienie praw uzytkownika anonimowego. DenyAll dla wszystkiego co jest potencjalnie niebezpieczne dla serwera. AllowAll czyli pozwolenie na listowanie (LIST DIRS); Linia IgnoreHidden zabezpiecza nasz system chowajac pliki z atrybutem UKRYTY (hidden-ukryty, on-aktywne) Ustawimy wiec bardzo restrykcyjnie prawa dla anonimowego uzytkownika: bedzie mogl tylko listowac i kopiowac pliki. oznaczenia: DIRS - zestaw poleceń dotyczących listowania katalogów (zawiera LIST, NLST] [All FTP commands which deal with directory listing. i.e LIST and NLST.] READ - grupa poleceń FTP związanych z czytaniem plików (bez listowania katalogów). Zawiera RETR, STAT. [All FTP commands which deal with file reading (directory listing not included). i.e. RETR, STAT, etc.] WRITE - grupa poleceń radząca sobie z plikiem (zawiera write/creation/deletion) lub katalogiem (zawiera MKD, RMD) [All FTP commands which deal with file or directory write/creation/deletion (MKD and RMD included).] RNFR (ReName FRom), RNTO (ReName TO) - tzw. podwójne zlecenia od klienta do serwera zawierające zmianę nazwy i ścieżkę dostępu. [Sent as a pair by client to rename a directory entry.] STOR (STORe) - z ang. magazyn, czyli prawo do zapisu (magazynowania) nowych plików na serwer. MKD (MaKe Directory) - prawo do tworzenia katalogów. RMD (ReMove Directory) - prawo do usunięcia katalogów. LIST - listowanie zawartości katalogu. DELE (DELEte) - kasowanie. CWD (Change Working Directory) - zmiana katalogu. RETR (RETRieve) - pobieranie plików z serwera do klienta. ALL - wszystkie polecenia FTP (zawiera READ WRITE DIRS). |
Autor: | MAC!EK [ niedziela, 19 marca 2006, 18:52 ] |
Tytuł: | |
Luc3k pisze: Panowie moderatorzy, przyklejcie ten topic, potem bedziecie narzekac ze to juz bylo setki razy na forum, gdy ktos bedzie pytal o konfiguracje proftpd
![]() od tego jest wiki albo faq, co by było jakbym przyklejał wszystkie coś wnoszące wątki? |
Autor: | Luc3k [ niedziela, 19 marca 2006, 18:55 ] |
Tytuł: | |
Spx, nie bylo sugestii. |
Autor: | TheL [ niedziela, 19 marca 2006, 19:50 ] |
Tytuł: | |
do wiki dodam to jak juz sie ludzie wypowiedza moze ktos bedzie mial jeszcze jakies sugestie, chcialbym aby faq bylo pelne i moglo pomoc kazdemu. |
Autor: | Mr Groch [ poniedziałek, 20 marca 2006, 21:26 ] |
Tytuł: | |
Wklejam swoj proftpd.conf # This is a ProFTPD configuration file ServerName "Moj FTP server" # Nazwa serwera ServerAdmin moj@mail.com # Email admina ServerIdent on "ftp://mojadomena.com" # Pozwala na wyswietlenie wiadomosci powitalnej podczas polaczenia. Standardowo wylaczone. ServerType standalone # Ustawia tryb pracy demona ProFTPD, tyb standalone jest najwydajniejszy. DeferWelcome on # Nie pokazuje wiadomosci powitalnej dopoki uzytkownik sie nie zautoryzuje. DefaultServer on # Okreslamy konfiguracje jako domyslna DefaultAddress 192.168.0.1 # Bez tego proftpd nie odpali :) Port 21 # Nr portu na ktorym serwer ma słuchać UseReverseDNS off # Blokuje odpytywanie DNS o hosta - wazne, przyspiesza logowanie na serwerach bez nazwy DNS. IdentLookups off # Przyspiesza jak wyzej - wylacza protokol ident (RFC1413) Umask 022 # Tryb umask 022 jest typowym standardem dla ogolnie dostepnych plikow i katalogow User nobody # Uzytkownik na jakiego odpalony jest serwer FTP Group nogroup # Grupa do ktorej nalezy ten uzytkownik TimeoutIdle 300 # Timeout przy braku ruchu (zalogowal sie i spi) TimeoutStalled 300 # Timeout przy przeciazonym laczu jak sie nie odzywa TimeoutLogin 60 # Timeout podczas logowania (za dlugo sie loguje) TimeoutNoTransfer 300 # Timeout przy braku transferu ExtendedLog /var/log/proftp # Miejsce gdzie maja byc logi ExtendedLog /dev/tty10 # Konsola na ktorej maja byc wyswietlane logi PidFile /var/run/proftpd.pid # Lokalizacja pliku pid DisplayLogin .welcome # Plik z wiadomoscia powitalna (musi znajdowac sie w katalogu domowym usera). DisplayFirstChdir .message # Plik ktorego zawartosc bedzie wyswietlana po pierwszym wejsciu do katalogu (jak wyzej). MaxInstances 10 MaxLoginAttempts 2 MaxClients 4 "Za duzo chetnych :( Zapraszam innym razem." # Maxymalna liczba userow zalogowanych w danej chwili (w cudzyslowiu znajduje sie wiadomosc dla kolejnych probojacych sie zalogowac) MaxClientsPerHost 1 "Przystopuj! Za duzo polaczen z jednego IP." # Maxymalna liczba polaczen z jednego IP. MaxClientsPerUser 1 "Juz na serwerze jest zalogowany %m" # Maxymalna ilosc zalogowanych klientow na tego samego usera. DefaultRoot ~ !expusers # Wyznaczamy nadrzedny dla kazdej grupy katalog, spoza ktorego grupa nie bedzie mogla wyjsc. DefaultRoot / expusers # Nadrzedny katalog tylko dla grupy expusers <Limit LOGIN> Order allow,deny Allow from All </Limit> <Directory /> AllowOverwrite on # Zezwalamy na nadpisywanie plikow w obrebie katalogu do ktorego uzytkownik się zaloguje. AllowStoreRestart on # Zezwalamy na wznawianie transferu </Directory> # Needed for NIS. PersistentPasswd off <Anonymous ~> User ftp # konto uzytkownika ktorego prawa bedzie uzyskiwala osoba logujaca sie do serwera. Group users # grupa do ktorej nalezy powyzsze konto UserAlias anonymous ftp # umozliwi logowanie jako anonymous (nie tylko jako ftp) DefaultChdir public # katalog, do ktorego zostaniemy rzuceni (nadal naszym katalogiem rootem bedzie katalog domowy) AnonRequirePassword off # Jesli wylaczona to umozliwia uzytkownikom anonimowym logowanie sie bez hasla. RequireValidShell off # Opcja ta powoduje, ze ProFTPD nie sprawdza czy dany uzytkownik, ktory się loguje posiada przypisana w /etc/shells powloke. GroupOwner users # grupa, ktora stanie sie wlascicielem uploadowanych plikow (user musi nalezec do tej grupy) Umask 002 MaxClients 3 "Za duzo chetnych. Zapraszam innym razem" MaxClientsPerHost 1 "Przystopuj! Za duzo polaczen z jednego IP." </Anonymous> Jest to zmodyfikowany konfig TheL'a. Usunalem pare naprawde zbednych rzeczy, dodalem pare przydatnych opcji i uzupelnilem komentarze, by niektore rzeczy byly bardziej zrozumiale, poprawilem pare bledow (np 2 parametr DefaultRoot musi byc grupa, a nie uzytkownikiem)... Mysle, ze konfig w tej postaci nie jest zbytnio anty-laikowy i dobrze sie nadaje do FAQ i na podstawe tworzenia zaawansownaego serwera FTP Zostawilem tylko jednego uzytkownika anonymous, w koncie musi byc stworzony uzytkownik ftp - po zalogowaniu sie jako anonymous domyslnym katalogiem bedzie /home/ftp Oczywiscie to nie oznacza, ze tylko jeden user anonymous moze korzystac z ftp. Kazdy user, ktory ma konto w systemie moze sie zalogowac na ftp uzywajac swojego systemowego loginu i hasla. Zostanie przeniesiony do swojego domowego katalogu (np /home/user) i nie bedzie mogl wyjsc wyzej (opcja DefaultRoot ~). Konfig zaklada takze istnienie grupy expusers (nalezy ja stworzyc w systemie). Kazdy user nalezacy do tej grupy nie bedzie uwieziony w swoim katalogu domowym, ale bedzie mogl swobodnie sie poruszac po calym systemie plikow (radze uwazac kogo dodajecie do grupy expusers ![]() Uwazam ten konfig za optymalny - nie jestem zwolennikiem pomyslu TheL'a, zeby kazdy user byl anonymousem, z moim konfigiem kazdy user majacy konto w systemie moze korzystac z ftp jako wlasnie on, a nie anonymous ![]() Jeszcze jeden maly tips ![]() Polecam stworzyc plik .welcome, ktory zostanie wyswietlany uzytkownikowi po zalogowaniu sie na serwer. Plik ten nalezy umiescic w katlogu domowym usera (niestety inaczej sie nie da) Przykladowy plik .welcome moze wygladac tak: Witaj %U na moim FTP server! Wolne miejsce: %F B (prosze jednak o wyrozumialosc) Max ilosc polaczen z jednego IP: 1 Max zalogowanych userow: %z (aktualnie: %N) Wszystkie pliki umieszczone w katalogu 'public_html' beda publicznie dostepne spod adresu http://mojadomena.com/~%U/ UWAGA! Wielkosc liter w nazwach plikow ma znaczenie! Admin e-mail: %E ZYCZE MILEGO POBYTU! Proste, a jakze praktyczne ![]() |
Autor: | TheL [ wtorek, 21 marca 2006, 03:52 ] |
Tytuł: | |
co Wy z tym: ? jak to sie nie uruchomi ? a u mnie co dziala ? ![]() Moj sposob jest dla ludzi ktorzy nie chca aby kazdy user w systemie mial konto ftp a jak zrobic zeby nie mial ? wykasowac jego katalog domowy ![]() ![]() ![]() ![]() |
Autor: | Mr Groch [ wtorek, 21 marca 2006, 06:51 ] |
Tytuł: | |
U wiekszosci, bez specjalnego grzebania w NND bez tej linii nie dziala ![]() A jezlei nie chcesz by jakis user mial dostep do ftp, to raczej wykasowanie jego katalogu to dratsyczna metoda. Mozna w jego katalogu stworzyc plik .ftpacces i obciac mu odpowiednie prawa, albo w proftpd.conf zabronioc mu dostep (np stworezyc grupe noftp i przypisac jej nieistniejacy katalog "nadrzedny", albo dodac uzytkownika do <LIMIT login>) EDIT: Wlasnie doczytalem.. Najprosciej by zablokowac jakiemus userowi dostep do ftp do stworzyc plik /etc/ftpusers i wpisac w nim nazwe uzytkownikow, ktorych chcemy zablokowac. Proftpd bez zadnych zmian w konfiguracji bedzie sprawdzal ten plik, przy kazdej probie zalogowania sie na ftp. |
Strona 1 z 3 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |