Strona 1 z 1

[+] Stworzeniem działającego serwera FTP (proftpd)

: 22 marca 2013, 23:17
autor: mateusz2552
Witam.
Zależy mi na stworzeniu działającego FTP tak aby każdy użytkownik miał dostęp do innego katalogu z pełnymi prawami.

Kierowałem się głównie opisami:
http://sylwekb.wordpress.com/2009/10/14 ... my-serwer/
http://www.ulos.pl/proftpd-serwer-ftp-n ... cy-,2.html

i stworzyłem coś takiego:

Kod: Zaznacz cały

# Dołączamy konfigi ewentualnie aktywowanych modułów.
Include /etc/proftpd/modules.conf

# Tryb pracy serwera, uruchamiamy jako samodzielny proces.
ServerType                      standalone
# Określamy konfigurację jako domyślną
DefaultServer                   on

# Jesli nie używamy IPv6.
UseIPv6                         off

# Te 3 opcje znacznie skracają czas logowania.
UseReverseDNS                   off
IdentLookups                    off
ServerIdent                     off

# Określamy nazwę naszego serwera, nie podajemy jego nazwy ani wersji.
ServerName                      "DroidService"

# Komunikat powitalny.
DisplayLogin                    welcome.msg

# Zezwalamy na komunikat powitalny dopiero po zalogowaniu.
DeferWelcome                    on

MultilineRFC2228                on

# Zezwalamy na wyświetlanie dowiązań.
ShowSymlinks                    on

# Czas w jakim zostanie przerwane połączenie z serwerem.
TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200


DisplayChdir                    .message true

DenyFilter                      \*.*/

# Blokoda logowania użytkownikowi root.
RootLogin                       off

# Uwięzienie użykowanika w wyznaczonym katalogu, z którego nie będzie mógł się wydostać.
# znak ~ katalog domowy w systmie Linux.
DefaultRoot                     ~

# Opcje do listowania plików w trybie binarnym:
# "-a"="ls -a" , "+a"=blokada parametru a czyli plików ukrytych(z kropką).
ListOptions "+a"

# Sprawdzamy czy dany użytkownik, który się loguje 
# posiada przypisaną w /etc/shells powłokę (szybka metoda do zablokowania).
RequireValidShell               on

# Port na którym nasłchuje proftpd.
Port                            21

# Konfiguracja portów trybu pasywnego używanego przez przeglądarki (ftp://host.pl).
# PassivePorts                  49152 65534

# Użyteczna opcja jeśli nasz komputer stoi za NAT-em.
# MasqueradeAddress             1.2.3.4

# This is useful for masquerading address with dynamic IPs:
# refresh any configured MasqueradeAddress directives every 8 hours

# DynMasqRefresh 28800


# Maksymalna liczba procesów demona FTP. 
# Dzięki tej dyrektywie możemy ustrzec się przed atakami typu DoS. 
MaxInstances                    30

# Użytkownik i grupa do których błędzie należał proces serwera.
User                            droid
Group                           ftp

# Ustawienie prawa dostępu wlasciciela do modyfikacji pliku i katalogów.
# 022 => 755 , 077 => 700 , 002 =>  775
Umask                           022  022

# Pozwolenie na nadpisywanie plików.
AllowOverwrite                  on

# Konfiguracja logów.
TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log
droid jest użytkownikiem systemowym, proszę o modernizację tej konfiguracji tak aby Droid miał pełny dostęp do katalogu /var/www/droid.
Grzegorz miał pełny dostęp do katalogu /var/www/grzegorz.

Oczywiście, użytkownicy mogą tylko operować w przypisanych katalogach (nie mogą logować się do powłoki), to chyba tyle moich skromnych wymagań. Będę niezmiernie wdzięczny za fachową pomoc.

Ps. Przy obecnej konfiguracji wyskakuje mi błąd podczas startu ftp:

Kod: Zaznacz cały

Starting ftp server: proftpd - warning: handling possibly truncated configuration data at line 87 of '/etc/proftpd/proftpd.conf'
może da się coś z tym zrobić.

Dodane:
Dla wszystkich co mogą mieć taki problem jak ja.

Jedyne rozwiązania jakie działa, tak jak ma działać.

Kod: Zaznacz cały

ServerName        "DroidService"
    ServerType        standalone
    DefaultServer    on
    RequireValidShell    off
    Port        21
    UseIPv6        off
    Umask        022
    MaxInstances    10
    User        droid grzegorz
    Group        ftp
    DefaultRoot        ~
    AllowOverwrite    on
następnie dodajemy użytkowników systemowych

1.

Kod: Zaznacz cały

# echo "droid:*:1000:65534:droid:/var/www/droid:/bin/false" >> /etc/passwd
# echo "droid:*:0:0:99999:7:::" >> /etc/shadow 
# passwd droid
2.

Kod: Zaznacz cały

 # echo "grzegorz:*:1001:65534:grzegorz:/var/www/grzegorz:/bin/false" >> /etc/passwd
 # echo "grzegorz:*:0:0:99999:7:::" >> /etc/shadow 
 # passwd grzegorz
Oczywiście, ustawiamy hasła.
Jeżeli użytkowników mieliśmy już wcześniej, to identyfikatory 1000 i 1001 wpisujemy takie jak systemowych użytkowników.
Katalogi ustawiamy według uznania.

To tyle, wszystko działa aż miło.

: 23 marca 2013, 18:13
autor: lessmian2
Ło Panie, ale nakombinowałeś ;) Z tego co pamiętam, to domyślna konfiguracja proftp w zupełności by Ci wystarczyła, nic nie trzeba kombinować (no może poza DefaultRoot). Wystarczyło by ustawić odpowiednio katalogi domowe dla tych dwóch użytkowników i problem miałbyś z głowy.

Dodawanie/edycja /etc/{passwd,shadow} z palca to naprawdę chory pomysł. Od tego masz takie polecenia jak useradd, adduser, passwd, usermod...

: 23 marca 2013, 18:53
autor: Unit
Przy standardowej konfiguracji proftpd jeżeli użytkownik ma /bin/false to trzeba dopisać go do /etc/shells. Ma działać.

: 08 kwietnia 2013, 14:07
autor: mateusz2552
Witam ponownie mam problem z PROFTP jeżeli jest ktoś na tym forum kto może poświecić chwilę na skonfigurowanie ftp proszę o kontakt na gg 4972212 Bardzo bardzo mi zależy

: 09 kwietnia 2013, 01:20
autor: daniel_l81
Na początku też myślałem nad wykorzystaniem serwera proFTPd, ale jakoś się do niego zniechęciłem. Postanowiłem poszukać czegoś bezpieczniejszego i łatwiejszego do konfiguracji. Dzięki temu trafiłem i pozostałem wiernym fanem vsFTPd, do którego teraz Cię zachęcam.

Ale do rzeczy. Zamiast dodawać użytkowników systemowych, lepiej i bezpieczniej byłoby, abyś wykorzystał do tego celu bazę danych.

Jak wspomniałem wcześniej, u siebie wykorzystuję serwer vsFTPd z bazą MySQL, w której mam użytkowników.

Według tego opisu, bez problemu powinieneś sobie poradzić z postawieniem działającego vsFTPd i MySQL: http://www.howtoforge.com/virtual-hosti ... an-squeeze

: 09 kwietnia 2013, 08:56
autor: zaba141
Baza danych? Załóżmy padnie ci baza danych, na ftp się już nie dostaniesz to jest jeden minus - ftp z bazą.

: 09 kwietnia 2013, 09:50
autor: LordRuthwen
zaba141 pisze:Baza danych? Załóżmy padnie ci baza danych, na ftp się już nie dostaniesz to jest jeden minus - ftp z bazą.
Idąc dalej tym tokiem myślenia:
Serwer pocztowy? Przecież wystarczy, że padnie Dovecot/Courier/Spamassassin/Postfix/ClamAV/Amavis/MailScanner/Sendmail/...*wstaw_nazwę_pakietu*/... żeby go wyłożyć.
Serwer WWW? Przecież wystarczy, że padnie MySQL/Apache/PHP żeby się wyłożył.
Najlepiej nie robić nic, wtedy nic się nie zepsuje...

: 09 kwietnia 2013, 16:34
autor: daniel_l81
LordRuthwen pisze:Najlepiej nie robić nic, wtedy nic się nie zepsuje...
Święte słowa, a żeby się jeszcze bardziej zabezpieczyć, to najlepiej całkowicie się odłączyć od Internetu... położyć się w trumnie i spokojnie czekać na koniec :)