我可以与其他用户共享主目录中的文件夹吗?

我可以与其他用户共享主目录中的文件夹吗?

我可以与其他用户共享主目录中的文件夹吗?

我的系统上有两个用户,agent并且daemon.外部服务器连接为agent文件并将文件同步到~agent/incoming

我想要daemon访问 中的文件,~agent/incoming但我不想agent访问 的任何daemon文件。

我建立了一个名为 的组automaton并将两个用户添加到其中。然后我将该~agent/incoming文件夹 chmod 为drwxrws---(注意粘滞位)并将该文件夹 chown 为agent:automaton.

该进程运行并将新文件传送到该incoming文件夹​​并设置为agent:automaton具有权限,-rw-rw----daemon无法查看或复制这些文件:

stat: cannot stat (path here) : Permission denied

我究竟做错了什么?

答案1

您的问题很难准确回答,因为您没有说明要传递给守护进程的路径,也没有指定~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.

答案2

即使他有“~agent/incoming”的权限,“~agent/”文件夹中的守护进程也没有权限,所以它是权限层次结构,请参阅此关于分层目录权限的问题

相关内容