Linux

普通使用者共享、讀寫、照片目錄樹

  • August 12, 2018

即我想要的是 Windows 的 Linux 等價物Public/Pictures

問題是當您將文件移動到文件夾/目錄(也不是舊的 set-group-id)**時,Linux 文件管理器 Nautilus 不會應用預設 ACL 。**即使在預期的情況下,文件一次只在一個目錄中,即它還沒有被硬連結到另一個目錄中。

因此,即使使用預設 ACL,也無法從插入的相機中拖動照片。其他使用者將能夠閱讀照片,但他們將無法寫入照片。它們在文件管理器中顯示為帶有掛鎖。

有趣的是,在這種情況下它沒有使用rename(),因為移動跨越了文件系統。在這種情況下,Nautilus 只是通過從源文件 :trollface: 重新應用權限來提供一致的語義。

不幸的是,在厭倦了指導其他使用者如何使用 Digikam 之後,我記起來太晚了。 (Digikam 工作,因為從卡中刪除照片是一個單獨的操作。所以照片必須複製,而不是移動)。我指示他們寫下關於使用文件管理器的說明。嘆。

所以我知道這不是預期的用途,即多使用者電腦並沒有真正得到滿足。但是有什麼明智的方法可以為我的其他使用者設置這個嗎?

我打折任何比文件管理器更難讓人們記住的方法(大約一個月)。不包括 Digikam;它有太多無意義的選擇,然後在從卡中刪除圖像之前要求確認,好像整個操作充滿了危險。(同樣不幸的是,使用我們的軟體,我們會看到“使用 Digikam 導入照片”彈出視窗不起作用)。

我還排除了任何無法將專輯名稱(包括日期)保存到文件系統的照片管理器。如果你不能導出到Digikam,那麼你就不夠信任讓我從Digikam導入!

環境:

  • Linux
  • Debian
  • 標準 GNOME 桌面

我忘記了別的東西。如果我無法寫入文件,我仍然可以刪除並替換它。 這正是保存文件的正確方法。(因為你必須fsync()在你擁有一個持久文件之前,你可以安全地用它替換舊文件)。

它似乎工作正常,你只需要忽略掛鎖:)。例如,我可以旋轉其他使用者複製的照片。

免責聲明:Digikam 似乎更新照片元數據不正確。所以這將靜默失敗(:trollface2 :),使(元數據)數據庫不一致。幸運的是,我現在不關心做標記,但這是我以後偶然發現的另一個小陷阱。

有趣的是,在這種情況下它沒有使用 rename() ,因為移動跨越了文件系統。在這種情況下,Nautilus 只是通過從源文件 :trollface: 重新應用權限來提供一致的語義。

我希望這是唯一的問題。但是我在複製時也獲得了相同的有效權限。如果我使用getfacl. 然而,它也顯示了一個“遮罩”,並且預設應用的 ACL 被遮罩有效地禁用。

甚至要讓複製工作……您不一定需要預設 ACL;從歷史上看,您將依賴使用者私有組模式,共享目錄被標記為 set-GID。

不幸的是,現代 GNOME 不是為多使用者系統開發的,有兩個問題破壞了它。

  1. udisks在代表使用者掛載 FAT 文件系統(如相機的 SD 卡)時使用古老的 unix 遮罩 0022。
  2. systemd 錯誤(或“RFE”lol):允許選擇“systemd –user”umask

例如,當您使用 cp 從 SD 卡中復製圖像時,cp 會複製原始模式,並以目前 umask 為上限。所以它受到這兩個問題的影響。(它可能會受到第一個問題的影響,因為您是從名為cp的服務內部執行的)。systemd --user``gnome-terminal-server.service

(這種情況的另一個方面是 Debian 從一開始就實現了 UPG,但是當他們實現 PAM 時破壞了 umask。雖然使用 PAM 配置解決這個問題要簡單得多,但它可能說明需求不足,也許它導致對 UPG 缺乏認識)。

問題 2 打破了UPG 的傳統用法,它依賴於umask0002 和 set-GID 共享目錄。

但是,當您在共享目錄上使用預設 ACL 時,它umask會被有效地覆蓋,並且問題 1 是“唯一”問題。

引用自:https://unix.stackexchange.com/questions/278396