FTP 사용자로 로그인할 수 없는 이유는 무엇입니까?

FTP 사용자로 로그인할 수 없는 이유는 무엇입니까?

vsftpd를 설치한 후 내 시스템에 ftp 사용자가 생겼습니다. 이 계정에 비밀번호를 할당했습니다. 그러나 여전히 ftp 사용자로 로그인할 수 없습니다(명령줄에서는 ftp 프로토콜이 관련되지 않음).

su - ftp
password:
... still the previous user is logged on

사람들은 내가 왜 이런 짓을 하는지 궁금해할 것이다. 음, FTP를 통해 전체 파일 시스템을 노출하고 싶습니다. 사람들은 이렇게 하면 안 된다고 할 거예요.

답변1

ftp그 이유는 계정이 기본 셸을 갖 /bin/false거나 유사하기 때문일 가능성이 높습니다 .

$ getent passwd ftp
ftp:x:116:127:ftp daemon,,,:/srv/ftp:/bin/false

이는 보안 측면에서 좋은 생각은 아니지만 사용자 셸을 유효한 값으로 설정하려면 chsh다음과 같이 사용할 수 있습니다.

# chsh ftp /bin/bash
chsh ftp
Changing the login shell for ftp
Enter the new value, or press ENTER for the default
Login Shell [/bin/false]: /bin/bash

관련 정보