向当前用户授予其他用户的访问权限

向当前用户授予其他用户的访问权限

假设我有一个文件夹:

/home/admin/website.com/stats

上面的文件夹 chown 是admin:admin。我还有另一个带有/home/agent/googlechown 的文件夹agent:agent。该 stats 文件夹有一个从 Google 文件夹读取文件的脚本。因此,我想允许该 stats 文件夹访问 Google 文件夹。

我怎样才能做到这一点?

答案1

据我所知:

当您从 stats 文件夹启动脚本时,将启动此脚本的一个进程。在大多数情况下,此进程具有启动它的用户的用户 ID 和组 ID(除非在可执行文件上设置了 suid 或 sgid 位,否则它将具有脚本文件用户/组的用户 ID 和/或组 ID)。您可以键入“id”以查看使用哪个用户和组 ID 启动脚本。

它是尝试从 /home/agent/google 访问文件的进程。要访问 /home/agent/google 中的文件,该进程必须能够 1)“执行”该目录,2)从该目录读取特定文件。

对于目录,假设进程使用除代理之外的 userId 和 groupId 运行,则需要一个目录是全世界可读和全世界可执行的(如果不是,您可以执行 chmod +0005 /home/agent/google)。

对于该文件,为了能够读取它,您需要确保以下之一:

  1. userId(进程)为 0(root)(您可以以超级用户身份运行脚本,但通常这是一种不好的做法)
  2. userId(进程)==ownerId(文件) 并且文件具有所有者的读取权限。'chmod u+r file'
  3. groupId(进程)==groupID(文件) 并且文件对该组具有读取权限。(您可以使用“chmod g+r 文件”进行设置
  4. 文件具有世界读取权限。(您可以使用 chmod o+r 文件进行设置)

这有帮助吗?

答案2

取决于哪个用户正在访问文件。文件夹不会从另一个文件夹读取文件,用户会读取。示例 - 可能是阿帕奇如果你从浏览器运行脚本,它将访问你的文件,或者行政本身。为了简单起见,你可以只给出允许其他的谷歌目录 -

chmod u+r /home/agent/google

如果文件在谷歌文件夹也需要执行,然后 -

chmod u+rx /home/agent/google

相应地也更改文件的权限。

相关内容