/var/www/html에서 사용자를 감옥에 가두는 방법은 무엇입니까?

/var/www/html에서 사용자를 감옥에 가두는 방법은 무엇입니까?

사용자(사용자 sftp-user, 그룹 웹 그룹)의 sftp 액세스를 CentOS 8의 /var/www/html 디렉토리로 제한하고 싶습니다. 웹 사이트 파일을 변경할 수 있도록 읽기 및 쓰기 권한이 있어야 합니다.

사용자를 홈 디렉토리에 성공적으로 감옥에 넣을 수 있었지만 /etc/ssh/sshd_config로 변경했을 때 ChrootDirectory %h제대로 작동하지 못했습니다. ChrootDirectory /var/www/htmlSFTP를 시도할 때 사용자에게 다음 오류가 표시됩니다.

fatal: bad ownership or modes for chroot directory "/var/www/html"

내가 한 일은 setfacl그룹 웹 그룹에 /var/www/html에 대한 rw-permissions를 부여하려고 시도한 것입니다(재귀적이지는 않지만 해당 폴더 내의 모든 것이 소유자입니다 sftp-user:group).

어떻게 작동하게 할 수 있나요? 제안된 몇 가지 솔루션을 보았지만 mount이것이 더 나은 솔루션인지 확실하지 않습니다.

또한 html폴더의 소유자는 내가 언급한 폴더의 소유이며 그 안의 모든 콘텐츠도 마찬가지입니다 root:root. sftp-user:webgroup이것이 올바른 소유권입니까?

완전성을 위해 출력은 다음과 같습니다 getfactl /var/www/html.

# file: html/
# owner: root
# group: root
user::rwx
group::r-x
group:webgroup:rw-
mask::rwx
other::r-x

감사해요.

답변1

나는 이것을 이해합니다. 여러가지 요인을 혼동하고 있는 것 같습니다. sftp작업 을 시도 하는 ACL동시에 문제를 잘못 진단하게 되었습니다. 모두 덕분에울리히 슈바르츠문제를 근본적으로 해결하기 위해서입니다.

이것이 작동하려면 경로에 있는 모든 디렉토리가 /var/www/html분명히 이를 요구하는 감옥이 소유하고 있는지 확인해야 했습니다.rootchroot

또 다른 문제는 이 문제를 해결하려고 했더니 권한이 html. 775으로 변경했더니 755아무 문제 없이 들어갈 수 있었습니다 sftp.ChrootDirectory

ACL앞쪽 에는 의 파일이 /var/www/html그룹에 속 apache:apache하고 사용자가 sftp-user그룹 에 속합니다 webgroup. 사용자에게 권한을 부여합니다 rwX.

setfacl -Rm u:sftp-user:rwX html

-m수정이고 -R재귀입니다.

관련 정보