
중복 가능성:
SSH/SCP/SFTP 사용자를 특정 디렉터리로 제한
간단한 open-ssh 구성을 사용하여 사용자를 /home/%u 디렉터리로 제한할 수 있습니까? 인터넷에서 찾은 내용을 기반으로 다음을 수행했습니다. sshd_config 파일에 다음을 추가하여 서버를 중지했습니다.
Match group sftpusers
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
서버 시작
참고로 사용자를 sftpusers 그룹에 추가했습니다.
내 사용자는 여전히 내 시스템의 전체 파일 구조에 액세스할 수 있습니다.
open-ssh가 설치된 Ubuntu Server 12.04 LTS
답변1
Subsystem sftp internal-sftp
또한 ., 및 를 사용하여 다른 모든 전달을 비활성화 해야 합니다 ForceCommand internal-sftp
.
또한 sshd_config 매뉴얼 페이지에 명시된 대로 chroot할 디렉토리는 루트가 소유해야 하며 다른 사람이 쓸 수 없어야 합니다 /home/%u
.
아마도 당신은 다음을 원할 것입니다:
sudo mkdir -p /jail/home
sudo mount --bind /home /jail/home
그리고
ChrootDirectory /jail
또는 사용자를 자신의 디렉토리로 제한하려면 각 사용자에 대해 바인드 마운트를 수행해야 합니다.
cd /home
for u in */ do
sudo mkdir -p "/jail/$u/home/$u"
sudo mount --bind "$u" "/jail/$u/home/$u"
done
그리고 가지고
ChrootDirectory /jail/%u