ďťż
 
 
   Instalacja serwera FTP i dostęp do katalogów
 
 

Tematy

 
    
 

 

 

 

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.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis