在以用户身份更改密码时遇到问题,在没有管理员权限的情况下以用户身份更改密码时,我在文档中找不到任何内容。
我以用户abc
的身份登录并执行:
set password for "abc" = 'abc'
我收到:
ERR: error authorizing query: abc not authorized to execute statement 'SET PASSWORD FOR abc = [REDACTED]', requires admin privilege
是否可以以非管理员身份更改密码?
答案 0 :(得分:1)
是的,标准用户不应该这样做。您可以更改密码,如果未设置管理员权限,则不能更改其他人的密码。
假设有testuser
个没有管理员特权的标准用户和另一个名为admin
的具有管理员特权的用户。
如果您使用admin登录,则应该可以使用CLI更改任何人的密码:
set password for "testuser" = 'testing'
使用testuser
登录并更改管理员密码,当然会遇到en错误:
set password for "admin" = 'adminpass'
响应:
ERR: error authorizing query: testuser not authorized to execute statement 'SET PASSWORD FOR admin = [REDACTED]', requires admin privilege
即使您用testuser运行show users
,它也不会让您看到其他用户,并且是管理员权限。
ERR: error authorizing query: testuser not authorized to execute statement 'SHOW USERS', requires admin privilege
更改任何人的密码的解决方案:
CREATE USER "someuser" WITH PASSWORD 'somepassword' WITH ALL PRIVILEGES
但是它需要管理员权限。