[+] proftpd i ograniczenie dost

Tematy związane z oprogramowaniem, instalacją, konfiguracją
formatyk
Posty: 13
Rejestracja: 19 lipca 2010, 17:03

[+] proftpd i ograniczenie dostępu do katalogów

Post autor: formatyk »

Witam.
Mam problem z proftpd
Chce aby użytkownik nie mógł wyjść poza swój katalog i przeglądać pliki systemowe.
Szukałem w internecie, ustawiałem różne opcje i niestety po zalogowaniu użytkownik ma pełny dostęp.
Mój konfig:

Kod: Zaznacz cały

DefaultRoot   ~  
/bin/false



<user /home/użytkownik>
  User                                użytkownik
  Group                              użytkownik
  AnonRequirePassword        on 
  RequireValidShell                off
  DisplayFirstChdir                .message
  GroupOwner                      user
  Umask                              022
  HideUser                           root
  HideGroup                        root
  HideNoAccess                   on
  AllowStoreRestart             off
  AllowRetrieveRestart         on
  AllowOverwrite                  on

   <Directory /home/user>
     <Limit DIRS LIST READ DIR PASV EPSV>
AllowAll
</Limit>
<Limit MKD RNFR RNTO DELE RMD STOR WRITE>
DenyAll
IgnoreHidden off
</Limit>
   </Directory>
Awatar użytkownika
Unit
Beginner
Posty: 356
Rejestracja: 27 marca 2007, 09:39

Post autor: Unit »

co robi w tej konfiguracji wpis

Kod: Zaznacz cały

/bin/false
?

Wystarczy zmienić (odkomentować) w oryginalnym pliku konfiguracyjnym linię dotyczącą DefaultRoot:

Kod: Zaznacz cały

# Use this to jail all users in their homes 
 DefaultRoot			~
formatyk
Posty: 13
Rejestracja: 19 lipca 2010, 17:03

Post autor: formatyk »

/bin/false w /etc/shells
DefaultRoot mam odznaczone jest bez #

Wykonałem wszystko według tego poradnika:
http://gorzow-wlkp.pl/linux/proftpd.php
(nawet katalogi i użytkownicy tacy sami).
Nadal wacek może "biegać" po plikach systemowych.
Nie wiem już co może być nie tak?
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Coś waść kręcisz. Po instalacji ProFTPd z repozytorium, wystarczy odkomentować linię

Kod: Zaznacz cały

DefaultRoot ~
w pliku /etc/proftpd/proftpd.conf i zrestartować serwer ftp. Po tym zabiegu, użytkownik jest zamknięty w swoim katalogu domowym.
formatyk
Posty: 13
Rejestracja: 19 lipca 2010, 17:03

Post autor: formatyk »

Teoretycznie tak już z tym próbowałem na setki sposobów

Kod: Zaznacz cały

defaultroot ~

Kod: Zaznacz cały

defaultroot ~ /home/ftpwacek/
i dalej nic
Mój konfig:

Kod: Zaznacz cały

ServerType standalone
DeferWelcome on
IgnoreHidden on
DefaultRoot ~
DisplayLogin welcome.msg
DefaultServer on
DefaultRoot ~
Port 21
Umask 002
User ftp
Group ftp
TimeoutIdle 300
TimeoutStalled 300
TimeoutLogin 60
TimeoutNoTransfer 300
ExtendedLog /var/log/proftp.log
ExtendedLog /dev/tty10
MaxInstances 20
MaxLoginAttempts 2

<Directory /*>
AllowOverwrite on
#AllowRetrieveRestart on
AllowStoreRestart on
</Directory>

 <Anonymous /var/ftp/pub>
User ftp
Group ftp
UserAlias anonymous ftp
AnonRequirePassword off
RequireValidShell off
DisplayLogin welcome.msg
DisplayFirstChdir .message
GroupOwner ftp
Umask 002
HideUser root
HideGroup root
HideNoAccess on
MaxClients 10 "Za duzo chetnych. Zapraszam innym razem"
MaxClientsPerHost 5 "Przystopuj! Za dużo połączeń z jednego IP."
<Limit WRITE MKD DELE RMD STOR>
DenyAll
</Limit>
<Limit LIST DIRS READ>
AllowAll
IgnoreHidden on
</Limit>
</Anonymous>


<Anonymous /home/ftpwacek/pubwacek>
User ftpwacek
Group ftpwacek
AnonRequirePassword on
RequireValidShell off
DisplayLogin welcome.msg
DisplayFirstChdir .message
GroupOwner ftpwacek
Umask 002
HideUser root
HideGroup root
HideNoAccess on
MaxClients 10 "Za duzo chetnych. Zapraszam innym razem"
MaxClientsPerHost 5 "Przystopuj! Za dużo połączeń z jednego IP."

<Directory /home/ftpwacek/pubwacek>
<Limit READ WRITE DIRS>
AllowAll
</Limit>
<Limit RMD>
  DenyAll
IgnoreHidden on
DefaultRoot ~

</Limit>
</Directory>
</Anonymous>
Dodane:
Teraz dostrzegłem coś dziwnego:

Kod: Zaznacz cały

ftpshut now "Serwer nie działa z powodu konserwacji."
Serwer powinien być offline i pokazać taki komunikat?
Zastanawiam się, czy być może proftp nie czyta pliku konfiguracyjnego?
Zmieniam ten: /etc/proftpd.conf
Nie mogę też odinstalować proftpd

Kod: Zaznacz cały

apt-get remove proftpd
E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
i

Kod: Zaznacz cały

apt-get upgrade
E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
Trochę całkiem teraz się namieszało.

Mógłby ktoś wkleić oryginalny konfig?

Odnośnie dpkg, pomogło:

Kod: Zaznacz cały

 dpkg --configure -a
ODPOWIEDZ