기본 acl은 공유 디렉터리에서 원하는 권한을 생성하지 않습니다.

기본 acl은 공유 디렉터리에서 원하는 권한을 생성하지 않습니다.

두 명의 사용자가 디렉토리를 공유하려고 합니다. 두 사용자 모두언제나지정된 경로 아래의 모든 기존 파일과 새로 생성된 파일 및 하위 디렉터리에 대해 rw 권한을 갖습니다.

동일한 2개 그룹에 두 명의 사용자를 추가했습니다(사용자 www를 그룹 www 및 zip으로, 사용자 zip으로 또는 그 반대로).

이것이 내가 한 일입니다:

root@foo:/home/zip# mkdir -m 0775 testdir
root@foo:/home/zip# chown zip:zip testdir/
root@foo:/home/zip# chmod g+s testdir/
root@foo:/home/zip# ls -la
[...]
drwxrwsr-x  1 zip  zip             0 Jun 12 10:08 testdir

root@foo:/home/zip# getfacl testdir/
# file: testdir/
# owner: zip
# group: zip
# flags: -s-
user::rwx
group::rwx
other::r-x

root@foo:/home/zip# setfacl -R -d -m \
u::rwX,g::rwX,u:zip:rwX,g:zip:rwX,u:www:rwX,g:www:rwX,o::r,mask:rw testdir/

root@foo:/home/zip# getfacl testdir/
# file: testdir/
# owner: zip
# group: zip
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:user:www:rwx    #effective:rw-
default:user:zip:rwx    #effective:rw-
default:group::rwx      #effective:rw-
default:group:www:rwx   #effective:rw-
default:group:zip:rwx   #effective:rw-
default:mask::rw-
default:other::r--

그러나 이제 sftp(사용자 zip)를 통해 파일을 업로드하면 원하는 결과를 얻지 못합니다. sftp 프로세스 이름 umask은 업로드할 때 확인했습니다 0002./proc/$pid/status

사례 1: 권한 600으로 파일 업로드

root@foo:/home/zip/testdir# getfacl test.jpg
# file: test.jpg
# owner: zip
# group: zip
user::rw-
user:www:rwx        #effective:---
user:zip:rwx        #effective:---
group::rwx          #effective:---
group:www:rwx       #effective:---
group:zip:rwx       #effective:---
mask::---
other::---

마스크가 ---이고 유효 권한이 비어 있는 이유를 이해할 수 없습니다.최소한 지정된 사용자 권한이 유효해야 하지 않나요?내가 뭘 잘못했나요?

시나리오 2: 파일 업로드660

root@foo:/home/zip/testdir# getfacl test2.jpg
# file: test2.jpg
# owner: zip
# group: zip
user::rw-
user:www:rwx        #effective:rw-
user:zip:rwx        #effective:rw-
group::rwx          #effective:rw-
group:www:rwx       #effective:rw-
group:zip:rwx       #effective:rw-
mask::rw-
other::---

그래서 이것은 잘 작동하는 것 같습니다.

이것은 btrfs (rw,relatime,compress=zlib:3,space_cache,subvolid=5,subvol=/) volume (kernel 5.4.0).

관련 정보