SFTP 사용자가 여러 폴더에 액세스하지 못하도록 제한

SFTP 사용자가 여러 폴더에 액세스하지 못하도록 제한

매우 분명한 내용이 누락되었을 수도 있지만 사용자가 SFTP를 통해(사용자의 홈 디렉터리가 아닌) 액세스할 수 있는 폴더 목록을 지정할 수 있습니까?

예를 들어

Admin -> Full root access  
WebDev1 -> Access to the primary vhost folder and sub directories  
SysAdmin1 -> Access to all folders, except the vhost folder  
Manager1 -> Access to vhost folder, and phpMyAdmin install folder  

"Admin" 및 "WebDev1" 사용자에게는 제대로 작동하지만 다른 2명의 사용자에게는 작동하지 않습니다.

"Manager1" 사용자의 경우 다음 항목에 대한 액세스(하위 디렉터리 포함)를 허용하고 싶습니다.

/data/vhosts  
/usr/share/phpMyAdmin  

이것은 SSHD를 사용하는 Centos 7 시스템에 있습니다. 몇 시간 동안 혼란스러웠기 때문에 이 문제에 대한 도움을 주시면 감사하겠습니다.

답변1

당신이 하고 싶은 일과 관련된 키워드는SFTP chroot 감옥

sshd_config를 수정해야 합니다. 먼저 SFTP를 활성화하려면 해당 줄의 주석 처리를 해제하세요. 이는 다음과 같습니다.

Subsystem sftp /usr/lib64/ssh/sftp-server

sshd_config 하단에는 템플릿에 다음 중 일부가 주석 처리되어 있을 수 있습니다. 구체적으로 다음과 같은 것을 원할 것입니다.

# jail only user dave to folder /dave_sftp/
Match User dave
   ChrootDirectory /dave_sftp
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

# jail only user ron to folder /ron_sftp/
Match User ron
   ChrootDirectory /ron_sftp
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

# jail users that are in group sftp1_group to the folder /sftp1_group/
Match Group sftp1_group
   ChrootDirectory /sftp1_group
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

# jail users that are in group sftp2_group to the folder /sftp2_group/
Match Group sftp2_group
   ChrootDirectory /sftp2_group
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

특정 사용자를 특정 폴더로 제한하는 것은 매우 간단합니다. 귀하의 질문에 따르면다양한 사용자가 액세스할 수 있는 폴더 목록 지정, 그것은 단지 수동 작업 일 뿐이며 별도의 그룹을 만들고 사용하려는 특정 폴더와 일치시킨 다음 해당 사용자를 감옥 SFTP를 제공하려는 폴더와 일치하는 폴더에 넣습니다 관련 그룹에 입력하십시오 . 예를 들어 사용자를 및 dave그룹 모두에 배치하여 사용자가 여러 폴더에 액세스할 수 있도록 허용합니다.sftp1_groupsftp2_group

아주 좋은 예는 여기에서도 찾을 수 있습니다: https://serverfault.com/questions/591781/creating-sftp-users-and-jailing-to-chroot-on-centos-user-authentication-error

알아채다

chroot 홈 디렉토리 이전의 모든 폴더는 루트 사용자가 소유해야 하며 쓰기만 가능합니다. 폴더는 그룹별로 쓸 수 없습니다. 그룹이 루트 그룹인 경우에도 마찬가지입니다.

또 다른 예는 다음과 같습니다.https://askubuntu.com/questions/261663/how-can-i-set-up-sftp-with-chrooted-groups

관련 정보