chroot 디렉토리 "/var/www"에 대한 잘못된 소유권 또는 모드

chroot 디렉토리 "/var/www"에 대한 잘못된 소유권 또는 모드

auth.logSFTP를 사용하여 사이트에 연결하려고 하면 다음 오류가 발생합니다 .

치명적: chroot 디렉토리 "/var/www"에 대한 소유권 또는 모드가 잘못되었습니다.

ls -ld이 디렉토리의 내용은 다음과 같습니다.

drwxrwxr-x 4 루트 sftponly 4096 8월 12일 04:05 /var/www/

보시다시피 저는 그룹에 모든 권한을 부여했습니다 sftponly. SFTP에 연결하는 사용자는 그룹 mysftpuser의 일부입니다 sftponly.

다음을 수행하면 연결할 수 있지만 내부의 파일이나 폴더 이름 바꾸기, 편집, 삭제, 덮어쓰기는 할 수 없습니다.www

sudo chmod 755 /var/www/

sshd_config내 설정 은 다음과 같습니다.

일치 그룹 sftponly
ChrootDirectory /var/www
X11Forwarding no
AllowTcpForwarding no
ForceCommand 내부 sftp

간단히 말해서 sudo chmod 755 /var/www/연결은 가능하지만 읽기 전용 모드에서만 가능합니다. sudo chmod 775 /var/www/연결조차 허용하지 않습니다.

이 문제를 해결하는 방법은 무엇입니까?

답변1

필요한 명령은 다음과 같습니다.

usermod -d /var/www/ sftponly
usermod -s /sbin/nologin sftponly
usermod -s /bin/false sftponly

모든 사용자에게 모든 폴더에 대한 권한을 부여하는 가장 좋은 방법은 ACL입니다.

setfacl -Rm "u:sftponly:rwx" /var/www/
setfacl -Rdm "u:sftponly:rwx" /var/www/

답변2

귀하의 권한이 SFTP에 대해 너무 허용적인 것 같습니다. 사용자를 위한 폴더를 생성하고 해당 사용자가 0700 권한 또는 그보다 더 제한적인 권한으로 액세스할 수 있도록 해야 합니다.

자세한 내용은 이 질문의 답변을 참조하세요. 서버 결함 질문

관련 정보