Strona 1 z 1

[+] VSFTPD - lokalny użytkownik ze swoim własnym katalogiem widzianym z poziomu www

: 17 lutego 2012, 15:28
autor: Radek2212
Witajcie.

C
hcę osiągnąć taką oto konfigurację.

VSFTPD
  • Lokalny użytkownik, który ma swój katalog i nie może z niego wychodzić (żeby nie mógł przeglądać innych katalogów).
  • Ten katalog jest widoczny na www (bo zanim odbywa się transmisja FTP to jest wywoływane zapytanie do pliku XML znajdującego siew tym samym katalogu).
Jak to najprościej zrobić?

: 17 lutego 2012, 16:28
autor: woitek.d
W pliku /etc/vsftpd.conf znajdź

Kod: Zaznacz cały

chroot_local_user=YES
i jeśli jest wyłączone to włącz.

Dzięki tej opcji użytkownik nie będzie mógł wyjść poza swój katalog domowy.

: 17 lutego 2012, 16:55
autor: johanus
Oczywiście ustaw jeszcze

Kod: Zaznacz cały

 local_enable=YES 
no i warto wyłączyć konto anonymous czyli:

Kod: Zaznacz cały

 anonymous_enable=NO 

: 17 lutego 2012, 17:06
autor: Radek2212
woitek.d pisze:W pliku /etc/vsftpd.conf znajdź

Kod: Zaznacz cały

chroot_local_user=YES
i jeśli jest wyłączone to włącz.

Dzięki tej opcji użytkownik nie będzie mógł wyjść poza swój katalog domowy.
Oczywiście, oczywiście tylko, że wtedy jak niby ma dostać się do katalogu /var/www/html/mojastronawww?

Próba wejścia do tego katalogu wyświetla błąd.

Próbowałem też przenieść /var/www/html/mojastronawww do /home/użytkownik ale wtedy w przeglądarce mam:

Kod: Zaznacz cały

Forbitten acces

: 17 lutego 2012, 17:30
autor: johanus
A jak zmienisz w /etc/passwd katalog użytkownika na /var/www/html/stronaużytkownika?

: 17 lutego 2012, 17:31
autor: Radek2212
O, to jest już jakiś pomysł. Zaraz spróbuję.

: 17 lutego 2012, 17:39
autor: johanus
W /etc/passwd masz np.:

Kod: Zaznacz cały

jakiś[b]użytkownik[/b]:x:1001:1001:jakiś[b]użytkownik[/b]...:/home/jakiś[b]użytkownik[/b]:/bin/bash 
Zmień to na:

Kod: Zaznacz cały

jakiś[b]użytkownik[/b]:x:1001:1001:jakiś[b]użytkownik[/b]...:/var/www/html/strona[b]użytkownika[/b]:/bin/bash 
A jeśli to użytkownik tylko do potrzeb www więc niekoniecznie potrzebuje dostęp do powłoki a więc np.:

Kod: Zaznacz cały

 jakiś[b]użytkownik[/b]:x:1001:1001:jakiś[b]użytkownik[/b]...:/var/www/html/strona[b]użytkownika[/b]:/usr/bin/passwd 
Pamiętając, że w pliku /etc/shells musisz dodać tę definicję powłoki, czyli na końcu:

Kod: Zaznacz cały

 /usr/bin/passwd
W ten sposób, przy próbie logowania do powłoki na dzień dobry zostanie poproszony o zmianę hasła i tak naprawdę nigdy się do niej nie zaloguje, powłoka nologin zdaje się odpada bo wtedy nie zaloguje się też do ftp.

: 17 lutego 2012, 17:43
autor: Radek2212
Dziękuję za pomoc, zmieniłem katalog domowy i wszystko na razie wygląda dobrze.