Skip to content

Presto基于文件的账号密码开启

  1. 首先开启 presto 基于账号密码的验证设置
shell
http-server.authentication.type=PASSWORD
  1. 创建基于file的文件扫描

touch etc/password-authenticator.properties

shell
password-authenticator.name=file
file.password-file=/path/presto/etc/users.properties
file.refresh-period=1h
file.auth-token-cache.max-size=1000
  1. 生成账号和密码文件
shell
touch etc/users.properties

创建一个 root 用户,执行一下命令,将root用户和密码追加到 users.properties 文件中。

shell
htpasswd -B -C 10 users.properties root
  1. 开启系统表认证

touch etc/access-control.properties

shell
access-control.name=file
security.config-file=/path/presto/etc/rules.json

rules.json 文件内容如下:

json
{
  "catalogs": [
    {
      // admin有hive和system两个catalog的权限
      "user": "admin", 
      "catalog": "(hive|system)",
      "allow": true
    },
    {
      // 如无特殊设置,所有用户都有hive catalog的权限
      "catalog": "hive", 
      "allow": true
    },
    {
       // 除了指定设置的用户,其他用户都没有system catalog的权限
      "catalog": "system",
      "allow": false
    }
  ]
}