我可以與其他使用者共享我的主目錄中的文件夾嗎?
我可以與其他使用者共享我的主目錄中的文件夾嗎?
我在一個系統上有兩個使用者,
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
文件。我想正在發生的事情是:
- 該
~agent
目錄對守護程序不可執行。- 傳遞給守護程序的路徑包括
~agent
作為一個組件(例如,它是一個絕對路徑)。當一個程序訪問
/home/agent/incoming/foo
時,它必須對遍歷的所有目錄具有執行權限:/
、、和(如果其中一些是符號連結,則更多)/home
。/home/agent``/home/agent/incoming
如果守護程序
foo
在其目前目錄是 時訪問~agent/incoming
,它只需要對目前目錄(~agent/incoming
)本身俱有執行權限。您需要設法使該目錄成為目前目錄;chdir
要求程序有權訪問目標目錄。如果您在以(例如)agent
使用者身份執行時首先更改到所需目錄,然後執行類似su daemon -c daemon-command
.