|
Instalacja serwera FTP i dostęp do katalogów
TheSnake - 31-10-2009 22:18
Witam. W ,,dziedzinie administrowania'' jestem jestem początkujący, zakupiłem tani serwer VPS, zainstalowałem na nim Apache, PHP5, MySql i Pear i chciałbym zainstalować serwer FTP, przez który po połączeniu będę miał dostęp do wszystkich katalogów i plików na serwerze.
Pobrałem ProFTPD i tu właśnie jest problem. Jak mam ustawić, żeby dostęp był wszędzie? W poradnikach jest napisane o utworzeniu folderu i w nim "pojawia" się klient ftp (po zalogowaniu jestem w tym folderze i tyle). Proszę o pomoc i pozdrawiam, Snake.
mendeczka - 31-10-2009 23:25
Tak na szybko odpowiedz sobie na jedno pytanie: Po co Ci dostęp do wszystkich katalogów przez FTP? Jeżeli zająłeś się administrowaniem serwera to uwierz mi nie rób tego w ten sposób. Bezpieczeństwo ponad wszystko. Zastanów się czy musisz mieć dostęp do folderów typu
/etc/
Napisz co chcesz w ten sposób osiągnąć ? ÂŁatwiej będzie znaleźć inne rozwiązanie.
TheSnake - 31-10-2009 23:41
Tzn. myślałem, że tak mi będzie łatwiej operować, ale z tym /etc/ to masz rację. Chodzi mi o coś tego typu, że przez ftp (nie wiem jak inaczej mogę to zrobić) wrzucę sobie folder z serwerem przykładowo CS, w drugim inna gra itp.
Zresztą, szczerze mówiąc to nawet nie wiem, w którym katalogu powinien znaleźć się taki serwer (nigdy nie rozróżniałem tego /etc, /root itp.).
mendeczka - 01-11-2009 00:05
OK po szybkim sprawdzeniu instalacji np CS ()Instalacja serwera CS na linux mogę śmiało Ci powiedzieć: stwórz jeden folder typu GAMES. ÂŚciągaj tam pliki równie dobrze możesz tam to instalować (jak chcesz - wybór należy do Ciebie)
TheSnake - 01-11-2009 00:14
Znalazłem to: http://www.techit.pl/Artykuly/View.a...mach+linuxunix i na tym się wzoruje, chcę zrobić usera, który będzie miał dostęp do /var/www/. 1) Mam pytanie, po co ustawiać w
/etc/shells
/bin/false
? 2)
useradd techit -p haslo_uzytkownika -d /konto-FTP -s /bin/false passwd techit
Czy powinno wyglądać to tak:
useradd Snake -p test -d /var/www/ -s /bin/false
(nie wiem po co to
-s /bin/false
. Jak chce dodać prawa dla wielu folderów to jak moge to oddzielić?
useradd Snake -p test -d /var/www/ /var/games/ -s /bin/false
?
lessmian2 - 01-11-2009 10:20
/bin/false
Taki shell jest po to, abyś mógł się zalogować do systemu przez FTP, ale przez SSH już nie. Bezpieczeństwo i te sprawy. Tylko nie zapomnij dodać go do /etc/shells bo będziesz pół dnia szukał czemu Ci nie działa ;-)
useradd Snake -p test -d /var/www/ -s /bin/false
Czy przeczytałeś manuala? Powinno byś tak
useradd -p test -d /var/www/ -s /bin/false Snake
-d /var/www/ /var/games/
Niestety tak się nie da. Przełącznik -d określa katalog domowy użytkownika, i nie da się podać dwóch lokalizacji. Najprościej będzie dodać drugiego usera, choć to będzie trochę bardziej uciążliwe w używaniu.
TheSnake - 01-11-2009 11:51
A czy mogę dodać
-d /var/
, czy raczej nie? (chodzi mi o tworzenie jakichś katalogów typu games, żeby mieć szybki dostep przez FTP). Oczywiscie nie chodzi mi o to "czy się da" tylko czy będzie to w miarę bezpieczne. @edit Nie wiem o co chodzi
root@vz1634:/# /etc/init.d/proftpd start ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration. root@vz1634:/# /etc/init.d/proftpd stop ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration.
W konfiguracji jest na initd.
mendeczka - 02-11-2009 21:08
A czy mogę dodać
-d /var/
, czy raczej nie? (chodzi mi o tworzenie jakichś katalogów typu games, żeby mieć szybki dostep przez FTP). Oczywiscie nie chodzi mi o to "czy się da" tylko czy będzie to w miarę bezpieczne. @edit Nie wiem o co chodzi
root@vz1634:/# /etc/init.d/proftpd start ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration. root@vz1634:/# /etc/init.d/proftpd stop ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration.
W konfiguracji jest na initd.
co do
/var/*
to nie polecam. Nie udostępniaj żadnych folderów systemowych. Najlepiej stwórz użytkownika do FTP i w ostateczności udostępnij jego folder domowy.
Co do problemu startu proftp to zmień w pliku konfiguracyjnym ServerType inetd
na ServerType standalone
Powinno pomóc
TheSnake - 02-11-2009 22:31
Nie mogę poradzić sobie z dodaniem użytkownika na ftp dla /var/www/. Gdy wydaje polecenie przez:
useradd
z parametrami (tak jak wyżej), użytkownik jakby nie istnieje (nie mogę się na niego zalogować metodą "su", ani ftp). Gdy tworzę przez:
adduser
wszystko działa, mogę połączyć się przez ftp, ale mam dostęp tylko do katalogu domowego. Da się to jakoś zmienić? Aha, zapomniałem dodać, po utworzeniu tą pierwszą metodą użytkownika "nie ma", ale gdy robię tą drugą to informuje mnie, że już taki istnieje i muszę go skasować (i kasuje normalnie).
lessmian2 - 02-11-2009 22:39
Tylko nie zapomnij dodać go (/bin/false przyp. autora) do /etc/shells bo będziesz pół dnia szukał czemu Ci nie działa
fnmirk - 02-11-2009 23:17
TheSnake, sprawdź w podręczniku systemowym:
man useradd man adduser
jak korzystać z tych poleceń i jakie są różnice ich działania.
zygamar - 04-11-2009 22:57
Witam. Dołączę się do tematu, też chodzi serwer ftp, muszę mieć katalog w var/www/
do którego kamerka wysyła zdjęcia co ileś sekund i wtedy skrypt php pokazuje w przeglądarce aktualne zdjęcia. Ale nie rozumiem jak i co należy zrobić. Prosiłbym trochę łopatologicznie do mnie. A jeszcze jest na ruterze kamera, jest ip, ten komputer jest udostępniony na zewnątrz, tak jak widać: http://zygamar.dyndns.info. To php uruchamia się jak kliknie się na ,,MOJA KAMERA'' ale nie rozgryzłem wysyłania z kamerki na serwer ftp na ten komputer.
mendeczka - 06-11-2009 22:10
Witam. Dołączę się do tematu, też chodzi serwer ftp, muszę mieć katalog w var/www/
do którego kamerka wysyła zdjęcia co ileś sekund i wtedy skrypt php pokazuje w przeglądarce aktualne zdjęcia. Ale nie rozumiem jak i co należy zrobić. Prosiłbym trochę łopatologicznie do mnie. A jeszcze jest na ruterze kamera, jest ip, ten komputer jest udostępniony na zewnątrz, tak jak widać: http://zygamar.dyndns.info. To php uruchamia się jak kliknie się na ,,MOJA KAMERA'' ale nie rozgryzłem wysyłania z kamerki na serwer ftp na ten komputer.
Nie do końca zrozumiałem czego nie wiesz? Tak na szybko : musisz odpalić serwer FTP (to chyba zrobiłeś), stworzyć usera (np. kamera) dzięki któremu będzie się logowała kamerka na niego, katalog nie koniecznie musi być w /var/www/
w skrypcie możesz umieścić dowolną ścieżkę teraz najważniejsza zabawa (nie podałeś nam co masz za kamerkę) - jeżeli ona ma tę możliwość (mowa tu o FTP) to musisz ją skonfigurować. Podać adres serwera ftp, login i hasło.
zygamar - 06-11-2009 22:17
No właśnie, nie mogę tego serwera FTP uruchomić jak i co zrobić, a ten katalog ,,kamera'' musi być w /var/www/ bo tam jest skrypt php, który pokazuje z niego te jpg, tylko na kamerze powinienem podać adres serwera, login, hasło port. A jest to kamera IP zewnętrzna, a skrypt dostałem gotowy z kamerką. No tylko jak to ftp uruchomić jak serwer www już mi działa. Widzę że w home mam ftp ale czy to jest to?
mendeczka - 07-11-2009 17:34
Tak na szybko:
apt-get install proftpd
jeżeli wszystko poszło dobrze to
vi lub nano /etc/proftpd/proftpd.conf
dodaj tam
UseIPv6 off DefaultRoot ~ DenyFilter \./
chyba że już tam jest. Następnie
cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.bak
tak na wszelki wypadek, dodaj do konfigu # Ustawienia dla wybranego użytkownika <Anonymous /var/www/catalog/> User twoj_uzytkownik Group twoja_grupa AnonRequirePassword off MaxClients 5 "The server is full, hosting %m users" DisplayLogin welcome.msg <Limit LOGIN> Allow from all Deny from all </Limit> AllowOverwrite on <Limit LIST NLST STOR STOU APPE RETR RNFR RNTO MKD XMKD SITE_MKDIR SITE_CHMOD PWD XPWD SIZE STAT CWD XCWD CDUP XCUP > AllowAll </Limit> <Limit DELE RMD XRMD SITE_RMDIR SITE SITE_CHGRP MTDM > DenyAll </Limit> </Anonymous>
Wszystko musisz przekonfigurować pod siebie
zygamar - 07-11-2009 17:52
A zainstalowany juz mam najnowszy proftpd
Taki u mnie jest proftpd.conf # # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes reload proftpd after modifications. #
# Includes DSO modules Include /etc/proftpd/modules.conf
# Set off to disable IPv6 support which is annoying on IPv4 only boxes. UseIPv6 on # If set on you can experience a longer connection delay in many cases. IdentLookups off
ServerName "Debian" ServerType standalone DeferWelcome off
MultilineRFC2228 on DefaultServer on ShowSymlinks on
TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200
DisplayLogin welcome.msg DisplayChdir .message true ListOptions "-l"
DenyFilter \*.*/
# Use this to jail all users in their homes # DefaultRoot ~
# Users require a valid shell listed in /etc/shells to login. # Use this directive to release that constrain. # RequireValidShell off
# Port 21 is the standard FTP port. Port 21
# In some cases you have to specify passive ports range to by-pass # firewall limitations. Ephemeral ports can be used for that, but # feel free to use a more narrow range. # PassivePorts 49152 65534
# If your host was NATted, this option is useful in order to # allow passive tranfers to work. You have to use your public # address and opening the passive ports used on your firewall as well. # MasqueradeAddress 1.2.3.4
# This is useful for masquerading address with dynamic IPs: # refresh any configured MasqueradeAddress directives every 8 hours <IfModule mod_dynmasq.c> # DynMasqRefresh 28800 </IfModule>
# To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd) MaxInstances 30
# Set the user and group that the server normally runs at. User proftpd Group nogroup
# Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 # Normally, we want files to be overwriteable. AllowOverwrite on
# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords: # PersistentPasswd off
# This is required to use both PAM-based authentication and local passwords # AuthOrder mod_auth_pam.c* mod_auth_unix.c
# Be warned: use of this directive impacts CPU average load! # Uncomment this if you like to see progress and transfer rate with ftpwho # in downloads. That is not needed for uploads rates. # # UseSendFile off
TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log
<IfModule mod_quotatab.c> QuotaEngine off </IfModule>
<IfModule mod_ratio.c> Ratios off </IfModule>
# Delay engine reduces impact of the so-called Timing Attack described in # http://security.lss.hr/index.php?pag...LSS-2004-10-02 # It is on by default. <IfModule mod_delay.c> DelayEngine on </IfModule>
<IfModule mod_ctrls.c> ControlsEngine off ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock </IfModule>
<IfModule mod_ctrls_admin.c> AdminControlsEngine off </IfModule>
# # Alternative authentication frameworks # #Include /etc/proftpd/ldap.conf #Include /etc/proftpd/sql.conf
# # This is used for FTPS connections # #Include /etc/proftpd/tls.conf
# A basic anonymous configuration, no upload directories.
# <Anonymous ~ftp> # User ftp # Group nogroup # # We want clients to be able to login with "anonymous" as well as "ftp" # UserAlias anonymous ftp # # Cosmetic changes, all files belongs to ftp user # DirFakeUser on ftp # DirFakeGroup on ftp # # RequireValidShell off # # # Limit the maximum number of anonymous logins # MaxClients 10 # # # We want 'welcome.msg' displayed at login, and '.message' displayed # # in each newly chdired directory. # DisplayLogin welcome.msg # DisplayChdir .message # # # Limit WRITE everywhere in the anonymous chroot # <Directory *> # <Limit WRITE> # DenyAll # </Limit> # </Directory> # # # Uncomment this if you're brave. # # <Directory incoming> # # # Umask 022 is a good standard umask to prevent new files and dirs # # # (second parm) from being group and world writable. # # Umask 022 022 # # <Limit READ WRITE> # # DenyAll # # </Limit> # # <Limit STOR> # # AllowAll # # </Limit> # # </Directory> # # </Anonymous>
tylko prośba nie obraż sie podawaj mi komendy jak zapisac itd bo bardzo słabo poruszam sie po konsili i dopiero poznaje :-/
mendeczka - 07-11-2009 17:58
To dodaj do konfigu : # Ustawienia dla wybranego użytkownika <Anonymous /var/www/catalog/> User twoj_uzytkownik Group twoja_grupa AnonRequirePassword off MaxClients 5 "The server is full, hosting %m users" DisplayLogin welcome.msg <Limit LOGIN> Allow from all Deny from all </Limit> AllowOverwrite on <Limit LIST NLST STOR STOU APPE RETR RNFR RNTO MKD XMKD SITE_MKDIR SITE_CHMOD PWD XPWD SIZE STAT CWD XCWD CDUP XCUP > AllowAll </Limit> <Limit DELE RMD XRMD SITE_RMDIR SITE SITE_CHGRP MTDM > DenyAll </Limit> </Anonymous>
Tylko ustaw swojego użytkownika i swoją grupę.
odznacz również :
DefaultRoot ~
. Spowoduje to że użytkownik będzie miał możliwość oglądania tylko swojego dostępu
zygamar - 07-11-2009 18:47
Ale zawile to jakoś nie kapuję, czy to co mam ,,anymus'' wyciąć i wstawić to co podajesz i co znaczy odznacz, jak? No i to:
<Anonymous /var/www/catalog/> User twoj_uzytkownik Group twoja_grupa AnonRequirePassword off
Aby tak musiało być?
<Anonymous /var/www/kamera/> User zyga Group twoja_grupa AnonRequirePassword off
Grupa nie wiem jaka co wpisać, a hasło to mam wpisać?
mendeczka - 07-11-2009 19:22
Zmiana
# DefaultRoot ~
na
DefaultRoot ~
czyli tzw. odhaszowanie. Co do dodania do konfigu : <Anonymous /var/www/kamera/> User zyga Group nogroup
Co do użytkownika to mam nadzieję że takiego masz w systemie. Co do hasła to jest (powinno być) takie samo jak użytkownika w systemie. Pamiętaj oczywiście o przeładowaniu konfiguracji
zygamar - 07-11-2009 19:26
Tylko jak prosiłem wyżej Bo niestety nie znam wszystkich poleceń w konsoli.
Tak to mam wyciąć i wstawić to co podałeś?
# <Anonymous ~ftp> # User ftp # Group nogroup # # We want clients to be able to login with "anonymous" as well as "ftp" # UserAlias anonymous ftp # # Cosmetic changes, all files belongs to ftp user # DirFakeUser on ftp # DirFakeGroup on ftp # # RequireValidShell off # # # Limit the maximum number of anonymous logins # MaxClients 10 # # # We want 'welcome.msg' displayed at login, and '.message' displayed # # in each newly chdired directory. # DisplayLogin welcome.msg # DisplayChdir .message # # # Limit WRITE everywhere in the anonymous chroot # <Directory *> # <Limit WRITE> # DenyAll # </Limit> # </Directory> # # # Uncomment this if you're brave. # # <Directory incoming> # # # Umask 022 is a good standard umask to prevent new files and dirs # # # (second parm) from being group and world writable. # # Umask 022 022 # # <Limit READ WRITE> # # DenyAll # # </Limit> # # <Limit STOR> # # AllowAll # # </Limit> # # </Directory> # # </Anonymous>
Coś mi to nie wychodzi?
mendeczka - 07-11-2009 20:49
Dobrze, powoli. Nic nie musisz usuwać (wycinać). Uruchom Putty (bo widzę że działasz z Windows). Zaloguj się i wydaj polecenie:
nano /etc/proftpd/proftp.conf
jak nie masz nano (wybrałem go dla Ciebie bo jest prosty) to daj:
apt-get install nano
Załóżmy, że już uruchomiłeś plik konfiguracyjny to dopisz do niego to co Ci wkleiłem, tylko zmodyfikowane Twoimi wpisami, czyli ścieżką do folderu (oczywiście taki folder musi się już znajdować w tej lokalizacji) i użytkownikiem
User zyga
Co do grupy to przetestuj na razie na:
Group nogroup
Możesz dodać:
<Limit LOGIN> AllowUser zyga DenyALL </Limit>
Zahaszuj to co mi podałeś :
# <Anonymous ~ftp> # User ftp # Group nogroup # # We want clients to be able to login with "anonymous" as well as "ftp" # UserAlias anonymous ftp # # Cosmetic changes, all files belongs to ftp user # DirFakeUser on ftp # DirFakeGroup on ftp # # RequireValidShell off # # # Limit the maximum number of anonymous logins # MaxClients 10 # # # We want 'welcome.msg' displayed at login, and '.message' displayed # # in each newly chdired directory. # DisplayLogin welcome.msg # DisplayChdir .message # # # Limit WRITE everywhere in the anonymous chroot # <Directory *> # <Limit WRITE> # DenyAll # </Limit> # </Directory> # # # Uncomment this if you're brave. # # <Directory incoming> # # # Umask 022 is a good standard umask to prevent new files and dirs # # # (second parm) from being group and world writable. # # Umask 022 022 # # <Limit READ WRITE> # # DenyAll # # </Limit> # # <Limit STOR> # # AllowAll # # </Limit> # # </Directory> # # </Anonymous>
Zapisz i na końcu:
/etc/init.d/proftpd restart
Ps. Mam nadzieję, że się nie zamotałem ;-)
zygamar - 07-11-2009 21:58
No i nano sie otwiera ale pusto
[ Nowy plik ] ^G Pomoc ^O Zapisz ^R Wczytaj pl^Y Poprz.str.^K Wytnij ^C Bież.poz. ^X Wyjdź ^J Wyjustuj ^W Wyszukaj ^V Nast.str. ^U UnCut Text^T Pisownia
mendeczka - 07-11-2009 22:39
Przepraszam mój błąd powinno być tak
nano /etc/proftpd/proftpd.conf
Ps. możesz używać tabulatora - zapoznaj się z nim - ułatwia życie.
TheSnake - 08-11-2009 00:05
Udało mi się zrobić dla użytkownika dostęp do /var/www/, ale nie mogę nic wgrywać. Jak to naprawić? Jak nadać prawa do zapisu, kasowania itp.?
chmod a+rwx /var/www/
działa.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|