konfiguracja serwera proftpd 

po polsku


[ Start ]


Data aktualizacji dokumentu 26. kwietnia 2001, 10:17:27

Konfiguracja serwera ProFTPD



Pamiêtaj!!!
Najbardziej aktualne informacje znajdziesz na stronie projektu ProFTPD.




Spis tre¶ci

    lWprowadzenie
    lLiteratura godna uwagi
    lPlik konfiguracyjny serwera ProFTPD - lista opisanych w tym dokumencie dyrektyw

      lServerAdmin
      lServerName
      lUser
      lGroup
      lMaxClients
      lTransferLog
      lDefaultRoot
      lAuthUserFile
      l<Anonymous>
      l<Directory>
      l<Limit>
      lAllow
      lDeny
      lAllowAll
      lDenyAll
      lUmask

        lprawa dostêpu w linux'ie

      l<VirtualHost>

    lTryby pracy serwera ProFTPD

      linetd
      lstandalone

    lUwagi dla u¿ytkowników FREESCO
    lPrzyk³adowy plik konfiguracyjny
    lPryk³adowy plik konfiguracyjny z definicj± wirtualnego hosta
    lPe³na lista dyrektyw (j. angielski)



Wprowadzenie
Moim zamiarem jest przybli¿enie zagadnieñ zwi±zanych z konfiguracj± serwera ProFTPD. Mam nadziejê ¿e po przejrzeniu tej strony, czytelnik bêdzie w stanie skonfigurowaæ ten serwer, stosownie do swoich potrzeb. Oczywi¶cie nikt nie zwalnia z my¶lenia - serwer skonfigurujesz tak jak chcesz tylko wtedy gdy poznasz wszystkie jego zalety i wady.
Jako ¿e nikt nie jest doskona³y, wybaczcie je¶li w tek¶cie znajd± siê jakie¶ b³êdy (nie mniej postaram siê ich nie pope³niaæ).

Literatura godna uwagi

lhttp://www.proftpd.org/docs/configuration.html - lista dyrektyw konfiguracyjnych (tutaj mirror strony).
lDokumentacja na stronie proftpd
l"Profesjonalny serwer FTP" Dariusz Sobaniec - artyku³ w LinuxPlus nr 8/2000 omawiaj±cy podstawow± konfiguracjê serwera ProFTPD
l"LINUX - Agresja I Ochrona" Anonim, wyd. ROBOMATIC - ksi±¿ka któr± powinni przejrzeæ wszyscy, którzy s±dz± ¿e ich serwer jest bezpieczny (w trakcie szukania materia³ów pomocnych do napisania tego dokumentu znalaz³em exploita który mo¿e roz³o¿yæ na ³opatki ProFTPD w wersji 1.20).


Czym bêdziemy siê zajmowaæ?
Podstaw± dzia³ania serwera jest plik konfiguracyjny proftpd.conf, którego w zale¿no¶ci od systemu (dystrybucji) zazwyczaj nale¿y szukaæ w jednej z nastêpuj±cych kartotek:

l/usr/local/etc - je¿eli serwer samodzielnie kompilowa³e¶ i nie okre¶li³e¶ parametrem --prefix innego katalogu
l/etc - w dystrybucji RedHat 6.2
l/mnt/router/packages/proftpd/etc - w minidystrybucji Linuxa FREESCO (o ile zainstalowa³e¶ pakiet z mojej strony)



Plik konfiguracyjny serwera ProFTPD
Podstawowe dyrektywy konfiguracyjne i ich (bardzo) krótki opis


ServerAdmin

Okre¶la adres email administratora
Sk³adnia: ServerAdmin root@serwer.domena



ServerName
Nazwa któr± serwer siê przedstawia
Sk³adnia: ServerName "nazwa serwera"



User
Okre¶la w³a¶ciciela uruchomionego programu ProFTPD.
Sk³adnia: User user_id



Group
Okre¶la grupê w³a¶ciciela uruchomionego programu ProFTPD
Sk³adnia: User group_id



MaxClients
Okre¶la maksymaln± liczbê obs³ugiwanych jednocze¶nie po³±czeñ FTP
Przyk³ad: MaxClients 20



TransferLog
Wskazuje miejsce tworzenia logu serwera dotycz±cego transferu plików.
Sk³adnia: TransferLog filename|NONE
Domy¶lnie: /var/log/xferlog




DefaultRoot
Okre¶la domy¶lny katalog g³ówny serwera poza który nie mo¿na wyj¶æ.
Sk³adnia: DefaultRoot directory
Domy¶lnie: /




AuthUserFile
Sk³adnia: AuthUserFile path
AuthUserFile okre¶la alternatywny plik passwd,który ma identyczny format jak
systemowy plik /etc/passwd (st±d wniosek, ¿e u¿ytkownicy nieistniej±cy w systemie mog± logowaæ siê w³asne konta FTP).
Je¶li dyrektywa zosta³a podana to plik bêdzie u¿ywany do identyfikacji u¿ytkowników. Argument 'path' musi zawieraæ pe³n± ¶cie¿kê do pliku.


Podany plik (mimo i¿ has³a s± kodowane) powinien byæ umieszczony poza katalogiem udostêpnianym przez serwer!!!




<Anonymous>
Sk³adnia: <Anonymous root-directory>
Stosuje siê: server config,<VirtualHost>, <Global>


Blok konfiguracyjny Anonymous jest u¿ywany do stworzenia serwera FTP z mo¿liwo¶ci± anonimowego
logowania, i jest on zakoñczony przez dyrektywê </Anonymous>.
Parametr root-directory okre¶la jaki katalog bêdzie domy¶lnie otworzony przez serwer poza który nie wolno u¿ytkownikowi anonimowemu wyj¶æ.

Przyk³ad konfiguracji typowego serwera FTP dla u¿ytkowników anonymous:

<Anonymous /home/ftp>
# Po zalogowaniu u¿ytkownika anonymous, serwer dzia³a jako u¿ytkownik ftp.
User ftp
# Po zalogowaniu u¿ytkownika anonymous, serwer dzia³a jako grupa ftp.
Group ftp
# Klient loguj±cy siê jako 'anonymous' pracuje jako 'ftp'.
UserAlias anonymous ftp
# Zakaz operacji zapisu w stosunku do wszystkich katalogów pocz±wszy od root-dir
# Warto¶ci± domy¶ln± jest allow, wiêc nie trzeba ustawiaæ <Limit> dla operacji odczytu
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
# Katalog do którego ka¿dy mo¿e co¶ wys³aæ ale nie mo¿e czytaæ
<Directory incoming>
<Limit READ WRITE>
DenyAll
</Limit>
<Limit STOR>
AllowAll
</Limit>
</Directory>
</Anonymous>




<Directory>
Sk³adnia: <Directory pathname>
Stosuje siê: konfiguracja serwera, <VirtualHost>, <Anonymous>, <Global>
Ta dyrektywa tworzy block dyrektyw stosowanych tylko w stosunku do wyspecyfikowanego katalogu i jego podkatalogów. Blok jestzakoñczony przez
</Directory>.
Przyk³ad:

<Directory ~/anon-ftp>
<Limit WRITE>
DenyAll
</Limit>
</Directory>






<Limit>
Sk³adnia: <Limit command|command-group [command2 ..]>

Blok konfiguracyjny <Limit> jest u¿ywany do okre¶lania szczegó³owych restrykcji dotycz±cych wykonywania komend FTP wysy³anych przez klienta.
Komendy do których odnosi siê <Limit>


    lCWD (Change Working Directory)- Wysy³ane przez klienta gdy zmienia katalog. Ten limit dotyczy tak¿e komendy CDUP (Change Directory UP).
    lMKD (MaKe Directory) - Wysy³ane przez klienta gdy tworzy nowy katalog.
    lRNFR (ReName FRom), RNTO (ReName TO) - Wysy³ane przez klienta jako para komend gdy client to zmienia po³o¿enie pliku miêdzu katalogami.
    lDELE (DELEte) - Wysy³ane przez klienta gdy kasuje plik.
    lRMD (ReMove Directory) - Wysy³ane przez klienta gdy usuwa katalog
    lRETR (RETRieve) - Transfer pliku z serwera do klienta.
    lSTOR (STORe) - Transfer pliku od klienta do serwera.

Grupy komendy do których odnosi siê <Limit>

    lREAD - wszystkie komendy FTP wi±¿±ce siê z czytaniem pliku (ale nie listing katalogu), np. RETR, STAT, itd.
    lWRITE - wszystkie komendy FTP wi±¿±ce siê z zapisem, tworzeniem, kasowaniem (obejmuje m.in. MKD i RMD).
    lDIRS - wszystkie komendy FTP wi±¿±ce siê z wy¶wietleniem zawarto¶ci katalogu np. LIST i NLST.
    lALL - wszystkie komendy FTP (identycznie zadzia³a³oby po³±czenie READ WRITE DIRS). Ta grupa komed ma najni¿szy priorytet ze wszystkich i nie powoduje nadpisania limitów okreslonych przez wymienione powy¿ej grupy komend (np. DIRS)




Allow
Sk³adnia: Allow ["from"] "all"|"none"|host|network[,host|network[,...]]
Domy¶lnie: allow all
Dyrektywa Allow jest u¿ywana wewn±trz bloku <Limit> do wyspecyfikowania które hosty i/lub sieci mog± mieæ dostêp do odpowiednich komend.
Hosty i sieci mog± byæ opisane nazwami lub przez numeryczne okre¶lenie ich adresów ip
Adresy podawane numerycznie mog± obejmowaæ ca³e sieci, np. wpis 192.168.0. bêdzie dotyczy³ wszystkich hostów z podsieci 192.168.0
Operowanie nazwami tak¿e mo¿e dotyczyæ ca³ych sieci lub domen np. wpis .proftpd.org bêdzie dotyczy³ ca³ej domeny proftpd.org.
Istnieje tak¿e mo¿liwo¶æ okre¶lenia negacji dokonanego wpisu poprzez u¿ycie znaku !.
Przyk³ad:

<Limit LOGIN>
Order Allow,Deny
Allow from 128.44.26.,128.44.26.,myhost.mydomain.edu,.trusted-domain.org
Deny from all
</Limit>




Deny
Dyrektywa Deny jest u¿ywana wewn±trz bloku <Limit> do wyspecyfikowania które hosty i/lub sieci maj± mieæ zabroniony dostêp do odpowiednich komend.
Szczegó³y dotycz±ce stosowania identyczne jak dla Allow



AllowAll
U¿ywana wewn±trz bloku <Limit> do udostêpnienia wszystkim danej komendy lub (grupy komend) opisanej w <Limit>. Mo¿e wystêpowaæ jednocze¶nie z dyrektyw± Deny



DenyAll
U¿ywana wewn±trz bloku <Limit> do zabronienia wszystkim danej komendy lub (grupy komend) opisanej w <Limit>. Mo¿e wystêpowaæ jednocze¶nie z dyrektyw± Allow



Umask
Sk³adnia: Umask file octal-mask [directory octal-mask]
Stosuje siê: konfiguracja serwera, <Anonymous>, <VirtualHost>,
<Directory>, <Global>, .ftpaccess

Umask ustawia maskê z uprawnieniami dla nowo tworzonych plików i katalogów
Wszystkie argumenty tej dyrektywy musz± byæ podane jako liczba ósemkowa, w formacie 0xxx.



Opcjonalnie drugi argument mo¿e podawæ maskê która bêdzie u¿ywana w czasie tworzenia katalogów. Gdy nie jest on podany to katalogi bêd± tworzone wg maski podanej dla plików (jako pierwszy argument).



Ósemkowy zapis praw dostêpu w linux'ie


Warto¶æ ósemkowa
Znaczenie


0000
Nikt niema ¿adnych praw


0001
Prawo w³a¶ciciela do wykonywania pliku


0002
Prawo w³a¶ciciela do modyfikacji pliku


0004
Prawo w³a¶ciciela do czytania pliku


0010
Prawo cz³onków grupy do wykonywania pliku


0020
Prawo cz³onków grupy do modyfikacji pliku


0040
Prawo cz³onków grupy do czytania pliku


0100
Prawo innych u¿ytkowników do wykonywania pliku


0200
Prawo innych u¿ytkowników do modyfikacji pliku


0400
Prawo innych u¿ytkowników do czytania pliku


1000
Tzw. "lepki" (ang. sticky) bit ustawiany we wra¿liwych katalogach (np. /tmp). Jego ustawienie powoduje, ¿e pliki znajduj±ce siê w danym katalogu, mog± byæ usuniête tylko przez ich w³ascicieli lub w³a¶ciciela katalogu.


2000
Ustawienie bitu SETGID (SET Group ID) powoduje ¿e programy s± wykonywane z uprawnieniami grupy do której nale¿± , nawet wówczas gdy s± uruchamiane przez innych u¿ytkowników.


4000
Ustawienie bitu SETUID (SET User ID) powoduje ¿e programy s± wykonywane z uprawnieniami w³a¶ciciela do którego nale¿± , nawet wówczas gdy s± uruchamiane przez innych u¿ytkowników.




<VirtualHost>
Sk³adnia: <VirtualHost address>
Blok konfiguracyjny VirtualHost jest u¿ywany do tworzenia wydzielonych konfiguracji które bêd± stosowane w stosunku do ró¿nych nazw hostów lub adresów IP (na tym samym komputerze).
Block jest zakoñczony przez dyrektywê </VirtualHost>



Tryby pracy serwera ProFTPD

Program ProFTPD potrafi pracowaæ w dwóch trybach: jako us³uga uruchamiana przez inetd (RedHat, i inne "du¿e" dystrybucje) oraz jako samodzielny demon (tak "powinien" pracowaæ na FREESCO). Te dwa ró¿ne tryby pracy MUSZ¡ byæ odzwierzciedlone w pliku konfiguracyjnym proftpd.conf - s³u¿y do tego parametr ServerType który dla pierwszego trybu powinien byæ ustawiony na inetd, a dla drugiego standalone


Uruchamianie serwera w zale¿no¶ci od trybu pracy
inetd
W pliku konfiguracyjnym superserwera inetd czyli /etc/inetd.conf (dystrybucja RedHat) powinien znale¼æ siê nastêpuj±cy wpis:
ftp stream tcp nowait root /usr/local/sbin/proftpd proftpd
je¿eli korzystasz z pakietu TCP Wrappers to mo¿esz uruchamiaæ serwer poprzez taki oto wpis w /etc/inetd.conf
ftp stream tcp nowait root /usr/sbin/tcpd proftpd


standalone
W pliku konfiguracyjnym superserwera inetd czyli /etc/inetd.conf musimy wy³±czyæ uruchamianie serwera ftp poprzez zahaszowanie (jak ja tego s³owa nie lubiê!) odpowiedniej linii:
ftp stream tcp...... - przed modyfikacj±
# ftp stream tcp..... - po modyfikacji
Serwer bêdzie uruchamiany poprzez odpowiedni skrypt startowy. Skrypt taki na ogó³ nale¿y samodzielnie przygotowaæ. I tu wskazówka, aby wystartowaæ serwer na ogó³ wystarczy po prostu wywo³aæ program proftpd, aby zatrzymaæ killall proftpd. Warto oczywi¶cie pamiêtaæ, ¿e z chwil± zatrzymania systemu ka¿dy skrypt jest wywo³ywany z parametrem stop. Skrypty uruchomieniowe znajduj± siê w jednym z nastêpuj±cych katalogów :

l/etc/rc.d/init.d - w dystrybucji RedHat (w katalogu /etc/rc.d/rc3.d nale¿y stworzyæ do skryptu odpowiednie dowi±zanie symboliczne)
l/etc/rc.d - w dystrybucji Slackware (nadaj skryptowi nazwê np. rc.proftpd)
l /mnt/router/rc/rcuser - we FREESCO (o ile zainstalowa³e¶ mój pakiet jest tam skrypt rc_proftpd)




Uwagi dla u¿ytkowników FREESCO
Z uwagi na fakt z³ego przyporz±dkowywania numeru id dla nowych u¿ytkowników dodawanych poleceniem adduser, nale¿y samodzielnie (dowolnym linux'owym edytorem) zmodyfikowaæ plik /etc/passwd oraz /mnt/router/etc/passwd tak aby KA¯DY nowy u¿ytkownik mia³ unikalny id. Podobnie ma siê rzecz z plikami /etc/group oraz /mnt/router/etc/group, KA¯DA nowa grupa musi mieæ unikalny id
Zawarto¶æ plików /etc/passwd oraz /mnt/router/etc/passwd jest zapisana w nastêpuj±cy sposób:


marcin:uhMNhVffk.tN.:506:100:Marcin Kowalski:/home/marcin:/bin/sh
\____/ \___________/ \_/ \_/ \_____________/ \__________/ \_____/
| | | | | | |
| | | | | | pow³oka
| | | | | +--- katalog domowy
| | | | +----- rzeczywiste imiê i nazwisko
| | | +--------------------- numer grupy (GID)
| | +------------------- numer u¿ytkownika (UID)
| +--------------------------------------- zakodowane has³o
+---------------------------------------------------------- login


Zawarto¶æ plików /etc/group oraz /mnt/router/etc/group jest zapisana w nastêpuj±cy sposób:


users::100:marcin,jurek,grzegorz
\___/ \_/ \___________________/
| | | |
| | | +-------- Cz³onkowie grupy
| | +-------------------- Numer grupy (GID)
| +----------------------- Zakodowane has³o
| (tu pusto, bo zazwyczaj
| nie u¿ywa siê tego pola)
+---------------------------- Nazwa grupy


Rozwiazaniem tego problemu mo¿e byæ instalacja przygotowanego przeze mnie pakietu usaeradd (patrz tutaj), który prawid³owo przyporzadkowuje identyfikatory zarównou¿ytkownikom jak i grupom.
Jak zdefiniowaæ u¿ytkownika






Przyk³adowy podstawowy plik konfiguracyjny

# To jest podstawowy plik konfiguracyjny serwera ProFTPD.
# Jego zawarto¶æ umo¿liwia utworzenie pojedynczego serwera
# i umo¿liwia logowanie tylko u¿utkownikowi anonymous.
# Musisz posiadaæ w swoim systemia u¿ytkownika/grupê
# "nobody" i "ftp".

ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on

# Port 21 is the standard FTP port.
Port 21
# Ustawienie Umask na 022 to dobra standardowa maska dla tworzonych nowych
# katalogów i plików
Umask 022
# Aby zabezpieczyæ siê przed atakami DoS (odmowa udostêpnienia us³ugi)
# zaleca siê ustawienie maksymalnej liczby procesów potomnych na 30
# Je¶li potrzebujesz wiêcej ni¿ 30 po³±czeñ jednocze¶nie mo¿esz
# odpowiednio zmodyfikowaæ tê warto¶æ.
# (To dzia³a TYLKO w trybie standalone)
MaxInstances 30

# Ustawienia uzytkownika i grupy z prawami których serwer normalnie startuje.
User nobody
Group nogroup

# Chcemy aby pliki mog³y byæ nadpisywane.
AllowOverwrite on
# Podstawowa konfiguracja u¿ytkownika anonymous configuration,
# bez katalogów upload.
User ftp
Group ftp
# Chcemy aby klienci loguj±cy sie jako "anonymous" byli
# traktowani jako "ftp"
UserAlias anonymous ftp

# Maksymalna liczba zalogowanych u¿ytkowników "anonymous"
MaxClients 10

# 'welcome.msg' bêdzie wy¶wietlane w chwili logowania,
# a '.message' w ka¿dym nowo otwartym katalogu.
DisplayLogin welcome.msg
DisplayFirstChdir .message

# T± prost± dyrektyw± zabronimy zapisywania czegokolwiek w systemie
# katalogów otwieranych dla u¿ytkownika anonymous
DenyAll




Pryk³adowy plik konfiguracyjny z definicj± wirtualnego hosta

# 'proftpd.conf' to podstawowy plik konfiguracyjny serwera ProFTPD
# Zawarto w nim konfiguracjê dla pojedynczego serwera i dla jednego
# login'u anonymous. W efekcie, aby mia³o to szansê zadzia³aæ musisz
# mieæ zdefiniowanego u¿ytkownika/grupê "nobody"


ServerName "Mój serwer FTP"
ServerType standalone
DefaultServer on

# Port 21 to standardowy port FTP.
Port 21

Umask 022

# Aby zabezpieczyæ siê przed atakami DoS (odmowa udostêpnienia us³ugi)
# zaleca siê ustawienie maksymalnej liczby procesów potomnych na 30
# Je¶li potrzebujesz wiêcej ni¿ 30 po³±czeñ jednocze¶nie mo¿esz
# odpowiednio zmodyfikowaæ tê warto¶æ. To dzia³a TYLKO w trybie
# standalone (we freesco tak dzia³a)
MaxInstances 30

# Ustaw u¿ytkownika i grupê z poziomu których serwer normalnie
# startuje.
User nobody
Group nobody

# Pliki i katalogi mog± byæ nadpisywane.
<Directory /*>
AllowOverwrite on
</Directory>

# Podstawowa konfiguracja u¿ytkownika anonimowego, bez upload'u
# katalogów.
<Anonymous /mnt/router/packages/proftpd/share/pub>
User nobody
Group nobody
# Potrzebujemy uzytkownika który bêdzie u¿ywany gdy kto¶
# bêdzie siê logowa³ jako anonim. Tu po zalogowaniu siê do
# serwera jako anonymous faktycznie bêdziemy korzystaæ
# z konta nobody
UserAlias anonymous nobody

# Maksymalnaliczbau¿ytkowników loguj±cych siê jako anonymous
MaxClients 10
# Tu ustawiamy fakt logowania bez has³a
AnonRequirePassword off

# 'welcome.msg' bêdzie wy¶wietlane w chwili logowania,
# a '.message' w ka¿dym nowo otwartym katalogu.
DisplayLogin welcome.msg
DisplayFirstChdir .message

# Limit WRITE mówi czy mo¿na zapisywaæ cokolwiek w katalogu
# Dyrektywa DenyAll nie pozwala na to nikomu
# Inne mo¿liwe dyrektywy to np.(nie wszystkie):
# AllowAll, Allow 192.168.1.*, AllowUser filip, DenyUser anonymous
# Oczywi¶cie chodzi tu o ¶rodowisko 'chroot' stworzone dla
# u¿ytkownika anonymous
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
# koniec definicji u¿ytkownika anonymous

# pocz±tek definicji serwera wirtualnego
# nazwê 'host.domena' zmieñ na w³a¶ciw± dla twojego komputera
# w przeciwnym wypadku serwer siê nie uruchomi
<VirtualHost host.domena>

# Nazwa twojego hosta
ServerName "FTP Server"

# Tu piszemy logi
TransferLog /mnt/router/packages/proftpd/var/virt_tran.log

# katalog root dla tego serwera (nie mo¿na wyj¶æ ponad ten katalog)
DefaultRoot /mnt/router/packages/proftpd/share/


# Je¶li u¿ytkownicy nie maj± konta w systemie, to w jakim pliku
# s± ich dane. Najpro¶ciej rzecz ujmuj±c - zawarto¶æ tego pliku
# jest identyczna z plikiem /etc/passwd Ja u¿ywam kont systemowych
# wiêc pozycja jest "zachaszowana"
#
# AuthUserFile /usr/local/var/proftpd/passwd.ftp


# pocz±tek definicji katalogu domowego u¿ytkownika user1
# oczywi¶cie dodaj u¿ytkownika do systemu
# Jak ju¿ dodasz to ustaw odpowiednio prawa do w³asciwego katalogu
# nie zapomnij nadaæ unikalnego id w pliku passwd
# (freesco uparcie wpisuje 500)
# w³a¶ciciel katalogu: user1
# dostêp do katalogu: rwx dla user1
#
<Directory /mnt/router/packages/proftpd/share/user1>
<Limit All>
AllowUser user1
DenyAll
</Limit>
</Directory>
# koniec definicji katalogu

# pocz±tek definicji katalogu dla kogo¶ kto bêdzie wgrywa³ pliki
# na serwer oczywi¶cie dodaj u¿ytkownika do systemu
# Jak ju¿ dodasz to ustaw odpowiednio prawa do w³asciwych katalogów
# nie zapomnij nadaæ unikalnego id w pliku passwd
# (freesco uparcie wpisuje 500)
# w³a¶ciciel katalogu: ftpadmin
# dostêp do katalogu: rwx dla ftpadmin, rx grupa, rx pozostali
#
<Directory /mnt/router/packages/proftpd/share>
<Limit All>
AllowUser ftpadmin
DenyAll
</Limit>
</Directory>
# koniec definicji katalogu

# pocz±tek szczegó³owej definicji katalogu dla u¿ytkownika anonumous
# na tym serwerze wirtualnym
<Anonymous /mnt/router/packages/proftpd/share/pub>
User nobody
Group nobody
UserAlias anonymous nobody
MaxClients 10
<Directory upload>
# dozwolone wysy³anie plików na serwer
<Limit STOR>
AllowAll
</Limit>

# nie wolno nic zapisywaæ (zmieniaæ istniej±cych plików)
# pobieraæ plików czytaæ zawarto¶ci katalogu.
<Limit WRITE DIRS READ>
DenyAll
</Limit>

# mo¿na siê poruszaæ po drzewie katalogowym
<Limit CWD XCWD CDUP>
AllowAll
</Limit>
</Directory>
</Anonymous>
</VirtualHost>


Lynx and Links friendly
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • pajaa1981.pev.pl