저는 Raspberry Pi3와 VSFTPD를 사용하여 FTP를 통해 디렉터리를 공유하고 있는데, 이를 통해 카메라가 디렉터리에 연결하고 사진을 전송할 수 있습니다.
또한 FileZilla나 다른 도구를 사용하는 경우 전용 폴더 외부의 파일을 탐색할 수 없도록 간단한 사용자와 비밀번호를 만들고 디렉터리를 루트로 지정했습니다.
문제는 해당 사용자를 사용하여 터미널(모니터, 키보드 등, SSH 없음)을 통해 로그인하면 원하는 곳 어디든 자유롭게 갈 수 있다는 것입니다. 이런 일이 발생하지 않도록 하는 방법이 있습니까?
난 노력 했어:
usermod --expiredate 1
passwd -l
usermod -s /sbin/nologin
하지만 이렇게 하면 계정을 사용할 수 없게 됩니다.
Jail/chroot 최종 사용자를 검색하면 "ssh"에 대한 결과만 나타납니다.
어떤 도움이라도 대단히 감사하겠습니다.
편집하다
계정을 사용할 수 없다고 말하면 터미널을 통한 로그인을 차단하지만(내가 원하는 것임) FTP를 통한 연결도 차단한다는 의미입니다.
편집 2
요점은 1명의 사용자에 대해 모든 것(FTP 폴더 제외)을 비활성화하는 것입니다. 해당 사용자가 아무것도 할 필요가 없거나 원하지 않습니다.
다른 프로토콜 없이 FTP만 사용하여 모든/대부분의 Wi-Fi 카메라를 찾아야 하는데 FTP가 최선의 선택입니다.
SFTP 및 SSH가 비활성화되었습니다.
답변1
특정 사용자에 대해 SSH(& 포함) 로그인을 비활성화하려면 scp
데몬을 추가하고 다시 시작하면 됩니다.sftp
DenyUsers <name of the ftp-only user>
/etc/ssh/sshd_config
sshd
FTP 전용 계정을 사용하여 로컬로 로그인할 가능성은 남아 있지만 시스템이 안전한 위치에 있는 경우 FTP 전송 실패 문제를 해결하는 데 실제로 유용할 수 있습니다.
FTP 전용 사용자 계정을 만드는 전통적인 방법은 사용자의 쉘을 로 설정하거나 입력을 허용하지 않고 즉시 종료되는 유사한 프로그램을 설정하는 것입니다 /sbin/nologin
./bin/false
또한 프로그램을 나열하십시오./etc/shells
.
비밀번호 확인 후 FTP 데몬이 수행하는 일반적인 확인은 "이 사용자가 ?에 나열된 쉘을 가지고 있습니까 /etc/shells
?"입니다. 최신 시스템에서는 FTP 데몬 자체가 아닌 PAM 구성을 통해 이를 수행할 수 있습니다.
유효한 "아무 것도 하지 않음" 셸(= 에 나열됨)로 사용자를 구성하면 /etc/shells
해당 계정은 FTP 사용에 유효하지만 실행하기 위해 셸이 필요한 모든 사용은 실패합니다. 왜냐하면 "아무 것도 하지 않음" 프로그램이 실행되기 때문입니다. 실제 쉘에서는 사용자의 입력을 받아들이지 않고 종료됩니다.
참고: 시스템에 시스템 암호 데이터베이스를 사용하고 셸 실행을 기반으로 하지 않는 다른 네트워크 서비스(예: IMAP 또는 POP3 메일 서버)가 있는 경우 "FTP 전용"을 명시적으로 거부하도록 해당 서비스를 구성해야 할 수도 있습니다. " 사용자.