Zablokowanie wyj

Konfiguracja serwerów, usług, itp.
Awatar użytkownika
shyte
Beginner
Posty: 165
Rejestracja: 04 grudnia 2009, 00:06

Zablokowanie wyjścia z katalogu i wyłączenie ssh

Post autor: shyte »

Witam.
Zainstalowałem sobie ftp za pomocą:

Kod: Zaznacz cały

apt-get install proftpd
Dodałem również tez nowego użytkownika:

Kod: Zaznacz cały

adduser kris
Logując się na ftp za pomocą np programu FileZilla.
Mogę chodzić po wszystkich katalogach etc,boot,bin i innych.

Wyczytałem ze trzeba to zablokować w pliku proftpd.conf.

W linii DefaultRoot ale jak to ma wyglądać dokładnie? Mój katalog logowania ftp to /home/kris.

A w pliku mam dopisane tak:

Kod: Zaznacz cały

 DefaultRoot            ~/home/kris
I nie działa.

Edycja:
Znalazłem trzeba było usunąć tylko znaczek # przed DefaultRoot.
Ale jeszcze konto kris ma dostęp do ssh jak to wyłączyć tylko dostęp ssh na to konto?
Awatar użytkownika
adasiek_j
Beginner
Posty: 141
Rejestracja: 24 kwietnia 2010, 22:24
Lokalizacja: Warszawa

Post autor: adasiek_j »

Zmień wpis:

Kod: Zaznacz cały

/bin/bash
na:

Kod: Zaznacz cały

/bin/false
w pliku

Kod: Zaznacz cały

/etc/passwd 
dla tego użytkownika.


Adam
Awatar użytkownika
shyte
Beginner
Posty: 165
Rejestracja: 04 grudnia 2009, 00:06

Post autor: shyte »

Tylko że wtedy na ftp nie mogę się zalogować, a chciałbym zabronić tylko ssh dla tego użytkownika.
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

W Linuxie symbolem katalogu użytkownika jest tylda. Dlatego powinno to wyglądać tak:

Kod: Zaznacz cały

DefaultRoot ~
Co do wyłączenia możliwości logowania do powłoki to należy w /etc/passwd zmienić powłokę tak jak napisał kolega, czyli:

Kod: Zaznacz cały

/bin/false
lub:

Kod: Zaznacz cały

/sbin/nologin
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Tylko, że po zmianie powłoki na /bin/false lub /bin/nologin nie zaloguje się też przez FTP, co zresztą już napisał.

shyte, masz kilka możliwości rozwiązania tego problemu:
  • w proftpd.conf zmienić RequireValidShell na off
  • dodać wybraną powłokę do pliku /etc/shells
  • w konfiguracji sshd zabronić danemu użytkownikowi logowania za pomocą dyrektywy DenyUsers
Wybierz co Ci pasuje ;)
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

Ja mam dla użytkowników:

Kod: Zaznacz cały

/sbin/nologin
i przez FTP mogą się logować bez problemu.
Awatar użytkownika
shyte
Beginner
Posty: 165
Rejestracja: 04 grudnia 2009, 00:06

Post autor: shyte »

Zanim lessmian2 napisałeś zmieniłem na /sbin/nologin oraz RequireValidShell na off
I restart serwera i teraz ssh mi nie działa, ftp działa, strona też i co ja mam teraz zrobić?
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

Ale przecież chciałeś wyłączyć dostęp do SSH dla użytkownika. Może wpisałeś /sbin/nologin dla użytkownika, którym próbujesz podłączyć się przez SSH.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

shyte, a po co restartowałeś cały serwer? ;)

Pacek, jesli masz wyłączone RequireValidShell lub dodane /sbin/nologin do /etc/shells, to i owszem, zalogujesz się. Inaczej przy domyślniej konfiguracji ProFTPd nie będzie to możliwe dla tej powłoki.
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

Niekoniecznie, bo mam:

Kod: Zaznacz cały

serwer:/etc/bind# cat /etc/shells
# /etc/shells: valid login shells
/bin/csh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/sh
/bin/bash
/bin/rbash
/bin/false
/usr/bin/screen
ODPOWIEDZ