SFTP를 통해 수신된 파일에 대한 기본 권한 설정

SFTP를 통해 수신된 파일에 대한 기본 권한 설정

SFTP를 통해 다른 시스템에서 Linux VM의 디렉터리로 푸시된 파일을 받고 있습니다. 이 파일에는 잘못된 권한이 있습니다 u=rw g= o=. 하지만 u=rw g=rw o=.

/etc/ssh/sshd_conf다음과 같이 파일 조정을 제안하는 많은 기사를 읽었습니다 . Subsystem sftp internal-sftp -u 0002OR Subsystem sftp /usr/libexec/openssh/sftp-server -u 0002. 으로 서버를 다시 시작했습니다 sudo systemctl restart sshd. 그러나 이 설정을 변경해도 수신 파일에 대한 기본 권한에는 영향을 미치지 않습니다. 내가 뭐 놓친 거 없니?

답변1

sftp-server설정마스크서버 프로세스의 경우. umask는 서버 프로세스에서 생성된 파일에 대한 기본 권한에 영향을 미칩니다. SFTP 클라이언트는 명시적인 SFTP 프로토콜 명령을 보내 권한을 재정의하고 클라이언트가 요청한 대로 권한을 설정할 수 있습니다. 당신은 이것을 볼 수도 있습니다.

최신 버전에는 sftp-server개별 SFTP 프로토콜 메시지를 비활성화하는 "-P" 옵션이 있습니다. 이를 사용하여 파일 권한을 설정하기 위해 클라이언트가 보낸 명령을 비활성화할 수 있습니다. 두 메시지는 "setstat"와 "fsetstat"입니다. 이를 비활성화하려면 sftp-server또는 하위 시스템 줄 에 추가하세요 internal-sftp.

Subsystem sftp /usr/libexec/openssh/sftp-server -u 0002 -Psetstat,fsetstat
                                                        ^^^^^^^^^^^^^^^^^^

오류가 발생하면 "/usr/libexec/openssh/sftp-server -Q 요청"을 실행하여 지원되는 요청 유형을 나열해 보세요. 오류가 발생하면 SFTP 서버 소프트웨어가 너무 오래되어 "-P" 옵션을 지원하지 못할 수 있습니다.

변경한 후에는 SFTP 클라이언트(사용자가 사용하는 것과 동일한 클라이언트)로 테스트하여 변경 사항이 의도한 효과를 가져오고 SFTP 클라이언트가 적절하게 작동하는지 확인해야 합니다.

일부 문서:

관련 정보