配置 sudo 自定义 (AEN 4.2.0)

如果您组织的 IT 安全策略不允许 root 访问或对使用 sudo 有限制,则在安装 AEN 后,您可以自定义 AEN 以满足他们的要求。

您的组织可以选择实施以下任何一项或所有措施:

将文件复制到服务器节点后,必须在终端窗口中完成这些自定义。

从服务帐户中删除所有 root 访问权限

由于需要 root 访问权限useradd,因此以下过程限制 AEN 管理用户帐户。

  1. 修改/etc/sudoers.d/wakari_sudo文件为:

    默认值:wakari !requiretty,visiblepw
    Runas_Alias     OP  = ALL,!root
    wakari ALL =( OP ) NOPASSWD: ALL
    

    注意:如果您使用 wakari 以外的服务帐户名称,请输入该名称而不是wakari

  2. 修改 /opt/wakari/wakari-compute/etc/wakari/config.json文件为:

    “MANAGE_ACCOUNTS”:假,
    

使用此选项意味着您的 IT 部门必须在操作系统级别创建和管理所有用户帐户。

存在操作系统级别的帐户后,您可以在主 AEN 网页上创建一个使用相同名称的 AEN 帐户。您选择的密码不会以任何方式与帐户的操作系统级密码相关联。

或者,您可以将系统配置为使用 LDAP 来验证用户

允许公共用户访问您的 AEN 项目

任何可以访问 AEN 服务器的人都可以看到公共帐户。此帐户的名称可以配置为您希望的任何名称。例如,publicanonymous

  1. /opt/wakari/wakari-compute/etc/wakari/config.json 文件中,将 ANON_USER 行修改为:

    “ANON_USER”“公开”
    
  2. /opt/wakari/wakari-server/etc/wakari/config.json 文件中,将 ANON_USER 行修改为:

    “ANON_USER”“公开”
    

有关配置键的更多信息,请参阅 使用配置文件

使用 sudo 替代方案

您可以使用 sudo 替代方案,只要它支持与原始 sudo 相同的执行语义。必须将替代方案配置为授予服务帐户代表 AEN 用户运行命令的权限。

  1. 在终端窗口中,打开 /opt/wakari/wakari-compute/etc/wakari/config.json文件。

  2. 将 AEN_SUDO_CMD 行修改为:

    "AEN_SUDO_CMD" : "/path/to/alternative/sudo" ,
    

    注意:如果备用 sudo 命令在 PATH 上可用,则不需要完整路径。

限制对单个网守的 sudo 访问

默认情况下,sudoers 配置为允许 AEN 以特定用户身份运行任何命令,从而允许平台以登录的最终用户身份启动进程。如果需要更严格的控制,则应使用合适的 sudoers 策略来实施。如果这不可能或不切实际,也可以通过单个网守路由所有 AEN ID 更改操作。

该守门人包装了所需的可执行文件,并提供了一种替代方法来记录、监视或控制 AEN 可以代表用户启动哪些进程。

注意:Gatekeeper 是一种特殊情况配置,应仅在需要时使用。

配置 AEN 网守:

  1. 修改/etc/sudoers.d/wakari_sudo文件以包含:

    默认值:wakari !requiretty,visiblepw
    Runas_Alias     OP  = ALL,!root
    wakari ALL =( OP ) NOPASSWD: /path/to/gatekeeper
    
  2. /opt/wakari/wakari-compute/etc/wakari/config.json 文件中,将 AEN_SUDO_SH 行修改为:

    "AEN_SUDO_SH" : "/path/to/gatekeeper"
    

示例:网守可以像包含以下内容的脚本一样简单:

#!/bin/bash 
first_cmd = $1 
if  [  'bash'  ==  $1  ] ;  然后
    shift 
    export  HOME = ~
     export  SHELL = /bin/bash
     export  PATH = $PATH :/opt/wakari/anaconda/bin
    bash " $@ " 
else 
    exec  $@ 
fi