Ubuntu 11.04 서버에서 사용자를 FTP/ssh의 특정 디렉터리로 제한하여 상위 디렉터리에 액세스할 수 없도록 하고 싶습니다. 사용자를 생성 adduser username
하고 usermod -d /home/path/to/directory username
. 이것은 매우 잘 작동합니다.
제가 찾은 내용에 따르면 /etc/ftp/ftpaccess
파일을 수정해야 하는데 파일(및 ftp) 디렉터리가 존재하지 않습니다. 만들어보았지만 아무 것도 바뀌지 않았습니다. 나는 단지 제한하고 싶다.이것다른 사람이 아닌 사용자.
어떤 아이디어가 있나요?
답변1
가장 좋은 방법은 SSH에서 SFTP를 사용하고 사용자를 감옥에 가두는 것입니다.
파일에서:/etc/ssh/sshd_config
이 줄의 주석 처리가 해제되었는지 확인하세요.
Subsystem sftp internal-sftp
그런 다음 그룹과 일치하도록 규칙을 구성합니다.
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
마지막 관리 사용자:
# chown root.root /home/user
# usermod -d / user
# adduser user sftponly
답변2
조금 늦었지만 앞으로 다른 사람들에게 도움이 될 수 있습니다. VSFTPD를 설치하고 vsftpd.conf 구성 파일을 편집하여 다음을 포함하도록 했습니다:-
chroot_local_user=YES
allow_writeable_chroot=YES
편집 후 서비스를 다시 시작해야 합니다:-
service vsftpd restart
FTP 사용자는 추가 시 지정된 홈 디렉터리로 제한됩니다.
답변3
먼저 FTP 서버를 설치해야 합니다! 문서를 읽어보세요:
댓글에서 FTP 서버 중 하나를 선택해야 합니다.↓.. 또는 SSH가 이미 설치되어 있는 경우 SFTP를 사용할 수 있습니다. 이렇게 하려면 FTP 클라이언트에 다음을 입력하면 됩니다.
- 호스트: sftp://ssh_server_hostname_or_ip
- 로그인 이름: your_ssh_server_user_name
- 패스: your_ssh_server_user_password
SSH 사용자에 속한 모든 디렉토리를 읽고 쓸 수 있습니다.
답변4
/etc 디렉토리의 ftpaccess 파일에 guestuser 옵션을 추가합니다.