원격 FTP 액세스만 수행할 수 있는 Linux 서버에서 사용자를 만드는 방법은 무엇입니까?

원격 FTP 액세스만 수행할 수 있는 Linux 서버에서 사용자를 만드는 방법은 무엇입니까?

저는 Ubuntu 10.04 LTS 서버를 실행하고 있으며 FTP에서만 서버에 액세스할 수 있는 사용자를 생성하고 싶습니다.

지금까지 내가 한 일은 다음과 같습니다.

  • 설치하다vsftpd
  • 새 사용자를 생성하면 기본 로그인 셸이 다음으로 설정됩니다./bin/false

서버의 일반 사용자는 FTP를 통해 홈 폴더에 액세스할 수 있지만, 원격 셸 액세스를 설정하여 제거한 사용자 /bin/false도 FTP를 통해 로그인할 수 없습니다.

쉘 액세스가 서버에 어떤 영향을 미치는지 이해할 수 없습니까 vsftpd? 쉘을 다시 활성화하지 않고 FTP 액세스를 활성화하는 방법은 무엇입니까?

업데이트:
알아냈어요이 참조내가 사용해야하고 /sbin/nologin(Ubuntu에있는 것 같음 /usr/sbin/nologin) FTP 액세스에 영향을 미치지 않아야한다고 제안하지만 내 경우에는 작동하지 않습니다.

답변1

내 질문에 대답하는 것이 좋은 습관인지는 모르겠지만 ftp 로그인을 활성화하는 간단한 솔루션을 찾았습니다.

한 줄을 추가해야 해요

/usr/sbin/nologin

이 수정 후 FTP 서버는 쉘이 /usr/sbin/nologin으로 설정된 사용자의 로그인을 허용하기 시작합니다. 그래서 그들은 ssh를 통해 로그인할 수 없지만 ftp에서 내가 원하는 방식으로 정확하게 작동합니다.

도움이 되는 의견을 보내주셔서 감사합니다.

답변2

사용자 셸 /bin/false(또는 다른 잘못된 셸)을 /bin/false다시 설정한 다음 /etc/shells.

나는 하나를 보았다기본/usr/sbin/nologin보안 질문이 로 설정되었습니다 /etc/shells. 모든 데몬과 셸 로그인에 FTP(및 기타) 액세스 권한을 부여합니다 /usr/sbin/nologin.

관련 정보