Ograniczenie dest

Konfiguracja serwerów, usług, itp.
pablo15
Posty: 5
Rejestracja: 20 marca 2013, 19:10

Ograniczenie dostępu dla dodatkowego konta FTP.

Post autor: pablo15 »

Cześć.
Mam serwer vps z systemem Debian 6. Tworzę nowego użytkownika przez ssh, poleceniem:

Kod: Zaznacz cały

 adduser
i automatycznie tworzy się nowe konto ftp oraz nowy katalog w /home. Chciałem temu nowemu użytkownikowi udostępnić tylko ten jeden katalog oraz aby mógł używać programu screen z poziomu konsoli. Czy można coś takiego zrobić? Dodam jeszcze, że jestem w tych sprawach bardzo, bardzo początkujący.
Z góry dziękuję za odpowiedzi.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Nie napisałeś jaki serwer FTP masz zainstalowany. Jeśli jest to proftpd, ustaw odpowiednio opcję DefaultRoot. Po szczegóły odsyłam do podręcznika systemowego.

Mógłbyś też sprecyzować o jaki dokładnie dostęp Ci chodzi, bo z posta nie wynika dokładnie czy FTP, czy jednak powłoka np. przez SSH.
pablo15
Posty: 5
Rejestracja: 20 marca 2013, 19:10

Post autor: pablo15 »

To co napiszę pewnie jest śmieszne ale jak sprawdzić jaki mam serwer FTP? Wiem, że proftpd to na pewno nie jest, bo zainstalowałem go później, kiedy ftp już działał. Znaczy szukałem z pomocą Google informacji jak ograniczyć komuś dostęp przez ftp i znalazłem coś o proftpd to go zainstalowałem.

lessmian2 pisze: Mógłbyś też sprecyzować o jaki dokładnie dostęp Ci chodzi, bo z posta nie wynika dokładnie czy FTP, czy jednak powłoka np. przez SSH.
Chodzi mi głównie o dostęp FTP. Aby taki użytkownik X nie mógł wyjść poza obszar swojego katalogu domowego.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Kod: Zaznacz cały

netstat -ntlp | grep :21
W wyniku powinieneś mieć nazwę programu który słucha na 21 porcie (FTP).
pablo15
Posty: 5
Rejestracja: 20 marca 2013, 19:10

Post autor: pablo15 »

Wpisując w konsoli to co podałeś nie mam żadnej odpowiedzi. Ale co do portu to ja łącząc się z FTP np. przez FileZilla podaje port 22.
Więc zmieniłem

Kod: Zaznacz cały

netstat -ntlp | grep :21
na

Kod: Zaznacz cały

netstat -ntlp | grep :22
i otrzymałem takie cuś

Kod: Zaznacz cały

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      7739/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      7739/sshd
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

To Ty nie korzystasz z FTP a z SCP, i to jest spora różnica. Szukasz z pomocą Google

Kod: Zaznacz cały

chroot scp użytkownik
i działasz.
pablo15
Posty: 5
Rejestracja: 20 marca 2013, 19:10

Post autor: pablo15 »

Nie mam już sił do tego. Nie wiem czy to ja coś nie tak robię, czy coś innego jest nie tak.

Postępuję według tego poradnika i nie działa. Znaczy tworzy się konto ale nie idzie się na to konto zalogować ani przez ftp ani przez ssh. Może znajdzie się ktoś kto zechce to za mnie skonfigurować. Mogę nawet coś zapłacić bo bardzo mi na tym zależy.
Awatar użytkownika
Andyk
Beginner
Posty: 125
Rejestracja: 08 listopada 2008, 01:24

Post autor: Andyk »

Ja nie do końca rozumiem co chcesz osiągnąć. Bo poruszasz dwa tematy. Chcesz ograniczyć dostęp do katalogu domowego dla kont powłoki, czy chcesz ograniczyć dostęp przy użyciu sftp?

Ten poradnik dotyczy sftp, a w pierwszym poście napisałeś o wykonywaniu poleceń z konsoli.
Generalnie to zrobi tyle że ssh działać nie będzie. Zresztą tak jest w poradniku napisane.

Żeby Ci cokolwiek konfigurować to muszę wiedzieć czego chcesz, bo po przeczytaniu tego co napisałeś to nie wiem. Napisałeś, że działał serwer ftp, to po co instalowałeś proftpd? Kiepskim pomysłem jest szukanie z pomocą Google i instalowanie na oślep. SFTP nie ma nic wspólnego z FTP to jest inny protokół, żeby działał sftp nie potrzebujesz serwera ftp.

Kod: Zaznacz cały

Match group sftponly 
ChrootDirectory %h
 X11Forwarding no AllowTcpForwarding no 
ForceCommand internal-sftp
pablo15
Posty: 5
Rejestracja: 20 marca 2013, 19:10

Post autor: pablo15 »

Faktycznie może nie napisałem tego zbyt jasno. Najlepiej jeśli wytłumaczę do czego mi to potrzebne.

Użytkownik, którego utworzę, najpierw wgrywa swoje pliki przez FTP (czy tam sftp). Pliki te to serwer pewnej gry. Potem jak już wgra te pliki to loguje się przez ssh i uruchamia ten serwer poleceniem

Kod: Zaznacz cały

screen

Ogólnie rzecz ujmując, chodzi mi o to aby zabronić nowym użytkownikom wyścia poza ich katalog domowy i aby jednocześnie ci użytkownicy mogli logować się przez SSH.
Andyk pisze:Napisałeś, że działał serwer ftp, to po co instalowałeś proftpd?
Zainstalowałem proftpd bo lessmian2 napisał o opcji DefaultRoot. No to ustawiłem to na ,,~'' i niby działa ale tylko jeżeli użytkownik zaloguje się przez port 21. Jak się zaloguje przez port 22 to ma dostęp do całego drzewa katalogów.
Awatar użytkownika
Andyk
Beginner
Posty: 125
Rejestracja: 08 listopada 2008, 01:24

Post autor: Andyk »

Jak użytkownik użyje portu 22 to ma dostęp, bo tak jak napisałem wykorzystuje tu protokół ssh a nie ftp. Jak jesteś bardzo początkujący to się wziąłeś za wcale nie takie proste zadanie jak na początek.

To czego potrzebujesz to chroot SSH. Jest trochę materiałów na ten temat:
http://www.debian.org/doc/manuals/secur ... nv.en.html
http://sourceforge.net/projects/chrootssh/
http://olivier.sessink.nl/jailkit/
http://olivier.sessink.nl/jailkit/howtos_ssh_only.html
Spróbuj to trochę ogarnąć.
ODPOWIEDZ