Ubuntu执行su - postgres输入登录密码提示认证错误的解决办法
解决Ubuntu中
su - postgres认证错误的问题 嘿,我来给你捋捋这个问题哈~你遇到的这个“您不是root用户”的认证错误,本质是Ubuntu的用户权限机制和postgres默认配置导致的,咱们一步步解决:
一、立刻能用的正确切换方法
你不需要死磕su - postgres,直接用sudo来切换就好——因为你安装Ubuntu时创建的普通用户默认拥有sudo权限,执行下面的命令:
sudo su - postgres
然后输入你自己的登录密码(就是你设置的ir****3),回车后就能成功切换到postgres用户的专属环境了。
或者也可以用更简洁的写法,效果完全一样:
sudo -u postgres bash
二、为什么原来的方法会报错?
咱们拆解下核心原因:
- Ubuntu默认锁定root账户:和其他Linux发行版不同,Ubuntu默认是禁用root直接登录的,普通用户没法直接用
su系列命令切换到其他用户(除非知道目标用户的专属密码)。 - postgres用户默认无密码/禁止密码登录:Ubuntu安装postgres时,默认不给postgres用户设置系统登录密码,还配置成了禁止用密码登录系统。你输入自己的用户密码去尝试切换postgres,自然会认证失败,弹出“您不是root用户”的提示。
三、如果想以后用su - postgres登录(可选)
要是你确实想通过su - postgres直接切换,那就给postgres用户设置一个系统登录密码:
- 先按上面的方法用sudo切换到postgres:
sudo su - postgres
- 执行下面的命令设置postgres的系统密码(把
your-new-password换成你想设的密码):
passwd
- 设置完成后,输入
exit退出postgres用户,之后再执行su - postgres,输入刚才设置的新密码就能成功登录了。
内容的提问来源于stack exchange,提问作者Ansh Gupta
相关产品推荐
相关产品推荐

