Unix 权限检查

Unix Permissions Checks

假设我的服务器 's' 是 运行ning 作为 'a' 用户并且它正在接收来自 'b' 用户的查询。我的服务器 's' 是否可以检查 'b' 用户是否有权以用户 'c' 的身份访问 运行 脚本 web_scrape.py?

其中,

  1. 's' 是 Java 服务器,
  2. 'b' 是人类 unix 用户,
  3. 'a' 和 'c' 是软件 unix 用户。

没有。除非用户 aroot,或者具有 sudo ALL 权限。

如果 aroot 或具有 sudo ALL 权限,那么它可以使用 sudo -U <user> --list <command> 来确定 <user> 是否被允许 运行 sudo <command>.

请注意,实际上服务器或脚本是用什么语言编写的并不重要。服务器需要能够告诉 OS 到 运行 一个 sudo 命令,但大多数语言都能够做到这一点。 (在 Java 中,您可以正常使用 ProcessProcessBuilder 等。)

$ id -u b

如果值等于 0 则 b 是根用户