par*_*cer 5 postgresql ubuntu sql database
我已经在 Ubuntu 上安装了 postgres 并将我切换到 postgres 用户。我已经打开psql创建了一个数据库,然后决定切换回root。但是,它不允许我:
sudo su -
Run Code Online (Sandbox Code Playgroud)
结果它问我
[sudo] password for postgres:
Run Code Online (Sandbox Code Playgroud)
我尝试输入只是为了得到
Sorry, try again
Run Code Online (Sandbox Code Playgroud)
然后我决定尝试使用以下答案更改 postgres 密码:
ALTER USER postgres WITH PASSWORD 'postgres';
Run Code Online (Sandbox Code Playgroud)
它看起来有效,但是在尝试再次切换到 root 后,它仍然不允许我。
看来您混淆了两件事:
postgres系统用户postgresSQL 数据库用户两者之间的唯一关系是,在 PostgreSQL 安装时,数据库用户postgres使用对等身份验证方法进行身份验证:数据库服务器检查请求访问数据库的系统postgres用户是否也称为数据库用户postgres。此外,数据库服务器本身以系统用户身份运行postgres。
不可能从数据库改变系统。为数据库帐户提供密码不会改变系统用户postgres没有sudo的事实,而且最肯定的是禁用密码,因此默认情况下只允许 root 使用它(但反之则不然)。
因此,如果您想成为root,则无法从postgres系统帐户执行此操作,这是一件好事:如果数据库服务器(其进程也以系统用户身份运行postgres)受到损害,将无法升级到root从系统帐户进行访问它。
只需再次登录您用于安装 postgreSQL 的帐户即可:直接登录该root帐户(通常在 Ubuntu 上不这样做)或(通常在 Ubuntu 上这样做)在安装系统时配置的用户,uid 1000,在 Ubuntu 上默认允许去做sudo su -。
| 归档时间: |
|
| 查看次数: |
4902 次 |
| 最近记录: |