배경

배경

sftp를 통해서만 ssh에 연결할 수 있는 사용자 myuser가 있습니다. 이 사용자가 항상 rwx-rwx-rx를 사용하여 파일을 생성하고 항상 Apache 그룹이 소유하게 되기를 바랍니다. 나는 umask를 사용하여 파일 권한 부분을 수행하려고 시도했지만 umask 파일과 디렉터리에서는 동일한 umask에 대해 다른 권한을 얻습니다. 도움을 주시면 감사하겠습니다.

답변1

배경

이것은 파일을 공유하는 데 있어 지속적인 문제입니다 sftp. 이는 결과 권한이 사용자 측 파일의 원래 권한을 기반으로 하고 umask( -u) 인수가 그러한 권한을 강제하지 않고 원하지 않는 권한만 제거하기 때문입니다. 즉 0777, 사용자가 권한이 있는 파일을 업로드하려고 시도하는 경우에만 해당 권한이 적용되어 으로 제거됩니다 0775. 그렇지 않으면 그대로 남아 있습니다. 예를 들어 사용자가 권한을 가지고 자신의 파일 시스템에 파일을 저장한 경우 0700업로드 후에도 해당 파일이 로 표시됩니다 0700.

해결책

-m최근 우리는 스위치를 사용하여 새로 업로드된 파일에 대한 정확한 권한을 강제하는 패치를 적용하여 Fedora에서 이 문제를 해결했습니다 sftp-server. 이는 다음과 같은 상위 버그를 기반으로 합니다.

https://bugzilla.mindrot.org/show_bug.cgi?id=1844

현재 사용 가능합니다.센트OS 7.2. 변경 로그에서:

 - Add sftp option to force mode of created files (#1197989)

해결 방법

cron잘못된 권한을 수정하는 일부 주기적 실행 스크립트( 의)를 제외하고는 다른 우아한 솔루션이 없습니다 . Bash에서는 한 줄짜리 내용이겠지만, 여러분도 몇 가지를 생각해 볼 수 있을 것 같습니다. 관심이 있으시면 이에 대해 더 자세히 설명하겠습니다.

inotify또는 변경 사항을 더 일찍 "잡기" 위해 사용할 수 있습니다 .


그룹은 상위 디렉터리에서 상속되어야 하는 것 아닌가요?

관련 정보