Permissions

我可以與其他使用者共享我的主目錄中的文件夾嗎?

  • December 22, 2011

我可以與其他使用者共享我的主目錄中的文件夾嗎?

我在一個系統上有兩個使用者,agent並且daemon. 外部伺服器連接 asagent並 rsyncs 文件到~agent/incoming

我想daemon訪問其中的文件,~agent/incoming但我不想agent訪問任何daemon’s 文件。

我建立了一個名為的組automaton並將兩個使用者都添加到其中。然後我將~agent/incoming文件夾更改為drwxrws---(注意粘性位)並將該文件夾更改為agent:automaton.

程序執行並將新文件傳遞到incoming文件夾並設置為agent:automaton具有權限-rw-rw----daemon無法查看或複制這些文件:

stat: cannot stat (path here) : Permission denied

我究竟做錯了什麼?

您的問題很難準確回答,因為您沒有說出要傳遞給守護程序的路徑,也沒有指定~agent. 如果您在~agent/incoming目錄中啟動守護程序並傳遞相對路徑,那麼由於守護程序在automaton組中,它將能夠讀取、寫入和刪除目錄中的~agent/incoming文件。

我想正在發生的事情是:

  1. ~agent目錄對守護程序不可執行。
  2. 傳遞給守護程序的路徑包括~agent作為一個組件(例如,它是一個絕對路徑)。

當一個程序訪問/home/agent/incoming/foo時,它必須對遍歷的所有目錄具有執行權限:/、、和(如果其中一些是符號連結,則更多)/home/home/agent``/home/agent/incoming

如果守護程序foo在其目前目錄是 時訪問~agent/incoming,它只需要對目前目錄(~agent/incoming)本身俱有執行權限。您需要設法使該目錄成為目前目錄;chdir要求程序有權訪問目標目錄。如果您在以(例如)agent使用者身份執行時首先更改到所需目錄,然後執行類似su daemon -c daemon-command.

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