ambari-server 的用户权限

user permission for ambari-server

如何向特定用户授予 运行 ambari-server 的权限?目前,我得到

mahmood@cluster:~$ ambari-server
/usr/sbin/ambari-server: line 47: /var/lib/ambari-server/ambari-env.sh: Permission denied
Using python  /usr/bin/python
Usage:
    {start|stop|restart|setup|setup-jce|upgrade|status|upgradestack|setup-ldap|sync-ldap|set-current|setup-security|setup-sso|refresh-stack-hash|backup|restore|update-host-names|check-database|db-cleanup|enable-stack}  [options]
    Use  <action> --help to get details on options available.
    Or, simply invoke ambari-server.py --help to print the options.

Ambari 默认为 root 安装。因此你必须 运行 它作为 root。这可以通过多种方式实现。我将解释使用 sudo 执行此操作的最佳方式(在我看来)。

概览:

  • 创建一个组并授予其用户使用 ambari-server 命令的权限。对于此示例,我们将创建一个名为 'ambari'.
  • 的组

步骤:

  1. 创建群组sudo groupadd ambari
  2. 使用 visudo 授予群组 运行 命令权限。 运行 sudo visudo 并将以下行中的 ONE 添加到文件末尾:

    %ambari ALL=(ALL) NOPASSWD: /usr/sbin/ambari-server

    %ambari ALL=(ALL) /usr/sbin/ambari-server

    注意:第一个选项不需要用户输入密码来执行命令。第二个选项将要求他们这样做。

  3. 将适当的用户添加到组中(例如 joe)

    sudo usermod -aG ambari joe

  4. ambari 组中的那些用户现在可以执行 sudo ambari-server start