[+] Stworzeniem działającego serwera FTP (proftpd)
: 22 marca 2013, 23:17
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:
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:
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ć.
następnie dodajemy użytkowników systemowych
1.
2.
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.
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
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'
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
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
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
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.