作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们在Centos7上安装了一个postgres数据库服务器(10.3),并创建了一个名为“db_name”的数据库。我们有数据库访问权限。 pg_hba.conf中的设置如下:
# "local" is for Unix domain socket connections only
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
local replication all peer
host replication all 127.0.0.1/32 ident
host replication all ::1/128 ident
当我有 sudo 访问权限时,我可以访问数据库“db_name”。
[root@localhost bin]# sudo -s
[root@localhost bin]# psql -U db_name db_user
psql (10.3)
Type "help" for help.
db_name=>
当我尝试以普通 linux 用户身份访问数据库时,出现以下错误:
[linuxuser@localhost bin]# psql -U db_name db_user
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
我们想要限制某些用户 sudo 访问的原因是我们的报告专家需要访问数据库“db_name”,但我们不希望他们拥有执行其他操作的 sudo 权限。
我应该做什么样的设置才能让它工作?谢谢!
最佳答案
我找到了解决方案。问题的原因是不存在/var/run/postgresql/.s.PGSQL.5432 文件。默认情况下,unix_socket_directories 是在 postgresql.conf 中设置的 '/tmp'。
出于某种原因,普通 linux 用户不会查看/tmp/.s.PGSQL.5432,而是查看/var/run/postgresql/.s.PGSQL.5432 文件。
所以修复如下:
cd /var/run
mkdir postgresql
cd postgresql/
ln -s /tmp/.s.PGSQL.5432 .s.PGSQL.5432
以下命令也有效。
psql -h /tmp -U db_user db_name
关于postgresql - 如何使普通 linux 用户无需 sudo 访问权限即可访问 postgres 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50035569/
这实际上是我问的问题的一部分here ,该问题没有得到答复,最终被标记为重复。 问题:我只需使用 @Autowired 注释即可使用 JavaMailSender。我没有通过任何配置类公开它。 @Co
我是一名优秀的程序员,十分优秀!