Jak mogę utworzyć użytkowników ze zdalnym dostępem ftp na serwerze Linux?

11

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/falsenie mogą logować się przez ftp.

Nie rozumiem, w jaki sposób dostęp do powłoki wpływa na vsftpdserwer? 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/nologinw Ubuntu) i że nie powinno to wpływać na dostęp do ftp, ale w moim przypadku nie działa.

jmbouffard
źródło
Może być możliwe ustawienie na / bin / true
balki
Nigdy nie korzystałem z vsftpd, ale znalazłem rozwiązanie, które robi to, czego potrzebujesz. Nie wiem, czy to najlepsze rozwiązanie (myślę, że powinno działać, ale może jest coś lepszego).
pbm
Właśnie wypróbowałem / bin / true i to nie działa.
jmbouffard
Dzięki @pbm, ale nie jest to dokładnie to, czego szukam, ponieważ wolałbym używać prawdziwych użytkowników.
jmbouffard

Odpowiedzi:

12

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ę

/ usr / sbin / nologin

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.

jmbouffard
źródło
Czytałem gdzieś kilka dni temu, że to otwiera lukę w zabezpieczeniach. Wszyscy eksperci, którzy mogą to dla mnie wyjaśnić.
Navneil
0

Zbiór użytkowników z powrotem do shell /bin/false(lub jakiś inny nieważny shell), a następnie ustawić /bin/falsew /etc/shells.

Widzę poważny problem związany z bezpieczeństwem ustawienie /usr/sbin/nologinw /etc/shells. Dajesz FTP (i być może innym) dostęp do wszystkich demonów i loginów, które mają /usr/sbin/nologinswoją powłokę.

Jerry Callahan
źródło
1
Jak dokładnie? nologin istnieje, aby zezwolić, no cóż, nologin - z opcjonalnym dostosowanym komunikatem, /etc/nologin.txtaby użytkownik ftp mógł wiedzieć, że jest to tylko ftp lub coś takiego.
Dani_l
vsftpd jest tym, który chroni przed nieautoryzowanym dostępem poprzez posiadanie własnych list dostępu.
Dani_l 17.04.16