[+] Stworzeniem dzia

Konfiguracja serwerów, usług, itp.
mateusz2552
Posty: 2
Rejestracja: 21 marca 2013, 21:26

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

Post 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.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post 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...
Awatar użytkownika
Unit
Beginner
Posty: 356
Rejestracja: 27 marca 2007, 09:39

Post autor: Unit »

Przy standardowej konfiguracji proftpd jeżeli użytkownik ma /bin/false to trzeba dopisać go do /etc/shells. Ma działać.
mateusz2552
Posty: 2
Rejestracja: 21 marca 2013, 21:26

Post 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
daniel_l81
Posty: 51
Rejestracja: 23 listopada 2007, 08:39
Lokalizacja: Brodnica

Post 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
zaba141
Posty: 12
Rejestracja: 18 października 2011, 10:02

Post autor: zaba141 »

Baza danych? Załóżmy padnie ci baza danych, na ftp się już nie dostaniesz to jest jeden minus - ftp z bazą.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2341
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post 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...
daniel_l81
Posty: 51
Rejestracja: 23 listopada 2007, 08:39
Lokalizacja: Brodnica

Post 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 :)
ODPOWIEDZ