FTP에 로그인할 수 있지만 쉘이 없는 사용자를 Jessie에 추가하세요.

FTP에 로그인할 수 있지만 쉘이 없는 사용자를 Jessie에 추가하세요.

저는 vsftpd 서버를 설정하고 chroot를 사용하여 사용자를 홈 디렉토리에 잠그었습니다. 이는 훌륭하게 작동합니다. 이후 나는 passwd 파일을 편집하여 기본 셸을 로 설정 /bin/false하고 /user/sbin/nologin사용자가 SSH를 사용하여 로그인하고 내 폴더 구조를 보는 것을 방지하려고 시도했습니다(권한이 없더라도 rwx).

두 번째 옵션이 작동하지 않는다는 사실이 놀랍지는 않지만, /bin/sh기본 셸을 /bin/bash.

이 계정을 SSH 액세스가 아닌 FTP에 대한 유효한 로그인으로 만들려면 어떻게 해야 합니까?

답변1

셸이나 기타 액세스가 없는 FTP 액세스의 경우 vsftp는 가상 사용자를 지원합니다. 해결책은 기본적으로 PAM을 사용하여 다른 사용자 목록에서 작동하고 해당 목록을 따르도록 vsftpd 구성을 조정하는 것입니다. 자세한 기사는 다음과 같습니다.

기사에는 "db_util"이 필요하다고 언급되어 있습니다. 다음과 같이 Jessie에서 여러 버전을 찾을 수 있습니다.

apt-cache search '^db.*-util$'

답변2

OpenSSH 구성을 통해 다음에 대한 액세스를 비활성화할 수 있습니다 sshd_config.

DenyUsers joe bob

SSH가 허용된 사람들의 목록을 만들고 다른 모든 사람을 거부하는 것이 더 현명할 수도 있습니다.

AllowGroups wheel staff

또는 모든 FTP 사용자를 특정 그룹(예: nossh)으로 그룹화한 다음 이를 거부합니다. 항상 편집하는 것보다 그룹 멤버십을 변경하는 것이 더 쉽습니다 sshd_config.

DenyGroup nossh

이를 (Linux에서) 분할하는 또 다른 방법은 PAM 구성을 조정하는 것입니다. 예를 들어 pam_access.so( /etc/pam.d/ssh적절한 access.conf(5)구성 포함) FTP가 아닌 경우입니다.

관련 정보