Ubuntu에서 sftp를 설정할 때 권한

Ubuntu에서 sftp를 설정할 때 권한

좋아, Ubuntu 20.04에 SFTP 서버를 설정했습니다. sftp를 통해 상자에 액세스하는 여러 사용자가 있을 것이며, 각 사용자가 자신의 디렉토리에만 액세스할 수 있기를 바랍니다. 나는 그들이 다른 사용자의 디렉토리나 파일을 보고, 수정하고, 다운로드하는 등의 작업을 수행하는 것을 원하지 않습니다. 기본적으로 chroot 감옥 시나리오입니다.

나는 다음과 같은 폴더 구조로 끝났습니다.

/var/
|-- sftp/
    |-- user1/
        |-- uploads/
            |-- file1
            |-- file2
    |-- user2/
        |-- upoads/
            |-- filea
            |-- fil2b

/etc/ssh/sshd_config내용은 다음과 같습니다.

Match Group mygroup
ForceCommand internal-sftp
PasswordAuthentication yes
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

Match User user1
ChrootDirectory /var/sftp/user1

Match User user2
ChrootDirectory /var/sftp/user2

기본적으로 작동하지만 이해하지 못하는 몇 가지 측면이 있습니다.

분명히 SFTP 서버를 구성할 /etc/ssh/sshd_configChrootDirectory이를 root. 예를 들어 user1연결 하면 /var/sftp/user1폴더에서 실패합니다. 그들은 /var/sftp/user1/uploads물건을 업로드하고 다운로드할 수 있는 곳으로 가야 합니다 . 디렉토리 user1를 소유 하도록 설정했습니다 /var/sftp/user1/uploads. 사용자 입장에서는 다소 불편한 부분입니다. 루트 디렉토리에서 직접 작동하게 하는 방법이 있습니까?

확실하지 않은 또 다른 점은 /var/sftp/user1/var/sftp/user1/uploads폴더에 권한 755를 할당해야 한다는 것입니다. 다른 권한(777도 포함)을 사용하면 작동하지 않는 것 같습니다. 왜 그런 겁니까? 755의 특별한 점은 무엇입니까?

관련 정보