chroot 사용자가 "cd .."를 사용하지 못하도록 비활성화하는 방법

chroot 사용자가 "cd .."를 사용하지 못하도록 비활성화하는 방법

나는 파일에 대한 사용자의 액세스를 제한하고 싶었기 때문에(그의 디렉토리 바로 외부) chroot를 사용하고 로그인할 때 제한된 디렉토리를 그의 로그인 디렉토리로 만들었습니다.
그러나 이렇게 하면 cd ..사용자는 자신의 디렉터리 외부의 모든 항목에도 액세스할 수 있습니다. 이 상황을 피하는 방법은 무엇입니까?

나는 이것을 사용했습니다 :

adduser --home Rest_folder --shell /bin/bash --no-create-home --ingroup www-data --ingroup ssh rest_user

답변1

SSH를 사용할 때 SFTP라는 하위 시스템을 사용할 수 있습니다(FTPS와 혼동하지 마세요). SFTP는 사용자가 cp, mv, , ls, cd... 와 같은 일반적인 파일 작업을 수행할 수 있는 셸을 제공합니다 mkdir. rm그러나 chroot 환경으로 인해 SFTP에 있는 다른 프로그램에는 /bin이러한 방식으로 액세스할 수 없습니다. 이 chroot 환경은 SSH 데몬에 의해 설정되므로 세부 사항에 얽매일 필요가 없습니다.

SSH 사용자에 대해 chroot를 구성하려면 주로 다음 위치에 있는 sshd 구성 파일에 넣으십시오 /etc/ssh/sshd_config.

Match User rest_user
  ChrootDirectory /home/rest_user
  ForceCommand internal-sftp

이 로그인에 대해 추가 플래그를 설정할 수도 있습니다.

  AllowTCPForwarding no
  X11Forwarding no

자세한 내용은 매뉴얼 페이지를 참조하십시오 sshd_config (5).

관련 정보