일반 사용자에게 적합한 공유, 읽기 및 쓰기, 사진 디렉토리 트리

일반 사용자에게 적합한 공유, 읽기 및 쓰기, 사진 디렉토리 트리

즉, 내가 원하는 것은 Windows에 해당하는 Linux입니다 Public/Pictures.

문제는 파일을 폴더/디렉토리로 이동할 때 Linux 파일 관리자 Nautilus가 기본 ACL을 적용하지 않는다는 것입니다.(이전 세트 그룹 ID도 아님) 이는 파일이 한 번에 하나의 디렉터리에만 있는 예상되는 경우에도 마찬가지입니다. 즉, 다른 디렉터리에 하드 링크되지 않았습니다.

따라서 기본 ACL을 사용하더라도 연결된 카메라에서 사진을 드래그할 수 없습니다. 다른 사용자는 사진을 읽을 수는 있지만 쓸 수는 없습니다. 파일 관리자에 자물쇠와 함께 나타납니다.

rename()흥미롭게도 이 경우에는 이동이 파일 시스템 전체에 걸쳐 있기 때문에 사용되지 않습니다 . 이 경우 Nautilus는 소스 파일의 :trollface: 권한을 다시 적용하여 일관된 의미 체계를 제공합니다.

아쉽게도 다른 유저들에게 디지캄 사용법을 알려주느라 너무 늦게 기억해버렸네요. (Digikam은 카드에서 사진을 삭제하는 것이 별도의 작업이기 때문에 작동합니다.복사, 움직이는 것이 아니라). 나는 그들에게 파일 관리자 사용에 관한 메모를 쓰라고 지시했습니다. 한숨을 쉬다.

따라서 나는 이것이 의도된 용도가 아니라는 것을 알고 있습니다. 즉, 다중 사용자 컴퓨터는 아직 실제로 적합하지 않습니다. 하지만다른 사용자를 위해 이를 설정하는 합리적인 방법이 있습니까?

나는 파일 관리자보다 사람들이 기억하기 더 어려운 것(약 한 달)에 동의하지 않습니다. Digikam을 제외하면 무의미한 옵션이 너무 많아 마치 전체 작업이 위험하다는 듯이 카드에서 이미지를 삭제하기 전에 확인을 요청합니다. (또한 불행하게도 소프트웨어를 사용할 때 "Digikam으로 사진 가져오기" 팝업이 표시되지만 작동하지 않습니다.)

앨범명(날짜 포함)을 파일 시스템에 저장하지 못하는 사진 관리자도 제외했습니다. Digikam으로 내보낼 수 없다면 Digikam에서 가져올 수 있을 만큼 신뢰할 수 없는 것입니다!

환경:

  • 리눅스
  • 더반
  • 표준 그놈 데스크탑

답변1

다른 것이 있다는 것을 잊어버렸습니다. 파일에 쓸 수 없는 경우에도 파일을 삭제하고 교체할 수 있습니다. 파일을 저장하는 올바른 방법입니다. ( fsync()이전 파일을 안전하게 교체하려면 먼저 내구성 있는 파일이 있어야 하기 때문입니다.)

잘 작동하는 것 같습니다. 자물쇠를 무시하면 됩니다 :). 예를 들어 다른 사용자가 복사한 사진을 회전할 수 있습니다.

부인 성명:Digikam이 사진 메타데이터를 올바르게 업데이트할 수 없는 것 같습니다. 따라서 이 작업은 자동으로 실패하여(:trollface2:) (메타데이터) 데이터베이스를 일관성 없게 만듭니다. 운 좋게도 지금은 표시에 관심이 없지만 나중에 직면하게 될 또 다른 작은 함정입니다.

답변2

흥미롭게도 이 경우 이동이 파일 시스템에 걸쳐 있기 때문에 rename()을 사용하지 않습니다. 이 경우 Nautilus는 소스 파일의 :trollface: 권한을 다시 적용하여 일관된 의미 체계를 제공합니다.

이것이 유일한 문제이기를 바랍니다. 하지만 동일한 유효 권한을 얻으면복사게다가. 확인해 보면 기본 ACL이 실제로 적용되어 있습니다 getfacl. 그러나 "마스크"도 표시되며 기본 적용 ACL은 해당 마스크에 의해 효과적으로 비활성화됩니다.

얻기 위해서라도복사작동합니다... 역사적으로 의존했던 기본 ACL이 반드시 필요하지는 않습니다.사용자 비공개 그룹모드에서는 공유 디렉터리가 set-GID로 표시됩니다.

불행하게도 최신 GNOME은 다중 사용자 시스템용으로 개발되지 않았으며 두 가지 문제로 인해 문제가 발생했습니다.

  1. 유티카사용자를 대신하여 FAT 파일 시스템(예: 카메라의 SD 카드)을 마운트하는 경우 고대 유닉스 마스크 0022가 사용됩니다.
  2. systemd 오류(또는 "RFE" 하하):"systemd --user" umask 선택 허용.

예를 들어 cp를 사용하여 SD 카드에서 이미지를 복사하는 경우 cp는 현재 umask로 제한되는 원본 모드를 복사합니다. 그래서 두 가지 문제로 어려움을 겪습니다. ( 라는 서비스 내부에서 cp실행 중이므로 첫 번째 문제의 영향을 받을 수 있습니다.)systemd --usergnome-terminal-server.service

(이 상황의 또 다른 측면은 데비안이 초기에 UPG를 구현했지만 나중에 PAM을 구현할 때 umask를 깨뜨렸다는 것입니다. PAM 구성을 사용하여 이 문제를 해결하는 것이 훨씬 간단하지만 이는 수요가 부족하다는 것을 보여줄 수 있으며 결과적으로 부족을 초래할 수 있습니다. UPG에 대한 인식).

문제 2가 중단되었습니다.전통적인umask0002 및 set-GID 공유 디렉터리를 사용하는 UPG를 사용합니다 .

그러나 공유 디렉터리에서 기본 ACL을 사용하면 ACL이 umask효과적으로 재정의되고 문제 1이 "유일한" 문제입니다.

답변3

Docker 버그 댓글에서 제안된 또 다른 접근 방식을 보았습니다. 권한을 변경할 수 있는 FUSE 파일 시스템이 있습니다. FUSE를 사용하는 것만으로도 성능에 영향을 주지만FUSE는 생각보다 나쁘지 않습니다. 확인하다http://bindfs.org/

이미 그룹 /etc/fstab에 추가된 사용자를 허용하는 예제 라인 :photos

/home/photos /home/photos fuse.bindfs nofail,allow_other,force-group=photos,perms=g+wX

몇 줄의 코드로 해결할 수도 있습니다. 불행히도 이것은 완전히 사소한 연습이 아닙니다. 아래의 두 번째 링크는 파일 이름에 줄 바꿈(또는 당연히 백슬래시?)이 있어도 괜찮다면 작동합니다.

https://superuser.com/questions/139513/acl-and-moving-files-in-nautilus

http://positon.org/a-solution-to-the-umask-problem-inotify-to-force-permissions

관련 정보