새로 생성된 파일/폴더가 상위 폴더의 사용자 및 그룹 소유인지 확인하세요.

새로 생성된 파일/폴더가 상위 폴더의 사용자 및 그룹 소유인지 확인하세요.

다른 질문을 살펴본 후 다음을 수행했습니다.

chmod g+s MEDIA 
setfacl -R -d -m g::rwx MEDIA 
setfacl -R -d -m o::rwx MEDIA 

참고: MEDIA는 추가된 모든 파일/폴더가 상위 폴더와 동일한 사용자/그룹을 갖도록 설정하려는 폴더입니다.

이 예에서 MEDIA는 Bob사용자 및 그룹이 소유합니다 SharedFiles. 목표는 새로 생성된 파일/폴더가 이 소유권을 유지하도록 하는 것입니다( BobSharedFiles:

MEDIA Bob SharedFiles
MEDIA/NewFolder Bob Bob   <BAD
MEDIA/NewFolder Bob SharedFiles   <GOOD

사용자 "Bob"으로 로그인한 동안 하위 폴더를 생성하면 해당 폴더는 예상대로 [rwxrwxrwx] 권한이 있는 Bob:SharedFiles의 소유가 됩니다. 문제 없다!

Sue로 로그인하면 새 폴더는 [rwxr-xr-x]를 사용하여 Sue:Sue의 일부가 됩니다.

KDE에 설치된 드라이브(사용자 Sue)를 통해 다른 컴퓨터에서 로그인하면 폴더는 [rwxr-xr-x]를 사용하여 Bob:Bob의 일부가 됩니다.

이제 Bob과 Sue는 둘 다 SharedFiles의 일부입니다. 제가 어디에서 잘못되었나요? SharedFiles 그룹의 모든 사용자에게 RWX 권한이 있고 SharedFiles 그룹의 사용자가 만든 모든 파일/폴더가 상위 폴더와 동일한 사용자/그룹을 가지기를 원합니다. 왜 이런 일이 컴퓨터 자체의 소유자에게만 발생합니까? 몸.

getfacl MEDIA/

반품

# file: MEDIA/
# owner: Bob
# group: SharedFiles
# flags: -s-
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx

samba.conf에는 다음이 포함됩니다.

[MEDIA]
 read only = no
 locking = yes
 path = /mnt/local/int001/MEDIA
 guest ok = yes
 create mask = 0775
 directory mask = 0775

답변1

Samba는 (계층적) NTFS 권한 스타일을 더욱 유사하게 모방하기 위해 파일에 자체 권한 및 소유권 개념을 적용하는 경향이 있습니다.

force user및 지시문을 포함하도록 Samba 정의를 확장하면 force groupSamba를 통해 공유에 생성된 모든 파일에 지정된 소유자와 그룹이 포함되도록 할 수 있습니다.

[MEDIA]
  read only = no
  locking = yes
  path = /mnt/local/int001/MEDIA
  guest ok = yes
  create mask = 0664
  directory mask = 0775
  force user = Bob
  force group = SharedFiles

그러나 사용자가 다른 사람이 소유한 파일을 생성하는 것은 불가능하기 때문에 로컬 사용자와 직접 동일한 작업을 수행할 수 없습니다. 여기 inotifywait에 도움이 올 수 있습니다. 디렉터리 계층 구조를 모니터링하고 새로 생성된 파일의 소유권을 변경하려면 시작 시 이를 설정합니다.

cd /mnt/local/int001/MEDIA || exit
inotifywait --monitor --recursive --event create --format '%w%f' . |
    while IFS= read -r file
    do
        if [[ -f "$file" || -d "$file" ]] && [[ ! -h "$file" ]]
        then
            chown Bob:SharedFiles "$file"
            chmod u+rw,go=u,o-w "$file"
        fi
    done

inotifywait솔루션을 사용하면 파일 시스템 ACL이 필요하지 않습니다.

개인적으로 저는 파일 소유권을 실제로 변경할 필요가 없다고 생각합니다. 지정한 ACL(및 force groupSamba의 해당 콘텐츠)은 디렉터리 트리의 모든 사용자가 . 일반 사용자는 정당한 이유로 거부됩니다 chown.

관련 정보