SFTP Chroot chrooted/에 쓰기

SFTP Chroot chrooted/에 쓰기

여기요,

/에 chroot된 사용자를 포함하여 글을 쓰고 싶지만 그럴 수 없습니다.

예: 나는 /home/sftponly/ChrootDirectory를 가지고 있습니다.

내부에는 이 사용자에 대한 권한이 있는 다른 디렉터리가 있어야 합니다. 그렇지 않으면 연결할 수 없습니다.

연결하는 사용자가 하위 디렉터리를 볼 수 없는 동안 쓰기 가능하도록 하고 싶습니다. 내가 뭘 잘못하고 있는지에 대한 조언이 있습니까?

내 sshd_config

Match User sftponly
  ChrootDirectory /home/sftponly
  ForceCommand internal-sftp
  AllowTcpForwarding no
  X11Forwarding no

답변1

내가 올바르게 이해했다면 사용자가 루트를 변경하는 동안 자신의 홈 디렉토리에 쓸 수 있기를 원할 것입니다.

chroot가 활성화된 상태에서 sftp를 사용하여 연결하면 다음과 같은 일이 발생합니다.

  • 사용자는 기본 "chroot" 디렉터리(여기서는 /home/sftponly) 로 루트가 지정됩니다.
    • 기본 chroot는 루트가 소유해야 하며 사용자는 읽기 전용이어야 합니다.
  • 그런 다음 사용자는 chroot됩니다다시/etc/passwd기본 chroot에서 시작하는 방법에 따라 그의 홈 디렉토리에 넣습니다 .이것홈 디렉토리는 사용자에게 쓰기 가능합니다.

따라서 /etc/passwd에 다음과 같은 줄이 있는 경우:

sftponly:x:1002:1002:,,,:/home/sftponly:/bin/bash

sshd는 사용자를 /home/sftponly/home/sftponly.

그래서 당신이꼭 필요하다이 정확한 경로로 chroot하려면 /home/sftponly기본 chroot를 sshd_config다음과 같이 설정해야 합니다 /home.

ChrootDirectory /home

그런 다음 홈 디렉토리를 설정하십시오.sftponly안으로 :/etc/passwd/sftponly

sftponly:x:1002:1002::/sftponly:/bin/bash

그러면 /home/sftponlysftponly 사용자가 쓸 수 있습니다. 문제 없습니다.

관련 정보