我正在尝试运行一行 PostgreSQL 命令来更改用户密码。我遇到了一个错误,似乎在任何地方都找不到解决方案。
root@linux:~# sudo -u postgres psql -c "ALTER USER myuser WITH PASSWORD 'myc00lpassword';"
could not change directory to "/root": Permission denied
我读到权限被拒绝错误是因为 postgres 用户对目录 /root 没有任何权限(因为我以 root 身份运行此命令)。
说得通。
那么我该如何修改命令,以便当我使用 sudo 时,它会采用 postgres 的环境?
我努力了:
root@linux:~# sudo su - postgres psql -c "ALTER USER myuser WITH PASSWORD 'myc00lpassword';"
psql: ALTER: command not found
and
root@linux:~# su - postgres psql -c "ALTER USER myuser WITH PASSWORD 'myc00lpassword';"
psql: ALTER: command not found