open-ssh를 사용하는 사용자를 위한 간단한 감옥

open-ssh를 사용하는 사용자를 위한 간단한 감옥

중복 가능성:
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

관련 정보