Korzystam z serwera Ubuntu 10.04 LTS i chcę utworzyć użytkowników, którzy mogą uzyskać dostęp do serwera tylko z FTP.
Do tej pory robiłem:
- zainstalować
vsftpd
- Utwórz nowego użytkownika z domyślną powłoką logowania ustawioną na
/bin/false
Wszyscy normalni użytkownicy na serwerze mogą uzyskać dostęp do swojego folderu domowego przez ftp, ale użytkownicy, do których dostęp zdalny jest usuwany przez ustawienie go, /bin/false
nie mogą logować się przez ftp.
Nie rozumiem, w jaki sposób dostęp do powłoki wpływa na vsftpd
serwer? Jak mogę włączyć dostęp ftp bez ponownego włączania powłoki?
Aktualizacja:
Znalazłem to odniesienie, które stwierdza, że powinienem używać /sbin/nologin
(wydaje się, że jest /usr/sbin/nologin
w Ubuntu) i że nie powinno to wpływać na dostęp do ftp, ale w moim przypadku nie działa.
Odpowiedzi:
Nie wiem, czy dobrą praktyką jest odpowiadanie na moje pytanie, ale znalazłem proste rozwiązanie, które umożliwia logowanie przez ftp.
Musiałem dodać linię
do pliku / etc / shells. Zaraz po tej modyfikacji serwer ftp zaczął akceptować logowanie od użytkowników, dla których ustawiono powłokę / usr / sbin / nologin. Więc nie mogą się zalogować przez ssh, ale działa z ftp dokładnie tak, jak chciałem.
Dziękujemy za pomocne komentarze.
źródło
Zbiór użytkowników z powrotem do shell
/bin/false
(lub jakiś inny nieważny shell), a następnie ustawić/bin/false
w/etc/shells
.Widzę poważny problem związany z bezpieczeństwem ustawienie
/usr/sbin/nologin
w/etc/shells
. Dajesz FTP (i być może innym) dostęp do wszystkich demonów i loginów, które mają/usr/sbin/nologin
swoją powłokę.źródło
/etc/nologin.txt
aby użytkownik ftp mógł wiedzieć, że jest to tylko ftp lub coś takiego.